MQTT Protocol

Every device communicates with cloud application backend over MQTT. There are 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 topic names are self-explanatory.

  • 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.