
Understand what the internet of things means and how devices talk to each other, from smart homes to phones. Learn to code IoT for automation and alerts.
Learn how the internet of things links networked sensors and embedded devices to collect and exchange data with unique identifiers and actuators.
Set up the Lua offline editor and offline reader on Windows, install the app, and run hello world to view console output. Learn local programming with require and file execution.
Learn the basics of Lua, focusing on declaring and using local variables, starting with a hello world example and defining a local variable named my_text in an online editor.
Explore decision making in IoT programming with local variables, if-else conditions, and status updates, then observe the console output.
Demonstrate how local variables are scoped to the defining block, and how if and else blocks control visibility and console output of variables like temperature and status.
Learn how to declare and use global variables across views and files, access and print their values, and distinguish global from local variable scopes in IoT programming.
Explore the string library basics by declaring variables, locating substrings with find, measuring length, converting to lowercase and uppercase, extracting substrings, and concatenating strings to produce results in the console.
Explore the string format function from the string library, declare variables, and display temperature and humidity with precise decimal formatting, illustrating three-decimal and two-decimal outputs.
Learn how to use for loops, set a starting value, adjust the increment, and observe numbers from 1 to 10 (and 5 to 10) in the console.
Explore how a while loop uses a counter, a condition, and increments to print 1 through 10, and to produce 1, 3, 5, 7, 9 when stepping by two.
Learn how to encapsulate common code with functions by creating a calculator function that accepts two parameters, returns a result, and centralizes changes to one place.
Learn to use tables as arrays by declaring and initializing an array, accessing values by index or string keys, and printing results to the console and datagrid.
Wrap functions and variables in a table that serves as a namespace, load it with require, return it as the module, and expose a say_hello function that prints hello world.
Explore the math library by declaring variables, displaying pi in the console, and implementing functions that round values down and up via parameters.
Explore the GitHub code repository for the project goals, access tutorials and resources, download stable files, browse folders with code descriptions, and clone or download the project for updates.
Discover the shopping list of sensors and components used in this IoT course, with links, search keywords, and Excel download for updated tutorials.
Explore the ESP8266 development board, a standalone, highly integrated chip that provides full internet connectivity in a small package, programmable, featuring break-out pins, reset and flash buttons, and status indicators.
Identify ESP8266 pins on the development board, including 3.3v and ground, GPIO and A0 for analog reads. Explore digital input/output and UART serial communication with TX and RX.
Learn how to build a custom NodeMCU firmware and flash it to a development board, using Windows and Ubuntu, including model selection, downloads, and flashing steps.
Learn to flash a custom NodeMCU firmware on Windows using the NodeMCU flasher, including downloading the build, connecting the development board, and setting the port and baud rate for flashing.
Breadboard lets you insert electronic components to prototype a circuit without soldering. Positive red and negative blue rails run along the sides, with holes grouped in fives for easy connections.
Learn to set up the Explorer IDE for programming an IoT device, transfer code to the board, and understand that JDK 7 or higher is required for installation.
Install the JDK on Windows to run the Explorer ID for IRP programming; download from java.oracle.com, accept the license, install, set JAVA_HOME and PATH, and verify with java -version.
download and extract the ESPlorer IDE from the official site, then launch it by double-clicking the data file or running java -jar explorer.jar.
Learn to use esplorer, an ide for ESP8266 development, to connect a board, select the correct port and baud rate, transfer and run code, manage files, and view console output.
Master GPIO and timer modules for IoT by reading temperature sensor data with GPIO input and controlling the LED module via GPIO output, covering static and dynamic timers.
Blink the onboard LED of the ESP8266 development board using a timer to toggle every 1000 milliseconds; connect, select the board and port, and transfer the code.
Explore the ESP8266 version 3 development board, compare it with version 2, and update your blink program to use pin 4 instead of 0, wiring safely on a breadboard.
Wire a led module to a breadboard with a 220 ohm resistor, identify polarity, and connect the anode to a gpio pin and the cathode to ground on Elodie.
Understand init.lua, save the main file with the correct name, and upload a blinking led program while testing the startup sequence and considering a startup delay.
Wire the motion sensor to the development board, adjust delay and sensitivity, and read its digital output that rises to about 2.3 V on motion and stays low otherwise.
Learn to connect a motion sensor to a microcontroller and drive an LED with a 220 ohm resistor, turning it on for a set duration when motion is detected.
Learn how to connect an ESP8266 development board to wifi in station mode and run a web server, fetch the device IP, and interact via browser on any device.
Learn how to connect the ESP8266 to wifi using an alternate timer approach that fetches the IP address as soon as it becomes available, without waiting the full 10 seconds.
Learn to configure the ESP8266 as a web server by connecting to wifi, obtaining an IP address, and serving browser content on port 80 using listen and socket events.
Explore how HTML tags and CSS style a web page served by an ESP8266 web server, including the page title, responsive viewport, two-column layout, and anchor links with query parameters.
Learn how to set up an ESP8266 webserver and interpret browser requests. Extract query parameters for on/off values and manage dynamic versus static IP addressing.
Learn to fetch on and off parameter values from HTTP requests on the ESP8266 webserver, parse the query string with substring logic, and control state accordingly.
Build an ESP8266 webserver to control an LED via a browser, wiring a 220-ohm resistor to the development board and initializing the LED to low.
Learn how to assign a static ip for an IoT server by identifying the ip range and gateway, configuring the static address in code, and testing in a browser.
Read temperature and humidity from a dht sensor using the read method and display the results. Configure a 3.3-volt supply and pull-up resistor on a breadboard to support reliable readings.
Explore how to use the ThingSpeak cloud to create a channel and post sensor data. Visualize, analyze, and act on readings with public or private channels and API keys.
Learn to use the ThingSpeak mobile app to view temperature and humidity from a channel on Android and iPhone, including making the channel public and using the channel key.
Explore MQTT as a machine-to-machine publish-subscribe protocol for the internet of things, featuring topics, brokers, subscribers and publishers, quality of service, and last will and testament.
Create and configure a cloud mqtt instance, manage users and permissions, and set up topics like motion detected and real estate with read/write access to publish and subscribe for testing.
Implement mqtt as a publisher and subscriber for a motion detector, using topics motion detected and elodie state to send data to a cloud broker.
Explore MQTT implementation for IoT projects by publishing motion detected events, handling online and offline states, configuring QoS and retained flags, and using last will and testament.
Explore mqtt keep alive as periodic pinging to maintain client broker connections within a keepalive interval. Understand half-open scenarios and timeouts with example intervals like 100 and 150 seconds.
Demonstrates mqtt based wireless communication between two esp boards by publishing keepalive and motion-detected messages and subscribing to topics to control an Elodie led with a timer.
Learn to control an LED using MQTT with a mobile app by subscribing to a topic, sending on/off messages, and observing state changes through a simple IoT workflow.
Use MQTT with a mobile app to control the Elodie LED via cloud and server, with Android and iPhone clients publishing state messages to a topic.
Learn to send emergency sms using voice commands by configuring if this then that with Google Assistant, defining trigger phrases, and connecting a messaging service to test on Google Home.
Build an emergency button workflow with IFTTT maker service and Make webhooks to trigger an email alert. Include event name and time in the email body for five recipients.
Learn how to wire a digital pushbutton to a development board, read the button via gpio, and trigger an email alert when pressed, sending emergency notifications to a medical service.
This course is meant for DIY enthusiasts, Engineers, Professionals and College Learners. This course starts from very basics and then slowly moves towards the advanced concepts. It uses very easy and interactive language, i.e. LUA Script to do programming for Internet of Things. The tutorials primarily use ESP8266 development board.
This course contains interesting projects using various sensors and actuators like, LED module, Motion Sensor, DHT22 Temperature and Humidity Sensor, Digital push button etc. The course contains detailed projects using various clouds like ThingSpeak and CloudMQTT etc. The course explains the concept of MQTT and IFTTT services in detail. The course explains in detail about the advanced concepts like HTTP to MQTT bridge using AWS, controlling things using voice commands etc.