IoT Platform Connectivity
IoT Platform Connectivity · Course page
Connect to WiFi, learn to read network values properly, publish telemetry and take commands over MQTT to a self-hosted platform, then move up to MQTTs over TLS.
Module objectives
Section titled “Module objectives”Bring the board onto the network in a way you can diagnose when it breaks (dBm, DHCP, gateway, DNS), send two-way real data over MQTT to a self-installed TESAIoT Community Edition, and send the same values through a TLS-encrypted channel while being able to say what it protects.
Network and platform to use when learning on your own
Section titled “Network and platform to use when learning on your own”- WiFi: your home WiFi or phone hotspot, set up per the table in lesson 1.4 (an English name with no spaces, a password of at least 8 characters, the 2.4 GHz band). The board cannot use WiFi that needs a browser login.
- Plain MQTT (port 1883): the public practice broker
broker.hivemq.com(backuptest.mosquitto.org), with a unique code in yourclient_idand topic, such as a nickname followed by a random 4-digit number (nok4821), or TESAIoT Community Edition installed on your own computer (lessons 4.5–4.6) - MQTTs (lessons 4.7–4.9): your TESAIoT Platform account; the device’s credentials come from the platform’s device management page (a self-installed CE cannot be used for MQTTs from the board, because its root CA does not match the one baked into the firmware — see lesson 4.7)
- If learning in a group, your organiser may have already prepared a broker and device identity for you
Lessons
Section titled “Lessons”| Lesson | Topic | Time (min) | Slides |
|---|---|---|---|
| 4.1 | WiFi and networking: dBm, DHCP, IP and DNS | 50 | slides.md |
| 4.2 | The network status screen: reading the wifi code | 55 | slides.md |
| 4.3 | Hands-on: your team’s network status page | 65 | slides.md |
| 4.4 | MQTT: pub/sub, topics, QoS and a data budget | 55 | slides.md |
| 4.5 | MQTT with a self-hosted platform: telemetry and commands | 75 | slides.md |
| 4.6 | Hands-on: two-way telemetry | 65 | slides.md |
| 4.7 | TLS: certificates, the chain of trust and the handshake | 55 | slides.md |
| 4.8 | The tesaiot module: MQTTs to the platform | 75 | slides.md |
| 4.9 | Hands-on: sending real values over an encrypted channel | 70 | slides.md |
The lessons in this module come in sets of three: concept → code walk-through → hands-on (the third lesson of each set has practice files and solutions).
Module checkpoint
Section titled “Module checkpoint”You pass this module when you can do every item below (the details are in the Lab section of the hands-on lessons):
- The network status page shows a table of networks sorted by strength, the IP address from DHCP, and a ping time that updates every 3 seconds
- You can explain where the problem lies if the gateway passes but the internet stays silent
- Publish JSON from a real sensor every 5 seconds, and a
{"cmd":"toggle"}command switches a light on the board - Your team’s telemetry appears on the platform’s dashboard over TLS, and you can say what serverTLS protects and what it does not
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA