|
SAMWC-projekt Lagt p 23/02-04 Nu er det vist ved at være længe siden, jeg sidst har skrevet et indlæg, så det må jeg hellere gøre nu. Denne gang vil jeg fortælle om det projekt, jeg deltager i i faget Software Architecture for Mobile and Wearable Computing. Faget handler om softwarearkitektur og er praktisk anlagt, så næsten al arbejdet i faget sker gennem projektet.
Ligesom i IRTS-projektet er det samlede projekt delt op i tre delprojekter, og samlet set skal systemet hjælpe folk i sygehussektoren med deres arbejde i marken. Falck-mænd, læger, hjemmesygeplejersker og så videre udstyres med en computer, de kan gå med hele tiden, og målet er så, at de hele tiden har de data, de skal bruge.
Kommer en hjemmesygeplejerske for eksempel hjem til en patient, vil patientens data automatisk (via GPRS) blive hentet fra en server, så sygeplejersken kan se dem. Patienten identificeres ved hjælp af sin mobiltelefon, som desuden indeholder medicinske data - eksempelvis blodtryksmålinger taget siden sidst, sygeplejersken var på besøg.
Mobildelen
Den del af projektet, som min gruppe har med at gøre, er patientens mobiltelefon. Vi skal have telefonen til at 'opdage', når der er medicinsk udstyr i nærheden. Dermed kan udstyret sende sine målinger til mobiltelefonen, som så har ansvaret for at gemme resultaterne af målingerne.
Til at opdage andet udstyr bruger vi Bluetooth, som er en trådløs teknologi skabt til at lave såkaldte Personal Area Networks - altså netværk, som omgiver en person. Rækkevidden for Bluetooth-sendere er mellem 10 og 100 meter, så det er altså kun udstyr forholdsvis tæt på senderen i (i dette tilfælde) mobiltelefonen, der kan kommunikeres med.
Bluetooth bruges for eksempel til at lave trådløs forbindelse fra en mobiltelefon til et headset, så man ikke behøver have telefonrøret ved øret, når man snakker. Et andet eksempel på nytten af Bluetooth er en person, der ankommer til en lufthavn. Er der en printer i lufthavnen, vil personens PDA automatisk opdage det, og så kan ejeren skrive et dokument ud, hvis han har brug for det. I vores tilfælde skal der altså skabes forbindelse fra mobiltelefonen til noget medicinsk udstyr, så data kan overføres.
Udover forbindelsen til det medicinske udstyr skal mobiltelefonen også kunne opdage hjemmesygeplejerskens mobile computer og overføre de medicinske data dertil, så sygeplejersken kan se, hvordan det står til med patienten. Dataene sendes så videre til serveren, så den er up-to-date. Vores arbejde går ud på at få data ud af en blodtryksmåler, sende dem til en mobiltelefon, når den er blevet opdaget, gemme dataene på mobiltelefonen, og sende dem videre til sygeplejersken, når hun kommer indenfor rækkevidde.
Denne opgave kan uheldigvis ikke programmeres i Java, fordi Java-APIet (Application Programming Interface) til Bluetooth kun understøttes af den allernyeste udgave af Symbians operativsystem, som kun findes i tre slags telefoner: Nokia 3650, 6600 og 7650. Ingen af os har sådan en telefon, og da vi ikke kan låne en af universitetet, må vi bruge et C++-API, som og stilles til rådighed i lidt ældre telefoner.
Kineserne
C++ er ikke nær så enkelt at programmere i som Java er, og især ikke når man ikke har brugt det i tre år, som det er tilfældet for mig. For at gøre det hele endnu værre, er jeg blandt andet kommet i gruppe med to kinesiske udvekslingsstuderende. Først og fremmest virker de ikke rigtigt til at have den store erfaring med softwareudvikling, de kender ikke til almindelige begreber som Bluetooth, GPRS og sockets, og deres programmeringserfaring lader til at kunne ligge på et meget lille sted. Ydermere virker de ikke synderligt interesserede i projektet, men det værste er, at de knap nok snakker engelsk.
Når vi har gruppemøder siger de stort set ingenting og stiller heller ingen spørgsmål, så man er hele tiden i tvivl, om de har forstået noget som helst af det, vi har snakket om. De er meget frustrerende at være i gruppe med, men heldigvis har vi kunnet dele arbejdet en smule op, så de to kinesere tager sig af blodtryksmåleren. Denne del af projektet er der ikke andre grupper, der er afhængige af, så hvis det ikke kommer til at virke, er det ikke noget stort problem.
Resten af gruppen - hvilket vil sige Araz, Ergin og mig - tager os så af de vigtige dele, altså Bluetooth-kommunikation og det at lave programmer til en mobiltelefon. Det er meget spændende at prøve at lave kode til en mobiltelefon, hvor der er store krav til ydelse og hukommelsesforbrug, fordi ressourcerne er små. Især skal man tage sig i agt, når man bruger hukommelse, for glemmer man at rydde op efter sig, kan telefonen pludselig være fyldt op med gamle data, som ikke bliver brugt. Dermed kan andre programmer ikke køre ordentligt, og man blive nødt til at slukke telefonen for at rydde op i hukommelsen, hvilket er ret upraktisk.
Vi har kun godt to en halv uge til vi skal afleverede projektet, fordi faget kun kører i første kvarter (et halvt semester), så vi har rimeligt travlt, hvis vi vil aflevere noget ordentligt. Det er også en stor del af grunden til, at det er længe siden, jeg har været aktiv på forfatterfronten. Udviklingen af projektet kan i øvrigt følges på projektets hjemmeside. |