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
  • web.py based publisher which presents the data as JSON
  • D3js-based web visualization of that data
  • etc.

If you get inspired and want to contribute, don't hesitate to contact Thomas Watteyne!