SORACOM Developers

Getting started with SORACOM Beam

Using SORACOM Beam to connect to IBM WATSON IoT Platform


In this guide we will send data to the IBM Watson IoT Platform (Watson IoT Platform) using SORACOM Beam (Beam).

About Beam

Beam is a proxy service that receives data sent from a device equipped with a SORACOM Air SIM card, and processes it in the cloud.


Using Beam enables you to do several things.

This guide shows you how to connect Watson IoT and Beam.

If the IoT device sends and receives sensitive information, you need an encryption process. However, some IoT devices have limited resources and cannot easily handle encryption processes. In that case, you can offload the encryption process into the SORACOM platform and its resources.

Also, when you upload data from an IoT device via Beam, the data is sent to the end point in Beam through a closed 3G/LTE network. That means that even when it is in plain text, the data will be securely delivered to Beam. The destination server can securely send data via a communication pathway encrypted by Beam. Watson IoT supports MQTTS, making it possible to securely connect to Watson IoT as described above.

In this guide, it is assumed that the device used as MQTT client is communicating with SORACOM Air’s SIM using a USB dongle or the like.



Step1:Prepare the Watson IoT Platform

Creat Watson IoT Platform

Login to Bluemix.

Select the Internet of Things Platform from the catalog. Select the appropriate plan and click “Create”.

Internet of Things Platform

The following screen will be displayed, click “Start”.

Internet of Things Platform

The Waton IoT Platform console is displayed.

Add device

Next I will add the device. Here we add the following devices.

Select “Device” from the menu on the left.

Internet of Things Platform

Enter the device type and device ID from “Add Device”.

Internet of Things Platform

After that, it defaults (blank) to “next” Click “Finish” to create the device. We will set it with Beam after this, please save the following information.

Internet of Things Platform

Step2:Setting SORACOM Beam

Beam settings

First I will create a SIM group. Select “SIM group” from the menu on the left.


Please create a group from “Add”. Here we create it as the group name “beam - watson iot platform”.

Select the group you created next. Open the “SORACOM Beam setting” tab and add “MQTT entry point”.


The following screen is displayed. Please enter the type and host name. Please specify <Organization ID> displayed when adding a device.

Next add the authentication information. Click the “+” next to the authentication information.


For authentication information, please specify what you specified when adding a device. After inputting, click “Register”.

You can set IMEI and IMSI for the device ID. This will allow you to identify the device without setting the device ID individually on the device. For details, please confirm setting IMSI, IMEI as device ID.

beam settings

Confirm your entries and click “Save”. This concludes the Beam setting.

beam settings

Next, let’s use Air SIM belonging to the SIM group that created it. Select the target Air SIM and select “Operation” -> “Change belonging group”.

beam settings

Select the group you created.

beam settings

This concludes the Beam setting.

Step3:Use Beam to send data to Watson IoT Platform

Send data using Beam. The transmitted data is confirmed from the Watson IoT Platform console.

Select the device from the Watson IoT Platform console and display “Recent Events”.

beam settings

Execute the following command from Terminal of the device using Air SIM.

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

MQTT Publish is done using mosquitto_pub which is the command of mosquitto which is MQTT message broker provided as open source. If mosquitto_pub is not installed, please download and install it from the site.

Please check that the message can be displayed from the Watson IoT Platform console.

If you do not use Beam, you will execute the following command to send data to Watson IoT Platform as well.

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

When using Beam, you can see that the user ID (-u), password (-P) and client ID (-i) are not sent from the device. Solacom gives this information and transfers data to Watson IoT Platform. This eliminates the need to have cloud authentication information on the device. Also, although it is transmitted from the device via MQTT, it uses the 8883 port and also converts from MQTT to MQTTS.

The advantages of using Beam are as follows.

IMSI, IMEI as device ID

In setting authentication information, you can use placeholders for device ID as follows.

beam settings

By setting the above, IMSI and IMEI used at the time of transmission are actually replaced and sent to the Watson IoT Platform.

By using IMSI and IMEI as the device ID, it is not necessary to set the device ID for each device even if there are a large number of devices. Even if you send data using the same command, Watson IoT Platform will be able to identify each device because IMSI or IMEI will be granted individually.

When registering a device to Watson IoT Platform, you will register with the device ID to which IMSI or IMEI has been added.

“Working with SORACOM Beam and IBM Watson IoT Platform” is over.

Getting Started

SORACOM Air for Cellular

SORACOM Air for Sigfox


SORACOM Canal/Direct/Door





SORACOM Inventory

SORACOM Junction



Service Detail

Developer Tools