IBM Watson IoT Platform With MQTT -- Ameba Arduino


MQTT (Message Queuing Telemetry Transport) is a protocol proposed by IBM and Eurotech.

IBM® Watson™ IoT Platform is, by the official definition,

“A foundational cloud offering that can connect and control IoT sensors, appliances, homes, and industries. Built on IBM Cloud, Watson IoT Platform provides an extensive set of built-in and add-on tools. Use these tools to process IoT data with real-time and historical analytics, extract key performance indicators (KPIs) from your data, add “smarts” in the cloud for non-smart products, and securely connect your own apps and existing tools to the Watson IoT Platform infrastructure.” (IBM, 2020)

This platform provides easy web interface to register, connect and visualize our IOT devices. For quick start and simple try-out, registration is not necessary, we may just run our program to get the device ID needed for this platform.

Preparation

  • Ameba x 1

Example
In this example, we will take a look at how to make use of IBM Watson IOT platform for out IOT project.

Open the MQTT example “File” -> “Examples” -> “AmebaMQTTClient” -> “ibm_watson_iot_quickstart”

Make sure the Wi-Fi information is properly filled in and we are ready to upload the code to ameba.

Once uploading finished, open a serial monitor and we shall see information as follows,

Important:
Please take note of the string of characters on the first line of the picture above -- “clientId:quickstart:iotsample-ameba:ac35ee15608e”

“ac35ee15608e” is the device ID as well as the MAC address of the ameba board used here which will NOT be the same for other cases, so make sure to copy down the device ID displayed on your serial monitor.

Next, we click the IBM IOT platform link provided here and open our browser:

https://quickstart.internetofthings.ibmcloud.com/#/

Paste the device ID we just copied into the box highlighted below,

If the device ID keyed in is correct, some fake temperature data that our ameba published will be visualized like this,