Sensornetwerken voor dummies

Sun Microsystems heeft een project aangekondigd dat eenvoudig te beheren sensornetwerken in handen kan geven van gemiddelde computerprogrammeurs over de hele wereld, waardoor netwerksensoren vaker voorkomen. Een wereld vol sensoren is een wereld waarin bijvoorbeeld bouwklimaten microgecontroleerd zijn, kamers tot leven komen met licht en muziek als mensen ze binnenkomen en de gezondheid van oudere gezinsleden op afstand in de gaten wordt gehouden.





In mei begint het bedrijf met de verkoop van zijn eigen sensorhardware – gadgets ter grootte van een klein pak kaarten die kunnen worden geconfigureerd om temperatuur, licht en beweging waar te nemen – evenals een besturingssysteem dat gebruikmaakt van de gemeenschappelijke computertaal Java, die al heeft een programmeursbasis van meer dan vier miljoen mensen. Volgens het bedrijf zou deze sensorontwikkelingskit, genaamd Sun SPOT (Small Programmable Object Technology), innovatieve sensortoepassingen kunnen creëren en oplossingen kunnen versnellen voor enkele van de slepende uitdagingen - zoals het ontwikkelen en debuggen van sensorprogramma's - die tot nu toe de technologie hebben behouden. van alomtegenwoordig zijn.

[ Klik hier voor afbeeldingen van een Sun SPOT-sensor en zijn componenten.]

Sensornetwerken zijn verzamelingen knooppunten, soms zo klein als millimeters in lengte of diameter, die bestaan ​​uit kleine computerprocessors, geheugenapparaten en radio's die informatie tussen apparaten verzenden en ontvangen. Deze netwerken zijn veelbelovend voor het uitvoeren van taken zoals het bewaken en reguleren van de ruwe omgevingen in industriële fabrieken, het regelen van thuis- en kantoorklimaten (zie Waar sensoren zinvol zijn) en het volgen van de staat van pakketten.



Er is de afgelopen jaren veel onderzoek op dit gebied gedaan (zie 10 opkomende technologieën die de wereld zullen veranderen), van bedrijven als Sun, Intel en Siemens tot academische programma's aan de University of California in Berkeley en Los Angeles en Harvard. Universiteit, om er maar een paar te noemen. En startups, zoals Menselijk en Kruisboogtechnologie , verkoop de technologie voor toepassingen variërend van autodiagnose tot monitoring op het slagveld.

Zelfs met zoveel aandacht blijven sensoren van tegenwoordig notoir moeilijk te ontwikkelen en te debuggen, zegt Roger Meike, senior director bij Sun Labs. Het rommelen met de functionaliteit van een sensor blijft voor het grootste deel een gespecialiseerde taak, die wordt overgelaten aan informatica-experts.

Het programmeren van sensoren is zo moeilijk, deels omdat veel van hen het besturingssysteem TinyOS gebruiken. Hoewel het de softwarebasis is voor duizenden sensoronderzoeksprojecten, vereist het kennis van de relatief complexe programmeertaal C. Erger nog, als een TinyOS-programma eenmaal is opgezet voor een sensornetwerk, is het min of meer permanent, legt uit Mani Srivastava , een elektrotechnisch ingenieur aan de UCLA. Als je een klein deel van de functie van het netwerk wilt wijzigen, moet je opnieuw beginnen, zegt hij. Bovendien moet elk detail van de sensor nauwgezet worden overwogen bij het programmeren, van wanneer stroom moet worden bespaard tot hoeveel berekeningen moeten worden uitgevoerd voordat de gegevens over het netwerk worden verzonden.



Java – een programmeertaal die in 1990 door Sun is ontwikkeld – biedt een aantal duidelijke voordelen, zegt Roger Meike, senior director bij Sun Labs. Ten eerste is het goed bekend bij een enorme gemeenschap van programmeurs en is het al succesvol geweest in toepassingen voor andere kleine apparaten zoals mobiele telefoons.

Maar in tegenstelling tot mobiele telefoons, draait Java for Sun SPOT-sensoren, genaamd Java 2 Micro Edition, rechtstreeks op de hardware en fungeert als een besturingssysteem. Dit betekent dat Java-programmeurs een programma kunnen schrijven, het op het apparaat kunnen laden, uitvoeren en debuggen, met elementaire programmeerkennis van Java, zegt Meike. De hardware en software zijn ontworpen om samen te werken, zegt hij, waardoor de Java-sensoren gemakkelijk opnieuw kunnen worden geconfigureerd voor verschillende taken, in tegenstelling tot TinyOS. Java gaat ook goed om met energiebronnen, vindt Meike, een belangrijke feature, aangezien sommige sensoren altijd aan moeten staan. Java heeft de controle over een kleine batterij en het kan heel slim zijn om het systeem in de slaapstand te zetten, zegt hij.

Java van Sun SPOT heeft direct geen flash-geheugen meer, een type opslag dat niet zoveel stroom verbruikt als RAM-geheugen. Dit vermindert de noodzaak van waakzaamheid over de beste toewijzing van middelen. Bovendien maakt het Java-platform het mogelijk om applicaties halverwege te stoppen en naar een ander apparaat te verplaatsen, legt Meike uit. Je kunt je dus voorstellen dat als de batterij van het ene apparaat leeg raakt, je je applicatie naar een ander kunt verplaatsen.



Deze mobiliteitsfunctie is vooral belangrijk voor het debuggen van de sensorhardware en -software, wat een nachtmerrie is, zegt Srivastava, die aan de UCLA een sensorbesturingssysteem heeft ontwikkeld met de naam Sos . Bugs kunnen echt iets naar beneden halen, voegt hij eraan toe. Daarom is het handig om een ​​defecte applicatie over te zetten naar een computer waar het gerepareerd kan worden, iets waar Sun SPOT toe in staat is.

Maar Srivastava merkt ook op dat Java een zware programmeertaal is, wat betekent dat het meer geheugen vereist dan TinyOS of SOS. De nieuwe sensoren van Sun vereisen inderdaad een 32-bits centrale verwerkingseenheid, in tegenstelling tot de 8-bits sensorprocessors die TinyOS kunnen uitvoeren. Bovendien hebben de sensoren van Sun 512 kilobyte RAM, 4 megabyte flash-geheugen, een 2,4 gigahertz-radio en een USB-interface - waardoor ze echte goliaths zijn in vergelijking met de meeste sensoren.

Maar grote sensoren kunnen handig zijn, zegt Matt Welsh , hoogleraar computerwetenschappen aan Harvard. Het is duidelijk dat je bij elke echte toepassing een diverse populatie van apparaten krijgt, zegt hij. Je hebt misschien een groot aantal draadloze sensoren met een zeer laag vermogen, maar je hebt ook apparaten nodig die informatie kunnen verzamelen, verwerken en gegevens kunnen aggregeren. Het Sun SPOT-apparaat lijkt een goede kandidaat te zijn voor dat draadloze apparaat. Het is echter onwaarschijnlijk, zegt hij, dat Java TinyOS of SOS gaat vervangen voor de kleinste sensoren.

Sun's Meike verwacht dat processors, geheugenapparaten en radio's zullen blijven krimpen en dat de sensoren van Sun over een paar jaar niet zo groot zullen zijn. De trends vertellen ons dat deze apparaten steeds capabeler zullen worden, merkt hij op. In de tussentijd, zegt Meike, zijn de slimme toepassingen die Java-programmeurs gaan bedenken klaar voor toekomstige generaties kleinere sensoren.

Meike denkt dat het spelen met sensoren een boeiende ervaring zal zijn voor Java-hobbyisten en studenten. Dit betekent dat Java-programmeurs een apparaat kunnen hebben dat in de palm van hun hand past, zegt hij. In plaats van desktopcomputers te programmeren, kunnen ze de hele wereld programmeren.

zich verstoppen