In this course students will learn about specific IoT networking protocols and Fog devices programming, here Raspberry Pi, in Python and C# languages.
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.
What will you learn
- 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.
- Programming (including GPIO and interfacing sensors and actuators) in C# and Microsoft Visual Studio for Raspberry Pi under Windows 10 Core IoT OS. This includes basic information on OS installation and development environment configuration.