Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News MODE: An IoT Platform for Managing Smart Devices

MODE: An IoT Platform for Managing Smart Devices

Leia em Português

This item in japanese

MODE is an IoT platform deployed in the cloud and providing support for registration, management and control of smart devices.

MODE operates with the following concepts:

  • Device. A smart hardware product with its own unique identifier.
  • Device Class. All identical devices belong to the same class and can be managed or configured as a group.
  • User. A person who owns one or more devices and has the right to control them.
  • Home. A collection of devices controlled by one or multiple users.
  • User Agent. A mobile or web application used to control devices.
  • Smart Module. A server application implementing device-related functionality.
  • Commands. A user agent can send commands to a device or a smart module. Also, a smart module can command a device.
  • Events. Devices generate events which can be received by a smart module or a user agent which execute some operation upon reception.

The MODE platform manages devices, authenticates users and glues all of these to work together. Devices can be set up directly by the manufacturer or by the user to connect to MODE. After that, the device opens a WebSocket connection to MODE, sending events if any and waiting for commands coming from the user agent or the smart module. The later can be used to collect and analyze data on devices and perform various automated tasks. These smart modules can run on premises, in the cloud or hosted by MODE.

Communication between devices, user agents, smart modules and MODE is done through an encrypted RESTful API using JSON. The following shows how to send a command to a device:

PUT /devices/{deviceId}/command
    "action": "sprinkler-on",
    "parameters": {
        "zone": 2,
        "duration": 120

We asked Gaku Ueda, CEO and cofounder of MODE Inc., about supporting other protocols besides WebSocket:

GU: Yes, definitely! It's very easy to add a new protocol for device connectivity to MODE.  We'd like to hear from developers about their favorite protocols.  We are here to work with developers to solve real world problems.

MQTT and CoAP are the common ones.  We can implement these if developers want.

Regarding the security of communications, Ueda said:

GU: We will offer only SSL-ed APIs for production mode.  All the communication needs to be encrypted.

That being said, we hear lots of desire to prototype IoT products using Arduino and other low-end microcontrollers.  Arduino can't do SSL communication and we open up non-secure version of APIs for prototyping.

Rate this Article