This is a quick start tutorial for IBM Watson IoT Platform for Mongoose OS.
mos watson-iot-setup
This does not require any credentials and will set up the device for QuickStart cloud dashboard connectivity. With QuickStart dashboard, you will be able to send data from the device at a limited rate but device management (sending commands to the device) is not available.
Note: in order to make a button press to send events,
mos config-set rpc.mqtt.enable=false
fs/init.js
and edit
set_button_handler()
callback by changing topic name:let topic = 'iot-2/evt/mos/fmt/json';
Save, upload to a device using mos put fs/init.js
, and reboot.If you already have an IBM Cloud account and a cloud orgaization set up (you can register for a free trial here) you can use mos
to add a device to your org.
You will need to obtain app access credentials for mos
to use:
mos
command line:$ mos watson-iot-setup --watson-api-key a-bcdefgh-qwertyio --watson-api-auth-token "tokengoeshere"
Using port /dev/ttyUSB0
Connecting to the device...
esp8266 1AFE34A5930F running demo-c
Org ID: bcdefgh
Device ID: esp8266_A5930F
Checking device type "mos"...
Creating device "esp8266_A5930F"...
Updating config:
device.id = esp8266_A5930F
watson.client_id = d:bcdefgh:mos:esp8266_A5930F
watson.enable = true
watson.host_name = bcdefgh.messaging.internetofthings.ibmcloud.com
watson.token = SECRET
Setting new configuration...
Saving and rebooting...
Note: As with other flags, values can be specified as environment variables: MOS_WATSON_API_KEY
and MOS_WATSON_API_AUTH_TOKEN
.
Invoked with no additional flags, as above, mos
will use device type mos
(will be created if necessary) and device ID derived from platform and the device's unique ID (usually MAC address) and a random auth token. Additional flags can be provided to override these defaults:
--watson-device-type
- specifies device type--watson-device-id
- specifies device id--watson-device-auth-token
- specifies device auth token instead of generating a random one--watson-api-host-name
- use this host name for API calls instead of ORG_ID.internetofthings.ibmcloud.com
--watson-messaging-host-name
- use this host name for device connections instead of ORG_ID.messaging.internetofthings.ibmcloud.com