Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
32 bit ARM-7 CPU
#1

32 bit ARM-7 CPU
Based on a 32 bit ARM-7 CPU and an 11 channel 2.4GHz radio, Sun SPOT radically simplifies the
process of developing wireless sensor and transducer applications. The platform enables developers t
build wireless transducer applications in JavaTM using a sensor board for I/O, an 802.15.4 radio for
wireless communication, and use familiar Integrated Development Environments (IDEs), such as Net-
BeansTM to write code.
The Sun SPOT system uses JavaTM technology to up-level programming. Developers can write a pro-
gram in Java, load it on a wireless sensor device, run it, debug it, as well as access low-level mecha-
nisms with standard Java IDEs. The inherent portability of JavaTM makes it simpler to migrate applica
tions among platforms and enables developers to build new wireless sensors devices using off-the-she
hardware components. Java also eliminates or streamlines many of the low-level tasks of traditional de
velopment languages such as C, and for the millions of developers who already write code in Java
there is little additional learning curve for building wireless sensor/transducer programs.
The Sun SPOT system features the Squawk VM, a small J2METM virtual machine (VM) written almos
entirely in Java. It provides the ability to run wireless transducer applications on the metal, (directly on
the CPU without any underlying OS), saving overhead and improving performance. End users also gai
the flexibility to experiment with different implementations of low-level services, such as networking
Java Sun SPOTs A White Paper by Vertoda Copyright Sykoinia Limited 2009 1
Java Sun SPOTs A White Paper by Vertoda Please Read before reading this White Paper This white paper is not distributed under a GPL license. Use of this This white paper is copyrighted white paper is subject to the following terms: by Sykoinia Limited. Copyright Sykoinia Limited 2009. All Rights Reserved. You may create a printed copy of this white paper solely for your own personal Conversion to other formats is allowed as long as the actual content is use. You shall not publish or distribute this not altered or edited in any way. white paper in any form or on any media, except if you distribute the white paper in a manner similar to how Sykoinia Limited and Vertoda disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the white paper is disseminated Any other use, such as any together with the software on the same medium. dissemination of printed copies or use of this white paper, in whole or in part, in another publication, requires the prior written consent from an authorised Sykoinia Limited reserves any and all representative of Sykoinia Limited. rights to this white paper not expressly granted above. For more information on the terms of this license or if you are interested in doing a translation, please contact us at [email protected]. If you find a typographical error in this white paper or if you have thought of a way to make this white paper better please contact us at [email protected]. Please note that this white paper is for informational purposes. Sykoinia Limited accepts no responsibility for any loss due to the use of this white paper. If you have any comments please email us at [email protected] with your feedback. Copyright Sykoinia Limited 2009 2
Java Sun SPOTs A White Paper by Vertoda Copyright Sykoinia Limited 2009 3
Java Sun SPOTs A White Paper by Vertoda Abstract This white paper presents an evaluation of Java Sun SPOTs. The feasibility of encrypting or signing data for transmission from Java Sun SPOT Sensors using Elliptic Curve Cryptography or Identity Based Encryption is also assessed. Copyright Sykoinia Limited 2009 4
Java Sun SPOTs A White Paper by Vertoda Table of Contents Table of Figures.. 6 Glossary.. 7 1. Wireless Sensor Networks: An Overview.. 8 2. Java Sun SPOTs: An Overview ..9 3. Encryption & Java Sun SPOTs..13 4. Conclusion..14 References ..15 Copyright Sykoinia Limited 2009 5
Java Sun SPOTs A White Paper by Vertoda Table of Figures Figure 1: Sun SPOT Manager..10 Figure 2: Solarium Experimental Framework ..11 Figure 3: Netbeans New Project Dialog ..12 Copyright Sykoinia Limited 2009 6
Java Sun SPOTs A White Paper by Vertoda Glossary API Application Programming Interface CD Compact Disc ECC Elliptic Curve Cryptography HTTP Hypertext Transfer Protocol IBE Identity Based Encryption IDE Integrated Development Environment ID Identity/Identification J2ME Java Micro Edition Jar Java Archive OS Operating System SDK Software Development Kit SPOT Small Programmable Object Technology SSL Secure Sockets Layer UI User Interface USB Universal Serial Bus VM Virtual Machine WPAN Wireless Personal Area Network WSN Wireless Sensor Network Copyright Sykoinia Limited 2009 7
Java Sun SPOTs A White Paper by Vertoda 1. Wireless Sensor Networks: An Overview A Wireless Sensor Network (WSN) is a network that consists of small sensors that monitor and record the physical conditions of an environment. Measurements include temperature, light, pressure and the detection of pollutants. Possible commercial applications include environmental monitoring, building management, equipment health monitoring and supply chain management. Each sensor in a WSN consists of a radio transceiver for transmitting recorded data, a small processor, a mechanism for measuring at least one physical characteristic of an environment and a battery. Data recorded by a sensor in a WSN is transmitted to a base station. This base station is typically connected to a computer or mobile device so that data can be displayed for an end user. A WSN is a wireless network that can be temporary or permanent in nature i.e. it can be an Ad- Hoc Network. It is possible that many WSNs could consist of many thousands of sensor nodes. As an individual node could therefore be quite a distance from a base station, data transmission is multi hop i.e. data can be forwarded from node to node, towards the base station. This is known as mesh networking one protocol used for data transmission in WSNs is Zigbee (http://zigbee.org). The first sensor nodes used an operating system (OS) called TinyOS (http://tinyos.net) and were programmed in a language called nesC. The principal vendor for these devices is Crossbow Technologies (http://xbow.com). Crossbow uses the mica series of processors for their sensor nodes (or motes). While the use of these technologies is still very prevalent, Sun Microsystems also offer the option of using Java-based Sensors. These are known as Sun SPOTs. Copyright Sykoinia Limited 2009 8
Java Sun SPOTs A White Paper by Vertoda 2. Java Sun SPOTs: An Overview Java Sun SPOTs are small Java-based programmable sensor devices. Currently, these are an experimental technology and only support measurement of light, temperature and acceleration. The key distinguishing characteristic of Java Sun SPOTs is that the devices don t have an underlying OS. Rather, each device runs the Squawk Java Virtual Machine (VM). The VM acts both as an OS and as a software application platform. Like their TinyOS-based counterparts, Sun SPOTs are battery operated. However, a key difference for Sun SPOTs is that the battery is a non-removable part of each device that can be recharged by connecting the device to a computer with a USB cable. Each Sun SPOT including the Base Station has a unique ID 0014.4F01.XX.XX. The first 8 digits (0014.4F01) are fixed for each Sun SPOT. The Java used for Sun SPOTs is based on J2ME. The Sun SPOT development kit consists of two Sun SPOT sensors and a base station. The development kit also includes a CD for installing Sun s SPOT Manager. Figure 1 displays the Sun SPOT manager tool. The manager consists of a The Sun SPOTs tab provides a facility for number of tabbed options. accessing the Sun SPOTs and, if necessary, upgrading or altering the devices. The base station can be configured and over the air transmission of data can be The SDK tab enables users to install the latest version of the Sun set up. The Solarium tab enables users to try SPOT Software Development Kit (SDK). the experimental Solarium framework for base station communication with other Sun SPOTs in the WSN. The Solarium UI displays all Sun SPOTs in the network, their ID and the Java program each Sun SPOT is running. A user can also create The virtual Sun SPOTs using Solarium. Figure 2 shows the Solarium UI. Tutorial Tab provides a step by step tutorial on the Sun SPOT Devices, the The Docs Tab configuration of same and the use of the Sun SPOT Emulator. provides documentation including a user manual, a developer s guide, The Console Tab provides installation instructions and an emulator guide. output on recent actions such as SDK installation, Sun SPOT device upgrades etc. The Preferences Tab enables users to set up checks for SDK updates, edit properties files and, if desired, uninstall the SDK. Copyright Sykoinia Limited 2009 9
Java Sun SPOTs A White Paper by Vertoda Figure 1: Sun SPOT Manager The Sun SPOT SDK integrates with Netbeans, so that when the SDK is installed the user can also install the Netbeans IDE. This enables users to view the sample code provided with the IDE as well as create their own Sun SPOT applications (See Figure 3). Applications can also be deployed directly from Netbeans to the Sun SPOTs. Thus, the integration is end-to-end. The main advantage of Sun SPOTs is that they use the Java language. Compared to TinyOS based motes using nesC as their programming language, Sun SPOT applications are much easier in terms of programming and deployment. The tutorials, documentation and sample code provided by Sun is of a very high quality, not just within the SPOT manager but also in the Sun SPOT website and forums (http://sunspotworld.com). Examples are provided for measuring light, temperature and acceleration and for radio transmission so it is relatively easy for a Java programmer to get an application up and running quickly. Another key advantage is that Sun SPOTs can be programmed and deployed using Windows, LINUX, Solaris or the MAC OS. Other motes are often tied to Windows for configuration and programming and in particular the use of the Serial Port and its corresponding Java API for detecting data (which only runs on Windows) means that ancillary programs are often tied to Windows. While they are an attractive technology, it should be noted that Sun SPOTs are still an experimental technology and as such are not recommended for a commercial deployment. As previously stated, Sun SPOTs are currently limited to temperature, light and acceleration Copyright Sykoinia Limited 2009 10
Java Sun SPOTs A White Paper by Vertoda measurements. The other current issue is battery life Sun SPOTs need to be frequently recharged as their battery life appears to be inferior to their TinyOS counterparts. This is despite the fact that Sun SPOTs are based on the IEE 802.15.4 standard for Wireless Personal Area Networks (WPAN) which endeavours to preserve battery life. Figure 2: Solarium Experimental Framework Copyright Sykoinia Limited 2009 11
Java Sun SPOTs A White Paper by Vertoda Figure 3: Netbeans New Project Dialog Copyright Sykoinia Limited 2009 12
Java Sun SPOTs A White Paper by Vertoda 3. Encryption & Java Sun SPOTs Sun Research [1] has developed a Java cryptographic library for Sun SPOTs. This cryptographic library supports key exchange and digital signatures based on Elliptic Curve Cryptography (ECC) as well as standard algorithms for hashing and bulk encryption. Deployment of Java code to Sun SPOTs is protected by ECC. Sun SPOTs will only accept code that has been signed by the user. The Digital Signature is used to seal verified byte code on a desktop. This code is then sent over the air or via a USB connection to the Sun SPOT. The signature is then verified on the Sun SPOT before the code is executed. The above is possible because each user s SDK has a public/private key-pair. Each SPOT stores the trusted public-key of the owner, the owner being the first deployer to the Sun SPOT. The owner has special privileges including the ability to deploy new code or restore the SPOT to an ownerless state. The use of hash chains means that code can be deployed to all SPOTs in a WSN. Secure data communication is also catered for. SPOT applications typically use the com.sun.spot.io.j2me.radiostream class for data transmission. For secure data transmission user can use the sradiostream class. Each SPOT uses a certificate created by the SDK to identify itself in an SSL handshake. Each SPOT trusts its owner SDK to issue certificates. This facilitates communication between SPOTs belonging to the same owner. According to Sun, scenarios such as Trusting Web Certification Authorities and SPOTs belonging to other owners are also supported. In essence, Sun s ECC Implementation is a small-footprint web server stack (nicknamed sizzle ) that includes HTTP and SSL. This facilitates control and monitoring of secure data from a web application. Another option for secure transmission over WSNs is Identity Based Encryption (IBE). Currently, no implementation exists for IBE over Sun SPOTs. As IBE is an attractive encryption method for small devices it is worth examining for SPOT WSNs. The principal constraint for IBE implementation on Java Sun SPOTs is that they use J2ME. This means that the java.math library is unavailable. While verification and decryption could be performed on the host computer receiving the data, signing and encryption of data using the SPOT ID would need to be performed on the Sun SPOT. This means that a library would have to be developed for encrypting or signing data on a Sun SPOT. While this is a non-trivial task it appears to be possible. There are implementations of the java.math library for J2ME (for example, see http://dclausenprojects/microfloat/) and a Java jar file could be created for use by different Sun SPOT applications. Copyright Sykoinia Limited 2009 13
Java Sun SPOTs A White Paper by Vertoda 4. Conclusion With the exception of battery life Sun SPOTs have several advantages over their TinyOS counterparts. An ECC implementation is provided by Sun for secure data transmission. An IBE implementation is possible even when the constraint of implementing ID-based encryption or signing in J2ME is considered. Copyright Sykoinia Limited 2009 14
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

Powered By MyBB, © 2002-2024 iAndrew & Melroy van den Berg.