MQTT API Quick Reference

The cloud application backend communicates with devices over MQTT.

Every device has 3 topics to which it publishes data, and one topic to which it both publishes and subscribes.

The topics are:

  1. {device_id}/OBD (publish only)
  2. {device_id}/MEMS (publish only)
  3. {device_id}/GPS (publish only)
  4. {device_id}/CMD (publish and subscribe)

The device_id refers to the internal unique device id as detailed in Section Device ID.

  • OBD topic is used to publish all PID data including external sensors like temperature and humidity.
  • MEMS topic is used to publish motion MEMS data.
  • GPS topic is used to publish GPS location and other information
  • CMD topic is used for command and control, status and error messages, etc.

All devices use the Soracom MQTT endpoint beam.soracom.io. Soracom acts as a proxy and forwards all messages to VehicleMind AWS endpoint a5dh679nok7v3.iot.us-east-1.amazonaws.com.

AWS IoT connects to the following topics for every device:

  1. {device_id}/OBD (subscribe only)
  2. {device_id}/MEMS (subscribe only)
  3. {device_id}/GPS (subscribe only)
  4. {device_id}/CMD (publish and subscribe)

AWS IoT transmits all the commands on the {device_id}/CMD topic and receives the responses on the same. Error messages are also received on the same topic. The other topics are purely to receive streaming data from the various sensors.