
An introduction to IOT system. With a block diagram, the course will go through the various elements of an IOT system that includes a hardware (IOT device), a central server (usually cloud server) and a user interface (usually some apps such as Google Home or Alexa) on a smart phone. An introduction to the workflow of the lessons in the course as well as the components/equipment required to complete this course will be discussed
In this lesson, the students will design the hardware of an IOT device based around an ESP8266 microcontroller.
The design will be a general purpose hardware with ability to connect any external 110/240VAC load such as an electric light or a fan or anything like that. The device should also be able to actuate a solenoid. One must be able to connect most of the available sensors to it.
In this lesson, the students will cable a few sensors such as a temperature/humidity sensor and a motion sensor. They will also cable 110/240VAC light to their IOT device through a relay. They will also connect power to the device that they designed and fabricated.
In this lesson, the students will install Arduino IDE on their computer. Then load and the needed libraries. They will configure arduino and set the board to Node MCU
In this lesson, the students will learn programming Arduino IDE. They will develop the needed firmware program for the hardware that they designed with an ESP8266 microcontroller.
In this Lesson, the students will build a cloud server with Google Cloud
This lesson gives an introduction to MQTT, the common communication protocol used in IOT systems. Students will learn about its basics.
In this Lesson, the students will install and configure an MQTT broker on their cloud server.
This lesson is on programming for MQTT communications. Students will learn programming on their cloud server to communicate through MQTT broker.
In this lesson, the students will develop a Publish/Subscribe program on their cloud server in python to communicate through MQTT broker with the IOT device they designed and fabricated.
In this Lesson, the students will modify their Arduino firmware to communicate with cloud server through MQTT broker.
The students will develop a program to send emails when motion is detected by a motion sensor connected to the hardware of the IOT device that they designed and fabricated.
As a domain name is required to complete the rest of the lessons in this course, they will register a domain name and associate it with their cloud server.
In this lesson, the students will install and configure a Django web server on their cloud server. Django web server is needed in an IOT system for user interface.
In this lesson, they will install and configure apache2 in their cloud server. They will configure it such that apache2 can serve pages from Django application. This helps in accessing the web server through http port 80 on any remote web browser.
In this lesson, students will do some exercises with Django web server to display pages on a browser. these exercises will help them to develop the interface with the IOT devices.
In this lesson, the students will instal an ssl certificate from LetsEnceypt on their cloud server to make the communication secure. That also helps accessing the web server server through https port making the communication secure.
Once the SSL certificate is installed on the cloud server, they will load that certificate in MQTT broker so that communication through MQTT broker is also encrypted.
In this lesson, the students will modify their Arduino firmware to use SSL certificate so that communication between the IOT device and MQTT, and thereby the cloud server, will be encrypted.
In this lesson, the students will modify their Django programs to enable user login so that only allowed users can access the IOT system.
This is the first lesson on Google home interface with their IOT system. They will open an account with Google Action Console and set up endpoints for account links and action fulfillment.
In this lesson, the students will write programs in python for their web server for account linking with Google Home. They will develop the programs for Authorization as well as Token exchange.
In this lesson, the students will write program on their Django web server for SYNCing their devices with Google Home. This programs help Google Home to discover their devices in Google Home.
In this Lesson, the students will develop the needed programs for responding to QUERY requests from Google Home server.
In this lesson, the students will develop programs in their Django web server to respond to EXECUTE action requests from Google Home server.
In this lesson, the students will conduct a final test with the IOT system and device they developed in this course.
In this lesson, the instructor will demonstrate an IOT system developed by another company wifisecureaccess.com. This demonstration will give the students an idea of what addition features they can incorporate in their design.
This is a complete hands-on course on design and development of an IOT system from scratch. The major components (or modules) of an IOT system are a smart device, MQTT broker, cloud server, a web server with user interface through Google Home or Alexa. In this course, the students will learn to design and develop every component of an IOT system. They will learn how to design the hardware of an IOT smart device, learn how to develop the firmware using Arduino IDE. Then they will learn installing a cloud server and configuring it. Then, they will learn installing an MQTT broker in the cloud server, as well as installing a Django web server. They will then learn writing publish/subscribe programs for MQTT as well as web server so that users can activate any port of a smart device by clicking appropriate buttons on the browser of a remote computer. They will, then learn about linking the Google Home console server with their cloud server. They will learn how to write the needed programs for their web server to handle account linking and action fulfillment. At the completion of this step, they will be able to activate any port of their device by voice command on Google Home on their smart phone.
After completion of this course, students will acquire skills and knowledge about every module of an IOT system.
At the end of this hand-on course, they would have also developed a working IOT system that they can use in their home or office for applications such as turning ON/OFF of an equipment or any electrical load, opening a garage door, or using as a keyless entry controller to their house using a smart phone. They also would have built an IOT system that they can experiment with and learn further to enhance their skills and expertise in IOT. They also will have a system that can be used for making marketable products.