Introduction: Making a IoT Cloud Service With ARM Mbed Platform and IBM Bluemix

About: Embedded Firmware Engineer / Researcher. I'm Interested in IoT platforms and OpenSourceHardWare like arduino, Cloud, Web / App and product development.

IoT Cloud Platform gives you the tools to scale connections, gather and make sense of data, and provide the reliable customer experiences that hardware devices require. IBM Bluemix has a service that is part of its catalog to connect to the IBM IoT Cloud. In addition to the service, Bluemix has a boilerplate for the internet of things which stands up a Node-RED instance allowing you to design flows for your IoT data.

So, I made my own IT cloud service with IBM bluemix and ARM mbed platform; WIZnet WIZwiki-W7500 board. In the process, I’ve porting IBM cloud MQTT ethernet example for mbed to my WIZwiki-W7500 board.

Step 1: Parts

WIZnet WIZwiki-W7500 Platform board

  • WIZnet WIZwiki-W7500 is a WIZwiki platform board based on W7500. The IOP4IoT W7500 chip is one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially internet of things.
  • Full features refer to the next link: http://wizwiki.net/wiki/doku.php?id=products:wizwi...

Seeedstudio Grove Starter kit for mbed

  • Grove Starter Kit for mbed is designed for beginners to get started with mbed as soon as possible. It contains Plug-n-play hardware modules e.g., temp senser and light sensor.
  • For more details, refer to the next link: http://www.seeedstudio.com/depot/Grove-Starter-Kit...

A computer for using ARM mbed web compiler and IBM bluemix configurations

Step 2: Hardware Settings

Connect the WIZwiki-W7500 board and sensors using Grove baseboard.

  • WIZwiki-W7500 board
  • Grove Light sensor
  • Grove Temperature sensor

Step 3: Create an Application to Process Device Data

  1. Go to IBM Bluemix and sign up
  2. Select the Internet of Things Foundation Starter Boilerplate by completing the following steps from your Bluemix dashboard
    • Under “Applications”, click “Create an APP”
    • Select that you would like to create a “Web” app
    • Click “Browse Boilerplates” and click “Browse Boilerplates” once more
    • Next to “Boilerplates”, select “Internet of Things Foundation”
  3. Finish adding the app by completing the following steps:
    1. Provide a name for your application
    2. Click the CREATE button
    3. After a short wait your application will start
  4. Once your application starts click the application URL to open the Node-RED Internet of Things landing page (this shows up as Routes: on your dashboard)
  5. Scroll down the Node-RED Internet of Things landing page and select the Go to your Node-RED flow editor button

For more details, please refer to the IBM recipes: ARM mbed IoT Starter Kit

Step 4: Device Registration and Link Your App

  1. Double click the IBM IoT App In node in your Node-RED flow editor.
  2. In the Authentication type field, select Quickstart from the pull-down list.
  3. Enter the device ID of your board into the Device ID field.
  4. Look for the deploy button in the upper right hand corner of your Node-RED flow editor

Step 5: Import Mbed Program and Modify the Code for Your Auth Info

  1. Go to ARM mbed developer site
  2. Import IBMIoTClientEthernetExample_WIZnet to your mbed web compiler.
  3. full fill your device auth codes (defines in main.cpp file)
    • ORG
    • ID
    • AUTH_TOKEN
    • TYPE
  4. Compile and generate Binary

Step 6: Run and Enjoy It!

Example IoT cloud service automatic twit when light off. You can modify and adjust program code using various sensors. Enjoy it!

<Note>

  • IBM bluemix IoT cloud filtered device connection by MAC address. You have to use ARM MAC address. (WIZnet MAC address do not support yet.)