211service.com
Sensornetværk til dummies
Sun Microsystems har annonceret et projekt, der kan lægge let-at-administrere sensornetværk i hænderne på almindelige computerprogrammører over hele verden - og hjælpe med at gøre netværkssensorer mere udbredte. En verden fuld af sensorer er en verden, hvor f.eks. bygningsklimaet er mikrokontrolleret, rum bliver levende med lys og musik, når folk kommer ind i dem, og ældre familiemedlemmers helbred overvåges på afstand.
I maj begynder virksomheden at sælge sin egen sensorhardware – gadgets på størrelse med et lille sæt kort, der kan konfigureres til at registrere temperatur, lys og bevægelse – samt et operativsystem, der bruger det almindelige computersprog Java, som allerede har en programmørbase på over fire millioner mennesker. Ifølge virksomheden kunne dette sensorudviklingssæt, kaldet Sun SPOT (Small Programmable Object Technology), skabe innovative sensorapplikationer og fremskynde løsninger på nogle af de vedvarende udfordringer – såsom udvikling og fejlfinding af sensorprogrammer – der hidtil har bevaret teknologien fra at være allestedsnærværende.
[Klik her for billeder af en Sun SPOT-sensor og dens komponenter.]
Sensornetværk er samlinger af noder, nogle gange så små som millimeter i længde eller diameter, der består af små computerprocessorer, hukommelsesenheder og radioer, der transmitterer og modtager information mellem enheder. Disse netværk lover meget for at udføre opgaver såsom overvågning og regulering af de barske miljøer i industrianlæg, kontrol af hjemme- og kontorklimaer (se Hvor giver sensorer mening) og sporing af pakkernes tilstand.
Meget forskning på dette område er blevet udført i løbet af de sidste par år (se 10 nye teknologier, der vil ændre verden ), fra virksomheder, herunder Sun, Intel og Siemens, til akademiske programmer ved University of California i Berkeley og Los Angeles og Harvard Universitet, for at nævne nogle få. Og startups, som f.eks Human og Armbrøst teknologi , sælger teknologien til applikationer lige fra bildiagnostik til slagmarksovervågning.
Selv med så meget opmærksomhed er nutidens sensorer dog notorisk svære at udvikle og fejlfinde, siger Roger Meike, seniordirektør hos Sun Labs. For det meste er det stadig en specialiseret opgave at rode med en sensors funktionalitet, overladt til datalogieksperter.
Programmering af sensorer er så svært, delvist fordi mange af dem bruger et styresystem kaldet TinyOS. Selvom det er softwarefundamentet for tusindvis af sensorforskningsprojekter, kræver det kendskab til det relativt komplekse programmeringssprog C. Hvad værre er, når først et TinyOS-program er etableret til et sensornetværk, er det mere eller mindre permanent, forklarer Mani Srivastava , en elektroingeniør ved UCLA. Hvis du vil ændre en lille del af netværkets funktion, siger han, skal du starte forfra. Derudover skal hver detalje af sensoren nøje overvejes ved programmering, fra hvornår strøm skal spares til hvor mange beregninger der skal udføres før data sendes over netværket.
Java – et programmeringssprog udviklet hos Sun i 1990 – giver nogle klare fordele, siger Roger Meike, seniordirektør hos Sun Labs. For det første er det velkendt af et stort fællesskab af programmører, og det har allerede haft succes i applikationer til andre små enheder såsom mobiltelefoner.
Men i modsætning til mobiltelefoner kører Java til Sun SPOT-sensorer, kaldet Java 2 Micro Edition, direkte på hardwaren og fungerer som et operativsystem. Det betyder, at Java-programmører kan skrive et program, indlæse det på enheden, køre det og debugge det med grundlæggende programmeringskendskab til Java, siger Meike. Hardwaren og softwaren er designet til at arbejde sammen, siger han, hvilket gør det nemt at omkonfigurere Java-sensorerne til forskellige opgaver i modsætning til TinyOS. Java styrer også strømressourcer godt, ifølge Meike, en vigtig funktion, da nogle sensorer skal være tændt hele tiden. Java har styr på et lille batteri, og det kan være meget smart med, hvornår man skal sætte systemet i dvale, siger han.
Sun SPOTs Java løber direkte tør for flashhukommelse, en type lagring, der ikke bruger så meget strøm som RAM-hukommelse. Dette reducerer behovet for årvågenhed om, hvordan man bedst fordeler ressourcer. Desuden tillader Java-platformen, at applikationer stoppes midt i driften og flyttes til en anden enhed, forklarer Meike. Så du kan forestille dig, at hvis batteriet dør på én enhed, kan du flytte din applikation til en anden.
Denne mobilitetsfunktion er især vigtig for fejlfinding af sensorens hardware og software, hvilket i høj grad er et mareridt, siger Srivastava, der har udviklet et sensoroperativsystem ved UCLA kaldet SOS . Bugs kan virkelig bringe noget ned, tilføjer han. Derfor er det nyttigt at kunne overføre en funktionsfejl applikation til en computer, hvor den kan rettes, noget Sun SPOT er i stand til at gøre.
Men Srivastava bemærker også, at Java er et tungt programmeringssprog, hvilket betyder, at det kræver mere hukommelse end TinyOS eller SOS. Faktisk kræver Suns nye sensorer en 32-bit central processorenhed, i modsætning til 8-bit sensorprocessorer, der kan køre TinyOS. Derudover har Suns sensorer 512 kilobyte RAM, 4 megabyte flashhukommelse, en 2,4 gigahertz radio og et USB-interface – hvilket gør dem til veritable goliater sammenlignet med de fleste sensorer.
Men store sensorer kunne være nyttige, siger Matt Welsh , professor i datalogi ved Harvard. Det er klart, at du i enhver virkelig applikation vil ende med en mangfoldig population af enheder, siger han. Du har måske et stort antal trådløse sensorer med meget lav effekt, men du har også brug for enheder, der kan indsamle information, behandle og samle data. Sun SPOT-enheden ser ud til at kunne være en god kandidat til den trådløse enhed. Det er dog usandsynligt, siger han, at Java vil erstatte TinyOS eller SOS for de mindste sensorer.
Suns Meike forventer, at processorer, hukommelsesenheder og radioer vil fortsætte med at skrumpe, og Suns sensorer vil ikke være så store om et par år. Tendenserne fortæller os, at disse enheder vil blive mere dygtige, bemærker han. I mellemtiden, siger Meike, vil de smarte applikationer, som Java-programmører vil udtænke, være klar til fremtidige generationer af mindre sensorer.
Meike mener, at leg med sensorer vil give en overbevisende oplevelse for Java-amatører og studerende. Det betyder, at Java-programmører kan have en enhed, der passer i deres håndflade, siger han. I stedet for at programmere stationære computere kan de programmere hele verden.