The M2M Service provides a set of APIs that are used to enable new devices to connect to the M2M Service, and to enable mobile and desktop applications to interact with the rich data available within the M2M Service. The transport mechanisms supported by the M2M Service include, but is not limited to, MQTT and HTTP. The M2M Service is compliant with the TR50 Protocol specification. This specification describes a transport agnostic protocol to enable bi-directional communication and monitoring of events and information between logical entities within a system. This protocol provides a standard way to package and transmit information relating to a device, regardless of the communication method used (MQTT or HTTP).
The following page describes the basic information you'll need to start developing your application and connecting your devices to the M2M Service. The information provided below will include:
- A generic description of the TR50 Protocol's message format used on top of MQTT/HTTP interfaces
- A brief definition of the authentication expected when connecting to the M2M Service platform
- An overview of the MQTT and HTTP interfaces used to communicate with M2M Service
- An introduction to the TR50 compliant open source libraries for the different programming languages and interfaces (C, JAVA, AT)
- A summary of the TR50 compliant commands supported by M2M Service as applicable to the different open source libraries.
The next steps will be to select a programming language as well as the communication method (MQTT, HTTP) of choice before you begin your development. Although it isn't a requirement, it is recommended to develop your application in accordance with the TR50 Protocol standard previously described in order to fully benefit from the M2M Service platform.
The following is assumed:
- Familiarity with the terminology in the Glossary
- Ability to execute an HTTP POST using your programming language of choice
- Access to an MQTT client capable of using the publish and subscribe commands
- Ability to encode and decode JSON data structures.
M2M Service data model
The M2M Service implements a data model that is the basis of the:
- Definition and view pages of the Management Portal described in the Management Portal User's and Administrator's Guide
- The APIs and interfaces described in the M2M Service API Guide and Reference
- The trigger actions and events related to the thing category described in the Gateway Developer's Guide and Reference.
As such, understanding the M2M Service data model is important for application developers (M2M Service, external application, gateway) and also for users of the Management Portal.
For information, see Understanding the M2M Service data model.
This guide contains the following: