×
Internet of Things
A series of three lab challenges covering IoT protocol analysis, data pipeline development, and wireless sensor network programming.
Challenge 1 — CoAP Protocol Analysis
Parsed and analysed Constrained Application Protocol (CoAP) network traffic from live packet captures (.pcap / .pcapng). Used Python's Scapy library with a custom CoAP dissector layer (RFC 7252) to extract message IDs, request codes (GET, POST), response codes (2.05 Content, 4.04 Not Found), and URI options from UDP port 5683 traffic.
Challenge 2 — Node-RED MQTT Pipeline
Built a data processing flow in Node-RED to ingest and filter MQTT messages. Implemented a JavaScript function node that parses incoming Publish Message payloads, splits batched JSON records, and attaches timestamps and unique message IDs before forwarding downstream. The flow handles single and multi-record payloads and filters non-publish traffic.
Challenge 3 — TinyOS Radio Routing on WSN
Implemented a dynamic routing protocol in TinyOS/nesC for a 7-node wireless sensor network. The protocol exchanges three message types — ROUTE_REQUEST (broadcast), ROUTE_REPLY (broadcast with cost), and DATA_PACKET (unicast) — to build and maintain per-node routing tables. Simulated the topology using TOSSIM on MicaZ and TelosB platforms with a realistic Meyer-Heavy noise model, and verified end-to-end packet delivery from node 1 to node 7.
Technologies: Python, Scapy, Node-RED, JavaScript, TinyOS, nesC, TOSSIM