EndPoint
Motes in an OpenWSN network publish data to IPv6 addresses, usually over UDP, usually using CoAP formatting. An endPoint is a (new) program which you can run on the destination computer, and which parses and publishes the data it receives from the motes.
It is pure Python and lives at https://github.com/openwsn-berkeley/openwsn-sw/tree/develop/software/openEndPoint.
The goal of the EndPoint is to:
- listen for packet, typically on a UDP port
- the data gets timestamped, and passed to a parser
- the parsed packet gets passed to a list of publishers
- each publisher publishes the data at it wants
Publication can be:
- print on screen
- log to file
- present in JSON format as a web service
- log to Google spreadsheet
- tweet
- SMS
- etc.
An endPoint is assembled by choosing a listener, a parser and a number of publishers. Examples are:
- EpTestCli.py consists of:
- a dummy listener which (virtually) receives a 10-byte packet every second
- a parser which considers the entire UDP payload is a single field
- a publisher which writes to screen
- EpUdpRawCli.py consists of:
- a listener which listens to UDP port 5683
- a parser which considers the entire UDP payload is a single field
- a publisher which writes to screen
The wish list for the endPoints is infinite:
- a parser specific for CoAP
- a web.py based publisher which presents the data as JSON
- a D3js-based web visualization of that data
- etc.
If you get inspired and want to contribute, don't hesitate to contact Thomas Watteyne!