Forside

 

skydebanen.net

 

Webmail Trafik Forum
 
  Print side
Web-vaskeri

Dette dokument beskriver teknikken bag web-vaskeriet i AB Skydebanen.

 


Web-vaskeri
Formål og funktion
Styrepanel
Webserver
Netværkssikkerhed
Materialeomkostninger
Deltagere
Rettigheder
Kildekode

Formål og funktion

I andelsboligforeningen AB Skydebanen er det ikke muligt at reservere maskiner i fællesvaskeriet. Det sker derfor at beboerne undertiden tager turen fra deres lejlighed til vaskeriet med al deres vasketøj for blot at opdage at alle maskiner er optaget, og at de er gået forgæves.

 

Det har derfor været dette projekts formål at gøre det muligt for beboerne i AB Skydebanen at se på en webside om der er ledige maskiner i fællesvaskeriet og få et overblik over hvornår man med fordel kan begive sig til vaskeriet.

 

Systemets muligheder er forholdsvis begrænsede: Det er muligt at se om en maskine er ledig eller i brug og, så fremt det sidste er tilfældet, hvor længe den har kørt. Systemet giver ingen mulighed for at foretage reservationer, dels af tekniske årsager, men også fordi det heller ikke på andre måder er muligt at foretage reservationer.

 

Det er tanken at systemet også skal kunne bruges til at indsamle statistik over hvor mange maskiner som er i brug hvornår og dermed være med til at sætte fokus på at der er perioder hvor vaskeriets kapacitet langt fra er udnyttet. Denne facilitet er endnu ikke implementeret.

 

Ideen til dette projekt er ikke mindst foranlediget af at AB Skydebanen i december 1999 fik installeret et lokalnetværk med Internetadgang i hele ejendommen.

 

Al kildekode i projektet er OpenSource og systemet baserer sig i videst muligt omfang på OpenSource komponenter.

 


Styrepanel

Web-vaskeriet består af tre komponenter: Vaskeriets eksisterende styrepanel, en mini-PC og en webserver.

 

Styrepanelet nærmer sig at være 10 år gammelt og har ingen veldefinerede grænseflader for kommunikation til omverdenen. Det har derfor været nødvendigt at indskyde en PC der kan fungere som bindeled mellem vaskeriets styrepanel og foreningens Ethernet-baserede lokalnetværk.

 

Som PC benyttes den dansk-udviklede Linux In A Box (LIAB) - en dansk udviklet computer på kun 10 gange 16 cm som benytter Linux som operativsystem. LIAB'en er baseret på Intels 386ex CPU og blandt andet udstyret med 16 I/O porte og en Ethernet-port som gør det muligt at forbinde den direkte til AB Skydebanens lokalnetværk.

 

LIAB'ens I/O porte er koblet til de lamper som sidder på styrepanelets forside ved hjælp af en række optokoblere. Formålet med optokoblerne er at sikre at de to kredsløb er elektrisk adskilt. Der er ikke lavet et egentligt printkort til optokoblerne, men komponenterne er monteret på et stykke veroboard og forbundet med ledninger.

 

LIAB'en aflæser status på styrepanelet og videresender denne information til webserveren over HTTP ved hjælp af et program skrevet i C. Programmet benytter biblioteket rhttp til at håndtere HTTP-forespørgelsen og startes hvert minut som et cron-job.

 

Valget af HTTP som transportprotokol er dels begrundet ved at det er nemmere end selv at skulle håndtere TCP/IP sockets m.m., dels er der praktisk taget altid åbnet for denne protokols standard port på firewalls. Endvidere er det nemt at benytte scriptsprog som f.eks. PHP på webserveren til at modtage data, og man har således kraftfulde værktøjer til rådighed til at gemme og håndtere data.

 


Webserver

Som webserver anvendes Apache med PHP-understøttelse. Der bruges to PHP-scripts til vaskerisystemet. Et PHP-script bruges til at gemme informationerne fra LIAB'en i en MySQL-database, mens et andet script sørger for at hente oplysningerne fra databasen og præsentere dem for brugerne.

 

For at sikre sig imod at opfindsomme beboere kan føde systemet med falske data beregnes en md5-checksum på baggrund af en hemmelig token som deles af LIAB og webserveren.

 

Checksummen beregnes først på LIAB'en, sendes med i dataoverførslen og beregnes så igen på webserveren hvor den sammenlignes med den overførte. De to værdier skulle gerne være ens, ellers må det antages at data enten er ændret undervejs eller kommer fra en kilde der ikke kender det hemmelige token.

 


Netværkssikkerhed

Webserveren er placeret i en demilitariseret zone (DMZ), hvilket vil sige at den kan ses fra både lokalnetværket og fra Internettet. LIAB'en er placeret på lokalnetværket og det er således kun muligt at oprette forbindelser fra LIAB'en til webserveren, mens der er spærret for forbindelser i den modsatte retning.

 


Materialeomkostninger

De indvolverede parter (se nedenfor) har alle bidraget til projektet med deres gratis arbejdskraft hvorfor projektets udgifter udelukkende er de indkøbte materialer. Priserne ser cirka sådan ud:

 

LIAB 

 3.000,-

Strømforsyning

 100,-

32 MB 72 pin DRAM

  600,-

Optokoblermodul

 500,-


I alt

  4.200,-

 

 


Deltagere

Projektet har involveret flere organisationer og personer som skal have ros og tak for deres deltagelse:

 

AB Skydebanen og AB Skydebanens bestyrelse som har givet tillladelse til at gennemføre projektet og ikke mindst støttet det finansielt.

 

H.E.C. Electronic, og ikke mindst Erik Nielsen. Dette er firmaet der har udviklet vaskeriets styrepanel. Erik Nielsen har fra starten været positiv over for vores ideer og har sørget for gratis indbygning af LIAB og opto-elektronik i styrepanelet.

 

Mads Bondo Dydensborg, DIKU, har stået for programmeringen af LIAB'en.

 


Rettigheder

For de dele af systemet som udvikles af eller for skydebanen.net tilhører rettighederne den enkelte udvikler og distribution af arbejdet vil ske efter betingelserne i Gnu Public License.

 


Kildekode

Kildekoden som er blevet udviklet i forbindelse med projektet er frit tilgængelig her:

 

Projektets Kildekode.