New documentation site (with mkdocs): https://danielamazza.github.io/A_Developer_Guide_To_the_IoT_IBM
- Up to now the course has used the NodeRED rapid application development environment. This unit looks at how to program for the Internet of Things platform using more traditional programming environments
-
About this course
-
What is the Internet of Things?
-
- An Internet of Things solution usually requires a back-end server to receive and process data coming from sensors. Cloud platforms allow new solutions to be created and deployed very rapidly without having to worry about how to host the application. This series of lessons introduces you to a cloud based Platform as a Service and an open source rapid application development environment called NodeRED.
-
Introduction to a Platform as a Service - IBM Bluemix
-
Introduction to IBM Bluemix - Agenda 27 sec (mp4) 1. Cloud computing 2. What is IBM Bluemix? 3. A tour of IBM Bluemix
-
Overview of Cloud Computing 3 min (mp4) 1. IaaS(Infrastructure as a Service) 2. PaaS(Platform as a Service) 3. SaaS(Software as a Service)
-
Learning module summary: Introduction to Platform as a Service - IBM Bluemix 10 min (pdf)
-
-
Rapid application development for Internet of Things
-
Introduction to NodeRED-1 11 min (mp4) * Node-RED is a visual tool for wiring together hardware devices, APIs and online services – for wiring the Internet of Things. Node-RED provides a browser-based flow editor that makes it easy to wire together flows using the wide range nodes in the palette. Flows can be then deployed to the runtime in a single-click. JavaScript functions can be created within the editor using the a rich text editor. A built-in library allows you to save useful functions, templates or flows for re-use. The light-weight runtime is built on Node.js, taking full advantage of its event-driven, non-blocking model. This makes it ideal to run at the edge of the network on low-cost hardware such as the Raspberry Pi as well as in the cloud. With over 120,000 modules in Node's package repository, it is easy to extend the range of palette nodes to add new capabilities. The flows created in Node-RED are stored using JSON which can be easily imported and exported for sharing with others. An online flow library allows you to share your best flows with the world.
![NodeRED_terms.png](https://github.com/leehaesung/A_Developer_Guide_To_the_IoT_IBM/blob/master/01_Lecture_Notes/ImageFiles/NodeRED_terms.png)
-
Deploy NodeRED to Bluemix using a Boilerplate - step by step 10 min (mp4)
-
Learning module summary: Rapid application development for Internet of Things 10 min (pdf)
-
-
NodeRED function node
- The NodeRED Function node part 1 6 min (mp4)
- Function node - step by step 10 min (pdf)
- The NodeRED Function node part 2 6 min (mp4)
- The NodeRED Function node part 3 5 min (mp4)
- Making packages available to the function node - step by step 10 min (pdf)
- Quiz: Using the function node 5 questions
- Submitting your first assignment 10 min
- Programming Assignment: Your First NodeRED application 3h
- Learning module summary: NodeRED function node 10 min (pdf)
-
Additional NodeRED nodes
- NodeRED Additional node part 1 6 min (mp4)
- NodeRED Additional node part 2 6 min (mp4)
- Template node sample flow 10 min (pdf)
- NodeRED Additional node part 3 6 min (mp4)
- Controlling a node using input data 10 min (pdf)
- NodeRED Additional node part 4 6 min (mp4)
- Programming Assignment: NodeRED application3h
- Learning module summary: Additional NodeRED nodes 10 min
-
- This unit looks at how to add a device to your solution. Creating an application on a Raspberry Pi and establishing secure, trusted communication between your cloud application and devices
-
Raspberry Pi and SenseHAT * A quick look at devices and sensor options 6 min (mp4) * Setting up a Raspberry Pi and Raspberry Pi Sense Hat 9 min (mp4) * Setting up your Raspberry Pi - step by step 10 min (mp4) * Extra resource – (for Windows) Install the Raspbian Jessie OS on an SD Card 1 min (mp4) * Learning module summary: Raspberry Pi and SenseHAT 10 min (pdf) * Schematic of Raspberry Pi2 * Schematic of SenseHAT
-
Rapid Application Development with NodeRED on a Raspberry Pi * NodeRED on Raspberry Pi part 15 min (mp4) * NodeRED on Raspberry Pi part 2 6 min (mp4) * QuickStart flow - step by step 10 min (mp4) * Programming Assignment: QuickStart flow on Raspberry Pi 3h (pdf) * Learning module summary: Rapid Application Development with NodeRED on a Raspberry Pi 10 min (pdf)
-
Introduction to the Watson Internet of Things Platform * Watson Internet of Things platform 5 min (mp4) * Devices, Applications and Gateways part 1 6 min (mp4) * Devices, Applications and Gateways part 2 7 min (mp4) * Quiz: Using the NodeRED flow editor with your own Watson IoT platform 5 questions * Learning module summary: Introduction to the Watson Internet of Things Platform 10 min (pdf)
-
Controlling a device * Sending commands to a device 4 min (mp4) * SenseHAT and SenseHAT simulator nodes in NodeRED 3 min (mp4) * Programming Assignment: End-to-end scenario 3h (pdf) * Learning module summary: Controlling the device 10 min (pdf)
-
- Up to now the course has used the NodeRED rapid application development environment. This unit looks at how to program for the Internet of Things platform using more traditional programming environments
-
Watson IoT APIs * IoT platform APIs 3 min (mp4) * Official GitHub: iot-python * SenseHAT python API 4 min (mp4) * Programming Assignment: SenseHAT python API 3h (mp4) * Learning module summary: Watson IoT APIs 10 min (pdf)
-
MQTT(Message Queue Telemetry Transport) * MQTT 5 min (mp4) * “MQTT(Message Queue Telemetry Transport) is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport.” * Small Code footprint * Low Power consumption * Low network bandwidth * A pub-sub system
* This differs from peer-to-peer communication, like email or SMS texting, where the sender sends a message to a specified receiver. ![MQTT02.png](https://github.com/leehaesung/A_Developer_Guide_To_the_IoT_IBM/blob/master/01_Lecture_Notes/ImageFiles/MQTT02.png) * In pop sub communication, there is a broker in the middle on the sender, publishes data to the broker against a topic. So you can think of it almost like a bulletin board. Where the sender is not really aware of who is going to consume the data. The advantages of the coupling, the sender and receiver means that a message can be sent to multiple recipients without the sender needing to know who those recipients are. ![MQTT01.png](https://github.com/leehaesung/A_Developer_Guide_To_the_IoT_IBM/blob/master/01_Lecture_Notes/ImageFiles/MQTT01.png) * Quiz: MQTT in Watson IoT Platform 5 questions * [MQTT Exercise 10 min (pdf)](https://github.com/leehaesung/A_Developer_Guide_To_the_IoT_IBM/blob/master/02_Lecture_Videos/35_MQTT%20Exercise_10min.pdf) * [You reached the end of this learning module. You are now able to: 10 min (pdf)](https://github.com/leehaesung/A_Developer_Guide_To_the_IoT_IBM/blob/master/02_Lecture_Videos/36_MQTT%20Exercise_10min.pdf) * (Additional material) IoT 101 Network Diagram ![IOT-101-Network-Diagram](https://github.com/leehaesung/A-developer-s-guide-to-the-IoT-by-IBM/blob/master/01_Lecture_Notes/ImageFiles/IOT-101-Network-Diagram-FINAL-01.png)
-
Deploying Applications to Bluemix * Deploying an application to Bluemix part 1 6 min (mp4) * Application development for Bluemix - basic server step by step 10 min (pdf) * Deploying an application to Bluemix part 2 6 min (mp4) * Application development for Bluemix - deploy to Bluemix step by step 10 min (pdf) * Deploying an application to Bluemix part 3 6 min (mp4) * Application development for Bluemix - accessing services step by step 10 min (pdf) * Programming Assignment: Using the IoT APIs in a Bluemix application 3h (pdf) * Learning module summary: Deploying Applications to Bluemix 10 min (pdf)
-
Wrap up * Course summary 2 min (mp4)
-
- What is npm? NPM makes it easy for JavaScript developers to share and reuse code, and it makes it easy to update the code that you're sharing.
- Watson IoT Platform Documentation
- YouTube: How It Works: Internet of Things
- Watson IoT Academy
- To learn JavaScript
- NodeRED
- Node-RED: A visual tool for wiring the Internet of Things
- Node.js
- Introducing JSON
- JASON Standard pdf file
- Python.org
- IBM Bluemix
- Bluemix Platform as a Service functionality
- CloudFoundry Command Line Interface tool
- SenseHAT Python API
- IoT on Raspberry Pi By IBM
- Raspberry Pi: Find IoT projects at Raspberry Pi.
- MQTT Connectivity for Gateways (IBM)
- raspberry-pi-tightvnc-server
- IBM Watson: Using the Visual Recognition service to classify Dog Breeds!
- IBM Watson, Machine Learning: How to use the "Retrieve and Rank" service in IBM Bluemix!
- Node RED Programming Guide to the IoT
- GitHub: Official iot-python
- Serach 'IBM IoT Raspberry Pi' in GitHub
- Connecting Raspberry Pi devices to the IBM Internet of Things Foundation
- IoT Demo: Use the IBM Watson Speech to Text service to make a Raspberry Pi speak the current time and weather
- Demo de una aplicación de IoT usando la plataforma IBM IoT Foundation, una Raspberry Pi y Python
- Raspberry Pi, IBM IoT Watson, and Node.js Experiments
- Connect Raspberry Pi to IBM Internet of Things in Bluemix
- C++0x sample for connecting Raspberry Pi Model B devices to the IBM Internet of Things Cloud 'Quickstart' service.
- Coursera Raspberry Pi IoT IBM Bluemix
- tsl2561 light sensor on a raspberry pi feeding sensordata to IBM IoT platform written in C
- A Tutorial how to use a bluetooth device on a Raspberry PI to send proximity data to IBM Watson IoT Platform to let a car switch an appliance on and off
- MQTT at GitHub
- Questions in Internet of Things space
- knolleary Blog
- scargill's Tech Blog
< END >