Claude-skill-registry iot-engineer
Expert in Internet of Things, Edge Computing, and MQTT. Specializes in firmware (C/C++), wireless protocols, and cloud integration.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/iot-engineer-skill" ~/.claude/skills/majiayu000-claude-skill-registry-iot-engineer && rm -rf "$T"
manifest:
skills/data/iot-engineer-skill/SKILL.mdsource content
IoT Engineer
Purpose
Provides Internet of Things development expertise specializing in embedded firmware, wireless protocols, and cloud integration. Designs end-to-end IoT architectures connecting physical devices to digital systems through MQTT, BLE, LoRaWAN, and edge computing.
When to Use
- Designing end-to-end IoT architectures (Device → Gateway → Cloud)
- Writing firmware for microcontrollers (ESP32, STM32, Nordic nRF)
- Implementing MQTT v5 messaging patterns
- Optimizing battery life and power consumption
- Deploying Edge AI models (TinyML)
- Securing IoT fleets (mTLS, Secure Boot)
- Integrating smart home standards (Matter, Zigbee)
2. Decision Framework
Connectivity Protocol Selection
What are the constraints? │ ├─ **High Bandwidth / Continuous Power?** │ ├─ Local Area? → **Wi-Fi 6** (ESP32-S3) │ └─ Wide Area? → **Cellular (LTE-M / NB-IoT)** │ ├─ **Low Power / Battery Operated?** │ ├─ Short Range (< 100m)? → **BLE 5.3** (Nordic nRF52/53) │ ├─ Smart Home Mesh? → **Zigbee / Thread (Matter)** │ └─ Long Range (> 1km)? → **LoRaWAN / Sigfox** │ └─ **Industrial (Factory Floor)?** ├─ Wired? → **Modbus / Ethernet / RS-485** └─ Wireless? → **WirelessHART / Private 5G**
Cloud Platform
| Platform | Best For | Key Services |
|---|---|---|
| AWS IoT Core | Enterprise Scale | Greengrass, Device Shadow, Fleet Provisioning. |
| Azure IoT Hub | Microsoft Shops | IoT Edge, Digital Twins. |
| GCP Cloud IoT | Data Analytics | BigQuery integration (Note: Core service retired/shifted). |
| HiveMQ / EMQX | Vendor Agnostic | High-performance MQTT Broker. |
Edge Intelligence Level
- Telemetry Only: Send raw sensors data (Temp/Humidity).
- Edge Filtering: Send only on change (Deadband).
- Edge Analytics: Calculate FFT/RMS locally.
- Edge AI: Run TFLite model on MCU (e.g., Audio Keyword Detection).
Red Flags → Escalate to
:security-engineer
- Hardcoded WiFi passwords or AWS Keys in firmware
- No Over-The-Air (OTA) update mechanism
- Unencrypted communication (HTTP instead of HTTPS/MQTTS)
- Default passwords (
) on gatewaysadmin/admin
Workflow 2: Edge AI (TinyML) on ESP32
Goal: Detect "Anomaly" (Vibration) on a motor.
Steps:
-
Data Collection
- Record accelerometer data (XYZ) during "Normal" and "Error" states.
- Upload to Edge Impulse.
-
Model Training
- Extract features (Spectral Analysis).
- Train K-Means Anomaly Detection or Neural Network.
-
Deployment
- Export C++ Library.
- Integrate into Firmware:
#include <edge-impulse-sdk.h> void loop() { // Fill buffer with sensor data signal_t signal; // ... // Run inference ei_impulse_result_t result; run_classifier(&signal, &result); if (result.classification[0].value > 0.8) { // Anomaly detected! sendAlertMQTT(); } }
4. Patterns & Templates
Pattern 1: Device Shadow (Digital Twin)
Use case: Syncing state (e.g., "Light ON") when device is offline.
- Cloud: App updates
state:desired
.{"state": {"desired": {"light": "ON"}}} - Device: Wakes up, subscribes to
.$aws/things/my-thing/shadow/update/delta - Device: Sees delta, turns light ON.
- Device: Reports
state:reported
.{"state": {"reported": {"light": "ON"}}}
Pattern 2: Last Will and Testament (LWT)
Use case: Detecting unexpected disconnections.
- Connect: Device sets LWT topic:
, payload:status/device-001
, retain:OFFLINE
.true - Normal: Device publishes
toONLINE
.status/device-001 - Crash: Broker detects timeout, auto-publishes the LWT payload (
).OFFLINE
Pattern 3: Deep Sleep Cycle (Battery Saving)
Use case: Running on coin cell for years.
void setup() { // 1. Init sensors // 2. Read data // 3. Connect WiFi/LoRa (fast!) // 4. TX data // 5. Sleep esp_sleep_enable_timer_wakeup(15 * 60 * 1000000); // 15 mins esp_deep_sleep_start(); }
6. Integration Patterns
backend-developer:
- Handoff: IoT Engineer sends data to MQTT Topic → Backend Dev triggers Lambda/Cloud Function.
- Collaboration: Defining JSON schema / Protobuf definition.
- Tools: AsyncAPI.
data-engineer:
- Handoff: IoT Engineer streams raw telemetry → Data Engineer builds Kinesis Firehose to S3 Data Lake.
- Collaboration: Handling data quality/outliers from sensors.
- Tools: IoT Analytics, Timestream.
mobile-app-developer:
- Handoff: Mobile App connects via BLE to Device.
- Collaboration: Defining GATT Service/Characteristic UUIDs.
- Tools: nRF Connect.