Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Goal: Send a command through a serial port to a mote to make it send a 6P packet.

...

  • set /dev/myAwesomeMote 6pAdd [6,7]

This would send the following bytes over the serial bus towards the mote:

  • [67, 9, 2, 6, 7] in decimal 

Explanation:
Now we are going to send it over a ZMQ socket. To do that we will use the following script:


Code Block
languagepy
#!/usr/bin/env python
import zmq

zmq_inject_port = 60000
d = {"signal": "cmdToMote",
     "data": {"action": ["imageCommand", "6pAdd", "[6,7]"],
              "serialPort": "/dev/ttyUSB1myAwesomeMote"},
     "sender": "mySender"}
context = zmq.Context()
publisher = context.socket(zmq.REQ)
publisher.connect("tcp://localhost:60000"%d" % zmq_inject_port)
publisher.send_json(d)


You can tell whether a given 6P request passed or failed depending on the its return code that are . Return codes are documented there:

https://github.com/openwsn-berkeley/openwsn-fw/blob/develop/openstack/02b-MAChigh/sixtop.h