A general application for wireless sensor networks is gathering sensor data from the deployed motes and making some predication/operation based on those sensed data. In this page, you will learn how to do this based on OpenWSN project.
Hardware you need
- 2x OpenMotes
- 1x OpenBase
- 1x mini B cable
- A computer running the OpenWSN environment installed
Procedures
- Program two OpenMotes
Theuinject
application running on the mote generates dummy data (a counter value increasing at each packet) every 30 seconds and sends it to the manager.
By default, this app is disabled. You can enable it following those procedures. Compiling them and download the code to your motes after you did those modification.- uncomment this line: https://github.com/openwsn-berkeley/openwsn-fw/blob/develop/openapps/openapps.c#L44
- add
uinject
at defaultAppsInit structure: https://github.com/openwsn-berkeley/openwsn-fw/blob/develop/openapps/SConscript#L34
- connect one to your computer and power on the other one
- on your computer, double-click on
uinject_dagroot.py
(folderopenwsn-fw/openapps/uinject
)
you need to change a little bit inuinject_dagroot.py
to make it work on your computer- change the serial port according to your case: https://github.com/openwsn-berkeley/openwsn-fw/blob/develop/openapps/uinject/uinject_dagroot.py#L234
add following code at : https://github.com/openwsn-berkeley/openwsn-fw/blob/develop/openapps/uinject/uinject_dagroot.py#L161 ,(For the last test, this is no required for OpenMote. Try this if the mote stay at reset status.)
self.serial.setDTR(0) self.serial.setRTS(0)
- That's It!
Result
The uinject_dagroot.py
application prints on screen what you are receiving from the other mote, which is the counter value increasing from 0.Once the printing works you can:
- make
uinject
fancier to include real sensor data. I would recommend to then rename the application - make the
uinject_dagroot.py
fancier and log/send/tweet the received data
Besides, the latency of each packet starting from being generated until received by dagroot is printed on screen right after the counter. It's shown in seconds and the accuracy is one slot long which is 15ms.