2025-09-12 –, Room 4
What happens when your IoT devices lose connectivity — for hours, days, or forever? In this hands-on workshop, participants will build and emulate a fleet of Python-powered edge devices that store data locally, communicate over a peer-to-peer mesh, and receive secure over-the-air updates — all without relying on the cloud.
Using only Python and your laptop, you'll simulate a complete offline-first IoT stack: from runtime logic and local storage to mesh networking and cryptographically signed OTA delivery. Ideal for developers working on rural tech, disaster recovery, embedded platforms, or privacy-preserving systems.
Part 1 — Building the Offline Edge Runtime (45 min)
- Simulating IoT sensor input (random or file-based)
- Writing Python scripts that store data locally (SQLite/JSON)
- Designing pluggable runtime logic using folders or configs
- Creating a simple local dashboard (Textual/tkinter)
Goal: Each participant runs a self-contained Python edge app that stores and processes sensor data offline.
Part 2 — Simulating a Distributed Sensor Mesh (60 min)
- Using Python’s socket or asyncio to emulate device-to-device messaging
- Setting up each "device" as a local process with a unique port
- Broadcasting data, simulating node failures and hops
- Creating a basic mesh protocol: relay rules, TTLs, and deduplication
Goal: Simulate multiple edge devices forming a resilient network with no internet or central controller.
Part 3 — Secure Over-the-Air (OTA) Updates (75 min)
- Designing an OTA system using local files or a Python HTTP server
- Creating cryptographically signed update bundles (PyNaCl or RSA)
- Writing Python logic to poll, verify, and apply updates
- Implementing rollback and version checks with manifest.json
Goal: Push an update to one simulated device, then securely distribute and apply it across the mesh.
- Install Python 3.10+
Run:
python --version
Should show Python 3.10 or higher.
- Create and activate a virtual environment (venv)
python -m venv .venv
# Linux/macOS
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\activate
- (Optional) Install dependencies before-hand
Run:
pip install --upgrade pip
pip install pynacl tkinter
- (Optional) Test tkinter for GUI with:
Run
python -m tkinter
A small window should pop up.
Target Audience –Beginner
Hi, my name is Pratik Kumar Panda. I am Currently working at RedHat as an SRE. Primarly working on Openshift Dedicated and ROSA.
In my free time, you can find me building drones and hobby robots - tinkering with Raspberry Pis, Arduinos, and automation with Python