Index
Topics (start here for exam queries)
- exam-overview — exam structure, Part 1 sensor workflow, Part 2 theory map, quick nav
- electronics-and-circuitry — Ohm’s Law, KVL, LED resistor calc, GPIO limits
- signals-and-adc — analog vs digital, ADC, sampling rate, bit resolution, Grove Hat
- serial-protocols — Serial/SPI/I2C/PWM comparison, pySerial/smbus2/GPIO Zero code
- mqtt-and-iot-protocols — HTTP vs MQTT, pub/sub, QoS, topics+wildcards, paho-mqtt code
- gpio-and-reterminal — GPIO Zero, reTerminal LEDs/buzzer via /sys/, luminosity, seeed-python-rpi
- python-essentials — argparse, main guard, venv 5-commands, logging, pytest
- async-python — asyncio, async def, await, create_task, gather, IoT pattern
- linux-and-bash-commands — apt, 5 fingers of death, redirection, ssh, rsync, tar
- bash-scripting — variables, quoting, functions, if/test, chmod, shebangs, source
- iot-system-architecture — 5-component stack, consumer vs IIoT, cloud providers
- azure-iot-overview — D2C/C2D, device twins, event hubs, CLI cheatsheet, Python SDK
- fastapi-and-http-backend — FastAPI REST, Sensor/Actuator model, uv, AHT20 smbus2 (bus=4 on reTerminal)
Concepts
- ohms-law — V = IR; derived forms for LED resistor calc
- kirchhoffs-law — sum of voltages in loop = 0; V_source = sum of V_drops
- adc — analog-to-digital conversion; sampling rate, bit resolution; Grove Hat = 12-bit
- gpio — 40-pin digital I/O on Pi; 3.3V logic; 16mA max per pin; no native ADC
- pwm — duty cycle; simulates analog; LED dimming + servo control
- spi — synchronous serial; 4 wires; full-duplex; CS active LOW; fast
- i2c — synchronous; 2 wires (SDA+SCL); up to 1008 devices; hex address; smbus2
- uart-serial — asynchronous; 2 wires (TX+RX); no clock; agree on baud rate; pySerial
- mqtt-broker — routes pub/sub messages; stores retained; handles LWT and sessions
- telemetry — sensor data sent D2C to cloud; time-series; use D2C messages not twin
- pub-sub — decoupled messaging pattern; publisher/broker/subscriber
- qos — MQTT delivery: 0=fire&forget, 1=at-least-once, 2=exactly-once
- venv — isolated Python env; required for pip on Debian Bookworm+; sudo $(which python)
- asyncio — concurrent I/O; event loop; coroutines; tasks; gather; one thread
Sources (per raw file)
- electronics-basics — Ohm’s Law, KVL, LED calc, GPIO limits, multimeter
- signals-digital-and-analog — ADC steps, sampling, bit resolution table, bitrate
- gpios-inputs-and-outputs — 40-pin GPIO, Grove Hat, GPIO Zero LED/Button
- serial-protocols — UART/SPI/I2C/PWM, pySerial, smbus2, GPIO Zero, comparison table
- python-scripting — sys.argv, argparse, name == “main”
- async-python — asyncio, async def, await, create_task, gather, IoT pattern
- python-extras — logging module, pytest fixtures, conftest.py, async tests
- python-package-management — apt vs pip, venv 5-commands, sudo+venv fix, sys.path
- linux-basics — WSL vs VM, Debian, apt command table, repos
- bash-essentials — keyboard shortcuts, .bashrc/.profile, 5 fingers, redirection, ssh/rsync/tar
- bash-scripting — variables, quoting, functions, conditionals/test, chmod, shebangs, source
- intro-to-iot — IoT definition, 5 components, consumer/IIoT examples, cloud providers
- iot-communication-protocols — HTTP vs MQTT, pub/sub, QoS, LWT, retained, paho-mqtt code
- reterminal-kit — CM4 specs, Grove Hat ADC, AHT20 sensor, actuators
- reterminal-built-in-devices — /sys/ LEDs/buzzer, sudo+tee pattern, luminosity, seeed-python-rpi
- using-devices — AHT20: grove.py install, adafruit-circuitpython-ahtx0
- device-to-cloud-communication — D2C/C2D options, message anatomy (systemProps/appProps/body), direct methods
- device-twins — desired/reported/tags, flow diagram, Python IoTHubDeviceClient code
- azure-event-hubs — partitions, offsets, checkpointing, IoT Hub = Event Hub
- azure-blob-storage — Account→Container→Blob hierarchy, Data Lake Gen2
- azure-cli-cheatsheet — device create/simulate, monitor-events, c2d send, twin update, connection strings
- azure-sdks — Python pip packages: azure-iot-device/hub/mgmt-iothub; .NET NuGet packages
- azure-portal-setup — free tier 8000 msg/day, IoT Hub settings, budget alerts
- developer-environment — WSL install, apt dependencies, git config, wsl export/import
- github-basics — git switch -c, PAT tokens, pass password manager, gpg key setup
- gpiozero-recipes — LED/Button/PWMLED/Servo/Motor recipes, signal.pause() idiom, BCM pins
- grove-adc — ADC class, read/read_raw/read_voltage, channels 0-7, I2C addr 0x04
- ydotool — mousemove/click/key commands, ydotoold daemon, YDOTOOL_SOCKET env var
- enable-i2c — raspi-config, apt install python3-smbus i2c-tools, i2cdetect -y 1
- lab3-programming-reterminal — bash backlight script, subprocess, seeed-python-rpi LEDs, sudo+venv
- lab4-grove-joystick — ydotool + I2C + joystick wiring, grove.adc + gpiozero + subprocess
- a1-reterminal-control-center — FastAPI, Sensor/Actuator model, AHT20 smbus2 (bus=4), uv, wlr-randr
- test-exam-structure — exam Part 1 (practical) and Part 2 (theory) structure