Lab 29. DustLink

Expected completion time of this lab: 60 min

.


DustLink is a web-based management interface for your SmartMesh IP network, similar to the configuration website for your home WiFi router. It is written entirely in Python, using the SmartMesh SDK, and is open source. This means that you can reuse/modify/adapt any part of DustLink without restriction (see the license in the DustLink source code).

Resources about DustLink:

Installing DustLink

  • Connect the manager to your computer using the interface board. No need to connect any motes. Switch on all your motes (make sure they are in master mode) and manager. Wait for all motes to join.
  • Download DustLink from https://github.com/dustcloud/dustlink onto your desktop.
  • Double-click on bin\dustLinkFullWeb\dustLinkFullWeb.py to start DustLink. A command window appears:

    Dust Link - (c) Dust Networks
    >

    At this point, your Windows firewall might ask you to authorize the application. This is normal, click yes.

     


  • DustLink is a web server on your local machine which hosts a website. To see this website, use the Chrome browser to navigate to http://127.0.0.1:8080/. The DustLink homepage appears.

Connect DustLink to your manager

 

  • At the top of the screen, login with the following:

    usernameadmin
    passwordadmin
  • In the System menu, navigate to the “Managers” page. This page contains a form in which you specify the serial port(s) of your manager(s).

  • In the Add form, enter the API port of your manager, e.g. COM7. This port appears in the “Manager Connections” table.

  • After 10s, make sure the state has transitioned from “inactive” to “active”.

Visualize your mesh network 

  • In the “networks” menu, select the network with the serial port you just specified.
  • Draw the topology of your network below:

    Answer 29.1:

     

Gather information about your motes

  • In the "motes" menu, a list of all the motes in your network appears.
  • Verify that these are indeed all your motes.
  • Fill in the table below with the information gathered from your motes:

    Asnwer 29.2:

    MACisAPassignedBwpacketsLost
        
  • isAP is true only for the manager.
  • assignedBw is the bandwidth assigned by the manager. It is normal for the manager to have no bandwidth assigned for itself.

Health Monitoring

DustLink continuously gathers information about the network by sending serial commands to the manager. Every hour, it analyzes all this information and runs a number of tests. Those tests can either pass or fail. You can start the test manually.

  • In the "health" menu, select your network.
  • Click the "Run tests now" to force the tests to run.

    Ask your instructor for an overview of what the tests do.

  • Make sure the "multipleJoins" test passes, since you have switched on each node exactly once.
  • Power cycle one of your motes and wait for it to rejoin. This forces this mote to have joined twice.
  • Click the "Run tests now" again to force the tests. Make sure the "multipleJoins" test now fails.
  • On the row of the "multipleJoins" test, click on the timestamp of the "Last Failure" column to see why this test has failed.

Interact with the applications on your motes

By default, DustLink:

  • stores the temperature values received from the motes
  • allows you to toggle the blue LED on each of your motes
  • Navigate to the dashboard page.
  • Click on the light bulb of a mote, make sure you can switch the LED of all your motes on and off.
  • Make sure you see the temperature data refresh.
  • Click on the wrench in the temperature widget to set the temperature reporting rate to 5000 ms.
  • Click of the “view locally” link in the temperature widget to see a timeline of the last 100 reported measurements.
  • Put your mote in a cold/hot location and see the reported temperature change.
  • Revert the temperature reporting rate to 30000ms (30 seconds).