SORACOM Beam supports for IBM Watson IoT Platform

SORACOM Beam supports for IBM Watson IoT Platform

We’re happy to announce today that the SORACOM Beam service for IoT protocol conversion now supports connection to the IBM Watson IoT platform using MQTT. This makes it easy for even the most power- and memory-constrained devices to benefit from the capabilities of the IBM Watson IoT Platform, which brings real-time insight to IoT data with powerful AI-based capabilities including Watson Cognitive Analysis, Machine Learning, and Natural Language Processing.

 
Soracom Beam MQTT configuration
 

About SORACOM Beam

We introduced SORACOM Beam to address a common challenge in IoT: most use cases call for devices to send encrypted data, but that encryption can place a heavy burden on low-power/low-memory devices.
SORACOM Beam high-level architecture

 
SORACOM Beam high-level architecture

SORACOM Beam high-level architecture

 

SORACOM Beam reduces the load on devices by offloading encryption processing to the cloud. Data can be safely delivered from the device to the SORACOM cloud through the closed 3G / LTE closed network, encrypted by Beam, and then sent securely to its destination… in this case, the IBM Watson IoT platform.

Connecting to the IBM Watson IoT Platform

First, let’s compare these two commands:

1. MQTT Publish (standard)

mosquitto_pub
-i 'd::deviceType:device01'
-h .messaging.internetofthings.ibmcloud.com
-u 'use-token-auth'
-P 'password'
-t iot-2/evt/test/fmt/json
-m '{"name1":"soracom-beam-test!","name2":100}'

2. MQTT Publish (with SORACOM Beam)

mosquitto_pub
-h beam.soracom.io
-t iot-2/evt/test/fmt/json
-m '{"name1":"soracom-beam-test!","name2":100}'

Both commands will perform the same operation, but obviously the second example uses less data. In the second example, Client ID (-i), User ID (-u) and authentication token (-P) are prespecified in Beam.

The Watson IoT Platform appropriately requires TLS (Transport Layer Security) encryption, so Beam converts MQTT to MQTTS and provides these credentials to the IBM Watson IoT Platform. This allows communication without having to set the client ID, user ID, or authentication token (password) on the device side. As an added benefit, parameters can always be updated from the user console or API without having to touch a device already in field.

Placeholder function

Even if you have a lot of devices to connect, you won’t need to set an individual device ID for each one. Instead, you can use the Placeholder function to use IMSI or IMEI as the device ID by specifying #{imsi} #{imei} as shown below.
 
Register credentials set
 

Even if you send exactly the same command from each device, IMSI and IMEI are unique, so each device can be individually identified with Watson IoT Platform.

Full instructions

By managing settings, permissions, and credentials from the cloud, this integration makes it possible for even highly resource-constrained devices to benefit from the powerful cognitive, analytical and data-management capabilities of the IBM Watson IoT platform.

If you’re ready to dive in, you can find complete documentation on the Soracom Developer Site.

Using SORACOM Beam to connect to IBM WATSON IoT Platform

Getting started with SORACOM Beam In this guide we will send data to the IBM Watson IoT Platform (Watson IoT Platform)…
dev.soracom.io

If you need any help getting started or have any use cases you’d like to share, please let us know. And we’re always working on new integrations, so if you have any recommendations for future features we’d love to hear from you.