...
- The IBM Watson IoT platform acts as an MQTT broker: applications publish message to it, others subscribe to messages.
Each MQTT message is contains a topic, a string identifying the type of message. The following topics are used by Watson IoT:
iot-2/type/mote/id/00-17-0d-00-00-38-04-35/evt/oap.digital_in.D0/fmt/json a "digital_in" OAP notification coming from mote 00-17-0d-00-00-38-04-35
iot-2/type/mote/id/00-17-0d-00-00-60-4e-1f/evt/hr.Device/fmt/json a device health report received from mote 00-17-0d-00-00-60-4e-1f
iot-2/type/mote/id/00-17-0d-00-00-58-fe-43/evt/oap.temperature/fmt/json a temperature measurements from mote 00-17-0d-00-00-58-fe-43
- in Node-RED you subscribe to messages through the ibmiot input node:
by double-clicking on that node, you can configure the following (leave other fields untouched):
Authentication set to "API Key" API Key Essentially a username/password pair to authenticate to the Watson IoT Platform
Tip icon false You instructor has already created a key. Ask for it.
Input Type set to "Device Event" Device Type allows you to choose the type of device you want to subscribe to, in this lab either "manager" or "mote" Device Id unique identifier of the device, in this lab its MAC address, e.g. "00-17-0d-00-00-58-f5-23" Event The type of event you want to subscribe to, e.g. "oap.temperature" - start by creating the following flow in which you subscibe to all devices types, all device ids, all event types and all formats.
- make sure you see the messages appear in the debug tab
modify the flow by inserting a function node with the following code:
Code Block var count = flow.get('count')||0; count += 1 flow.set('count',count); msg.payload = count; return msg;
What does the code above do?
Info icon false title Answer 1: How many messages are there per minute?
Info icon false title Answer 2:
Warning |
---|
Registering to all events is not a good practice. Instead, you should register only to exactly what data you need. Make sure you erase your flow before moving on to the next lab. |