Prerequisites and Requirements
- Practical IoT for Personal Development is designed to accommodate those with even the most modest technical background. Nevertheless, while no programming skills are required to complete the tutorial, a background in HTML5/Python/Arduino-C++ will be advantageous; basic digital electronics knowledge is also a plus
- Required: Smart Phone (or any other portable device e.g. tablet, laptop)
- Optional:
◦ A Laptop (Ubuntu, Mac, MS Windows); only for those interested in ESP8266 F/W dev.
◦ Highly Recommended: Raspberry Pi (3B or 4B) with at least 16GB SD card; a Picamera v2 if possible
Program Outline
PART 1: IoT and Home Automation
- IoT, M2M, and Home Automation Concepts
◦ IoT architectures and components for the CH
◦ Wireless technologies and commodity hardware for DIY CH
◦ M2M with MQTT
◦ Introduction to the O/S Home Assistant (HA) home-automation hub on Raspberry Pi
- ESP8266 Platform Programming and Physical Computing
◦ ESP8266 development ecosystem: IDE and Support Libraries
◦ ESP8266 API: GPIO, PWM, Bus Communications, Timing and Delays
◦ ESP8266 Networking: WiFi, Web Server, OTA Updates
- Project-1.1: A Complete and Scalable DIY IoT Lighting Solution for the CH
◦ Remote control a variety of lighting modes on a (e.g. WS2812) addressable LED strip with ESP8266 via smart-phone app interface
◦ Integrate the DIY setup with Home Assistant Hub on Raspberry Pi for a scalable CH lighting solution
NOTE: This template setup can easily be extended for the control of some other DIY device (solenoid, relay, etc) or even HA-supported vendor appliance.
PART 2: Web and Mobile App Technologies
◦ HTML5
◦ HTTP/REST and WebSockets
◦ Web Applications, Components/Stacks
◦ Mobile App Technologies
PART 3: Media Streaming Technologies and WebRTC
◦ Media Streaming Protocols: RTP, RTSP, RTMP, HTTP (HLS, MPEG-DASH)
◦ Media Streaming Codecs and Containers
◦ Live Streaming Setups for IoT
◦ Web Realtime Communications (WebRTC) for IoT
PART 4: CH Edge Computing and AI Integration
◦ WebRTC edge gateway on Raspberry Pi with multi-user support and multi-cam support for commodity (WiFi) ONVIF or DIY cameras (e.g. Raspi-Cam, ESP32-Cam)
◦ IoT interfaces for:
▪ Remote actuator control (e.g. Camera PTZ, Relay)
▪ Motion sensor (e.g. PIR) “silent alarm” integration
▪ Edge video analytics (e.g. OpenCV/ML) “smart silent alarm” integration
◦ Application scenarios: Home/Office security, child monitor, wildlife observation, etc