This guide will walk you through how to subscribe your devices’ messages as well as how to send a command to a specific device, using Eclipse Mosquitto’s CLIs to subscribe or publish messages.

Setup

Credentials

Browse SenseCAP Portal, navigate to “Security/Access API keys”, click the “Create Access Key”, and you can get the “Access API keys”, set down it as <Password>, and also “Organization ID” as <OrgID>.

Receive Devices’ Messages

Let’s listen for all of your devices’ messages.

1.Open a terminal window and execute the following command.

  • OrgID = Organization ID
  • Password = Access API keys
mosquitto_sub \-h sensecap-openstream.seeed.cn \-t '/device_sensor_data/<OrgID>/+/+/+/+' \-u 'org-<OrgID>' \-P '<Password>' \-I 'org-<OrgID>-quickstart' \-v
Please replace the Organization ID and Access API Key you just obtained with the <OrgID> and <Password> above.

2.Power up devices, while devices keep sending messages, you should receive the data like:

/device_sensor_data/1234/2CF7F12000000001/1/vs/4105 "value":2,"timestamp":1544151824139
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4097 "value":23,"timestamp":1544151900992
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4101 "value":101629,"timestamp":1544151901112
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4098 "value":71,"timestamp":1544151900992
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4099 "value":69.12,"timestamp":1544151902224
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4100 "value":437,"timestamp":1544151922137
examplefielddescription
1234OrgIdOrganization ID
2CF7F12000000001DeviceEUIUnique identification of device
1ChannelA physical socket on the device for a sensor to be connected
vsReservedThe reserved field
4105MeasureIDThe type of measurement, 4105 is the Wind Speed
2valueCollected measurements, the Wind Speed is 2m/s
1544151824139timestampThe collection timestamp of the data

Subscribe a Specific Key

Specifying a specific key enables you to subscribe to data for a particular device or channel.

Example: Subscribe to the temperature value collected by the Air Temperature and Humidity Sensor (DeviceEUI: 2CF7F12210400083;Channel: 1;).The temperature measurement ID is 4097. Replace <OrgID> as Organization ID, <Password> as Access API Key, execute the command:

mosquitto_sub \
    -h sensecap-openstream.seeed.cn \
    -t '/device_sensor_data/<OrgID>/2CF7F12210400083/1/vs/4097' \
    -u 'org-<OrgID>' \
    -P '<Password>' \
    -I 'org-<OrgID>-quickstart' \
    -v

Received the data:

/device_sensor_data/521853156991/2CF7F12210400083/1/vs/4097 {"value":28,"timestamp":1561373812474}

Congratulations! Now you know how to monitor and receive messages via MQTT. Go build something awesome!