You will start from the basic tools of the Internet of Things technology and will finish with a high-level programming. During this program you will work on IoT projects with Arduino, Raspberry Pi, ESP32 hardware.
At first part of the program we’ll focus on the IoT basics, like:
Definition of IoT devices with use cases and scenarios for IoT;
IoT hardware design including Arduino and Espressif SoCs;
IoT sensors and actuators, their connectivity and its programmatic control;
Programming in C++ general and specific for aforementioned SoCs;
IP networking principles for Espressif SoCs.
The second part is about programming solutions and include several topics:
IoT network topologies including star and mesh, device to device, device to gateway and device to cloud;
6LoWPan and its relation to IPv4 and IPv6;
General information about Bluetooth Scatternet and Bluetooth Mesh (5.0) network topologies;
Cellular communication principles and their use in IoT solutions;
Information about hardware and operating systems for Raspberry Pi platform;
Programming (including GPIO and interfacing sensors and actuators) in Python for Raspberry Pi under Raspbian OS. This includes basic information on OS installation and development environment configuration.
And the last part is about high-level IoT development, like:
IoT security and privacy guideline;
Several cases of how to find and fix vulnerabilities;
Robot Operating System programming introduction;
OpenHAB as a common interface for home automatization and IoT;
Peer-to-peer device communication.
Courses under this program: Course 1: A Subjective Introduction to the IoT
If you have no idea what is IoT and how to start your adventure with IoT, programming and networking, keep studying. This course is a painless introduction to the IoT technology.
Course 2: IoT Networking and Fog Layer Devices
In this course students will learn about specific IoT networking protocols and Fog devices programming, here Raspberry Pi, in Python and C# languages.
Course 3: Data Management, Data Security and Robot Operating System as a Common Tool for IoT
Data management and its security and privacy is an important topic for IoT. Development of the common solutions with the same vulnerabilities creating a new challenge!
This course covers an overview of selected IoT technologies, tools and methods. Firstly you'll find out what is IoT then we will guide you through the popular IoT hardware, including Arduino and Espressif ESP8266 and ESP32 System on Chips, sensors and actuators, finally through the introduction to the networking. Right enough for now to let you understand IoT idea, start programming and embrace IoT technology. Even configure your devices to talk to your home network and send data over MQTT to the cloud.
In details we discuss deeply the genesis of the IoT, enabling technologies that made IoT devices to hit over 20 billion of the devices to be interconnected by 2020. We also make a short review of the popular scenarios that extensively utilise IoT approach and devices. Once you get an IoT overview, it is time to step into the technical details. In the following part of the course, we will introduce you to the Arduino microcontrollers, Espressif ESP8266 and ESP32 as well as a number of popular sensors and actuators. Following section is on microcontrollers programming in popular Arduino IDE. Finally, we will introduce you to the IoT networking. In this course we use regular IP network with elementary MQTT application protocol presentation.
Course contains example codes in C++, usually "Hello World" style, including networking, communication with sensors and actuators and even short programming in C++ crash course.
If you have some experience with IoT end node devices, here comes advanced part for the networking.
We present networking layer protocols, in details 6LoWPan and selected application level protocols including in depth presentation of the MQTT and CoAP protocols. We also present important facts on other popular networking protocols like Bluetooth, BLE, TCP/IP, UDP, HTTP and their relation and usability in IoT world. Course contains material covering different networking IoT scenarios, including gatewaying, routing, star and mesh network topologies.
We also present in details Raspberry Pi platform as an example of the Fog computing device, including a short course on Python programming for Raspberry Pi under Raspbian OS and C# programming for Raspberry Pi under Windows 10 Core IoT OS.
As materials are provided by authors who develop real IoT solutions and work not only in academia but also in industrial projects, your study will have applied character, getting you ready for challenges of the IoT challenging world, including Industry 4.0 and Smart Cities, Smart Metering and many, many others.
If you are interested in home automation and connected devices, this course is for you.
IoT security and privacy come as a big challenge with an increasing number of connected devices. Authors will guide you through the guideline and will show common vulnerabilities. After that part you will be able to make your work more secure.
There is a lot of software solution for IoT, and we'll focus on the popular open source framework OpenHAB. It provides an interface to connect and tune your device. The next tool for software development in the IoT field is the Robot Operating System. It's a common framework for robot programming but the special IoTbridge tool provides a bridge between ROS and the OpenHAB Home-Automation system.
We are staying on the way to Web3 technologies these make possible a peer-to-peer communication between devices. Now the traffic between machines becomes bigger than the traffic generated by people. And direct routing between devices became reasonable in a sense of sustainability and economy of IoT solutions.
Dmitrii Dobriborsci, Igor Pantiukhin, Aleksandr Kapitonov, Krzysztof Tokarz, Piotr Czekalski, Salvatore Distefano, Karlis Berkolds and Agris Nikitenko