A developer’s guide to the Internet of Things (IoT)

The Internet of Things (IoT) is an area of rapid growth and opportunity. Technical innovations in networks, sensors and applications, coupled with the advent of ‘smart machines’ have resulted in a huge diversity of devices generating all kinds of structured and unstructured data that needs to be processed somewhere.Collecting and understanding that data, combining it with other sources of information and putting it to good use can be achieved by using connectivity, analytical and cognitive services now available on the cloud, allowing development and deployment of solutions to be achieved faster and more efficiently than ever before.This course is an entry level introduction to developing and deploying solutions for the Internet of Things. It will focus on capturing data from a trusted device and sending the data to a cloud platform where it can be exploited by the many services available. You will explore all the steps required to create a basic IoT solution using a popular device, the Raspberry Pi, and a trial version of the cloud-based IBM Watson IoT Platform. What prerequisite skills are required ?This is an entry level course, but does assume you have basic programming skills. The assignments set use both Python and JavaScript programming languages, so some basic skill in these languages is required. No previous experience with IBM Bluemix or the IBM Watson IoT Platform is required.What additional resources do I need for this course? The Server side code for the assignments will use the IBM Cloud platform, so you will need to sign up for a free account on that platform.What technology is required to complete the course? The programming assignments require you to have a Raspberry Pi device – any model of Raspberry Pi with a 40 pin header. The course also uses the SenseHAT extension board, whilst it is preferable to have a SenseHat there is a simulator provided if you can’t get a SenseHAT. You will need internet connectivity to download software, connect to the platform, develop and deploy your IoT solution.Your Rasberry Pi will need the latest Rasbian Jessie OS. This OS will be on a Micro SD Card. The recommended size of the SD card is 8GB but 4GB will do. Note that the learner kit comes with a preconfigured SD card.In order to setup the Micro SD card, you will need a computer with either a windows, apple or Linux OS. Since most computer do not have a micro SD port, you will need a Micro SD adapter or USB Micro SD card adapter. Your computer will also be used when working on the platform.To work on your Raspberry Pi, you will need an HDMI monitor or TV to work as the display for the Raspberry Pi (DVI monitor will also work). To connect the monitor to the Raspberry Pi you will need an HDMI cable (or a DVI to HDMI cable).Your Raspberry Pi needs a way to connect to the internet; either an Ethernet cable for connecting to the Router, or a USB WiFi dongle if you have wireless connectivity. Note that the Raspberry Pi 3 includes built-in WiFiA USB Keyboard and mouse.Your Raspberry Pi will also needs a 5V micro USB power supply i(This may be a phone charger for example)There is an IoT Learner kit available from element14 which includes the Raspberry Pi, a pre-flashed SD card, a case and power supply


  • Create applications that leverage connectivity and analytics as part of an integrated IoT platform.
  • Use Node-RED, an open-source visual application development environment, on both the device and the cloud.
  • Create a basic IoT solution by leveraging pre-built blocks of code that abstracts and speeds the development process.
  • Use APIs to access the platform and explore the different connectivity options for various devices, gateways and applications.
  • Explore options to ensure your solution makes best use of the captured data.


Rapid application development in the cloud

  • Introduction to the IBM Cloud
  • Overview of Cloud Computing
  • What is the IBM Cloud?
  • Create an IBM Cloud account
  • A tour of the IBM Cloud user interface
  • IBM Cloud Summary
  • Deploying Node-RED on the IBM Cloud
  • Introduction to NodeRED
  • Introduction to NodeRED
  • The NodeRED Function node
  • NodeRED Additional node part

Rapid application development on a Raspberry Pi

  • A quick look at devices and sensor options
  • Setting up a Raspberry Pi and Raspberry Pi Sense Hat
  • Extra resource – (for Windows) Install the Raspbian Jessie OS on an SD Card
  • NodeRED on Raspberry Pi
  • Watson Internet of Things platform
  • Devices, Applications and Gateways
  • Sending commands to a device
  • SenseHAT and SenseHAT simulator nodes in NodeRED
  • Additional assistance for the end-to-end assignment

Lower level programming for the Internet of Things

  • SenseHAT python API
  • MQTT5
  • Deploying an application to Bluemix


This is an entry level course, but does assume you have basic programming skills. The assignments set use both Python and JavaScript programming languages, so some basic skill in these languages is required.


5 Days