Ponte – Bringing Things to REST developers
We use MQTT , REST, COAP etc protocols in IoT Solutions. Ponte allows you to publish and receive the data using any protocol: HTTP, MQTT and CoAP. You can mix and match: submit with CoAP and subscribe via MQTT. Thanks to MQTT subscribes and CoAP observe, your devices can get updated in real-time. Thanks to MQTT-over-Websockets, your users can too!
Ponte aims to convert multiple data formats, you will be able to publish your data in JSON, MsgPack, Byson, BSON and XML. Need another one? Use HTTP accept queries to get another version.
Ponte will help you, the developer, in building a user-driven security solution to support the communication between all these devices. Thanks to Ponte, there will be no need to prepare a custom authentication for your things, and another for your users.
Architecture
Installation
You can install ponte from NPM packages. Type following command.
$ npm install ponte -g
$ ponte
The current implementation of Ponte is built on top of the Node.js framework that provides a fast event-loop.
APIs
APIs are available for HTTP, MQTT and CoAP.
HTTP API
HTTP is an implementation of the REST pattern, where a resource can be manipulated using standard verbs: GET, PUT, POST and DELETE. This allows to syndicate the things resources in a very straighforward way over a database, by indexing their URIs.
Each thing is available at: http://<your ponte>/resources/<your thing>
MQTT API
MQTT is an implementation of the publish/subscribe pattern. Ponte is based on Mosca which implements most of the MQTT 3.1 spec. In order to syndicate a value for HTTP access, publish with the ‘retain’ flag. Subscribe to your things to receive live updates. Each thing is available at: mqtt://<your ponte>/<your thing>
CoAP API
CoAP is an implementation of the REST pattern on the UDP protocol, where a resource can be manipulated using standard verbs: GET, PUT, POST and DELETE. This allows to syndicate the things resources in a very straighforward way over a database, by indexing their URIs. Ponte fully supports the observe spec, to receive live updates from you things. Each thing is available at: coap://<your ponte>/r/<your thing>