Skill Level: Beginner

SmartMesh IP mesh networks and IBM Watson IoT are perfectly complementary. Sending data from a SmartMesh IP mote into the Watson IoT platform is a breeze. This guide shows you how you can publish data to its Quickstart service, in minutes!


We assume you have a DC9000B SmartMesh IP starter kit.


There are many many things you can do with this kit, including connecting external sensors, reprogramming the motes, driving the motes from an external micro-controller, etc. In this recipe, we assume you are using an out-of-the-box kit, in which nodes are running the default firmware in master mode.

In this mode, each mote publishes a temperature reading every 30s. This is what we will publish to Watson IoT Quickstart. 


  1. Goal

    In a few minutes, you will be publishing temperature data from a SmartMesh mote to Watson IoT Quickstart!


  2. Create your network

    • Plug the manager into your computer’s USB board and its blue LED switches on
    • When you plug the manager into your computer, 4 serial ports appear on your computer. If you’re using Windows, they are listed in your Device Manager. Note the number of the 4th port in the list, in my case “COM13”.
    • Switch on at least one mote, two green LEDs are steady-on when the mote has successfully joined the network and is publishing data. Note that the LEDs are only active when the blue “LED EN” jumper is placed, as in the picture below.

    What just happened?

    That’s it, you have a fully functional SmartMesh IP network with every mote publishing a temperature reading every 30s.

  3. Run the software

    Install JsonServer

    JsonServer is a program developed by the DustCloud community and part of the SmartMesh SDK.

    It connects to your SmartMesh IP manager and opens an HTTP JSON interface that Node-RED can connect to.

    • Download the latest release of the SmartMesh SDK at https://github.com/dustcloud/smartmeshsdk/releases. There are several ways of running the SmartMesh SDK, depending on your operating system. On my Windows computer, the quickest way is to download the pre-compiled binaries:
    • Unzip the folder, and double-click on SmartMeshSDK- You can of course also download the (Python) source code and run that. This is documented at SmartMesh SDK.

    • Run the application

    Install Node-RED

    • Install Node-RED by following one of the options at http://nodered.org/docs/getting-started/
    • Start Node-RED and point your browser to http://localhost:1880/
    • use the hamburger menu on the upper-right and select “Manage palette”
    • search for “node-red-contrib-ibm-watson-iot” and install the additional palette
  4. Publish to Watson IoT Quickstart

    • Import the flow at https://gist.github.com/twatteynelinear/9626af15ec56cf661ffe70734d3b11e0/raw/ into Node-RED:
      • click on the link above, and copy the entire contents of the file you just opened (Ctrl+C)
      • in your Node-RED editor, on the hamburger menu on the upper right, select “Import” > “Clipboard”
      • paste the string (Ctrl+V) and click “Import”
      • activate the flow by clicking on the “Deploy” button
    • Double-click on “connect serial port” and change “COM13” by the name of the serial port you noted above
    • Click the Deploy button on Node-RED
    • Click on the left of the “connect serial port” widget
    • Make sure the debug tab on the right contains “200”
    • Click on the left of the “get status” widget
    • Make sure the debug tab on the right contains “connected”
    • Choose any one of your motes, and read its label, in my case “3FFEE6”
    • In Node-RED, double-click on the function widget
    • Replace “3FFEE6” by what you have on your label and click Done
    • Double-click on the event widget
    • Change the Quickstart Id by your mote’s identifier, and click Done
    • Click Deploy
    • Go to https://quickstart.internetofthings.ibmcloud.com
      • check the box to accept the terms and conditions
      • enter the identifier of your mote and press Go
    • You start by seeing an empty screen, this is normal as the mote only publishes every 30s
    • Every 30s, a new datapoint plots live

Join The Discussion