关于 iot-engineer
iot-engineer 是面向 IoT 开发的技能,涵盖嵌入式固件、设备连接与端到端系统设计。内容涉及功耗管理、边缘 AI 部署和安全考量。
主要功能
- 01端到端 IoT 架构指导
- 02ESP32、STM32 和 Nordic nRF 固件
- 03MQTT v5 与无线协议选择
- 04电池与功耗优化
- 05TinyML 部署指导
- 06IoT 安全审查指导
适用场景
- 01规划设备、网关到云端的系统
- 02实现 MQTT 消息模式
- 03降低电池设备的功耗
- 04在 ESP32 上部署异常检测
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill iot-engineer安装后在 Claude Code 中输入/iot-engineer确认已加载。
详细介绍
物联网工程师
目的
提供物联网开发专业知识,专注于嵌入式固件、无线协议和云集成。设计端到端物联网架构,通过 MQTT、BLE、LoRaWAN 和边缘计算将物理设备连接到数字系统。
适用场景
- 设计端到端物联网架构(设备 → 网关 → 云)
- 为微控制器(ESP32、STM32、Nordic nRF)编写固件
- 实现 MQTT v5 消息模式
- 优化电池寿命和功耗
- 部署边缘 AI 模型(TinyML)
- 保护物联网设备群(mTLS、Secure Boot)
- 集成智能家居标准(Matter、Zigbee)
2. 决策框架
连接协议选择
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**
云平台
| 平台 | 最适合 | 关键服务 |
|---|---|---|
| AWS IoT Core | 企业级规模 | Greengrass、Device Shadow、Fleet Provisioning。 |
| Azure IoT Hub | Microsoft 生态企业 | IoT Edge、Digital Twins。 |
| GCP Cloud IoT | 数据分析 | BigQuery 集成(注意:核心服务已停用/转型)。 |
| HiveMQ / EMQX | 不受供应商限制 | 高性能 MQTT Broker。 |
边缘智能级别
- **仅遥测:**发送原始传感器数据(温度/湿度)。
- **边缘过滤:**仅在发生变化时发送(死区)。
- **边缘分析:**在本地计算 FFT/RMS。
- **边缘 AI:**在 MCU 上运行 TFLite 模型(例如,音频关键词检测)。
危险信号 → 升级给 security-engineer:
- 在固件中硬编码 WiFi 密码或 AWS 密钥
- 没有无线(OTA)更新机制
- 通信未加密(使用 HTTP 而非 HTTPS/MQTTS)
- 网关使用默认密码(
admin/admin)
工作流 2:在 ESP32 上运行边缘 AI(TinyML)
**目标:**检测电机的“异常”(振动)。
步骤:
-
数据采集
- 记录“正常”和“故障”状态下的加速度计数据(XYZ)。
- 上传至 Edge Impulse。
-
模型训练
- 提取特征(频谱分析)。
- 训练 K-Means 异常检测模型或神经网络。
-
部署
- 导出 C++ 库。
- 集成到固件中:
#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. 模式与模板
模式 1:设备影子(数字孪生)
**用例:**设备离线时同步状态(例如,“灯已开启”)。
- **云端:**应用更新
desired状态:{"state": {"desired": {"light": "ON"}}}。 - **设备:**唤醒后,订阅
$aws/things/my-thing/shadow/update/delta。 - **设备:**发现状态差异后,打开灯。
- **设备:**上报
reported状态:{"state": {"reported": {"light": "ON"}}}。
模式 2:遗嘱消息(LWT)
**用例:**检测意外断连。
- **连接:**设备设置 LWT 主题:
status/device-001,载荷:OFFLINE,保留:true。 - **正常:**设备向
status/device-001发布ONLINE。 - **崩溃:**Broker 检测到超时,自动发布 LWT 载荷(
OFFLINE)。
模式 3:深度睡眠周期(节省电量)
**用例:**使用纽扣电池运行数年。
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. 集成模式
backend-developer:
- 交接:物联网工程师将数据发送到 MQTT 主题 → 后端开发人员触发 Lambda/Cloud Function。
- 协作:定义 JSON schema/Protobuf 定义。
- 工具:AsyncAPI。
data-engineer:
- 交接:IoT Engineer 流式传输原始遥测数据 → Data Engineer 构建 Kinesis Firehose,将数据传输到 S3 Data Lake。
- 协作:处理传感器数据质量问题和异常值。
- 工具:IoT Analytics、Timestream。
mobile-app-developer:
- 交接:Mobile App 通过 BLE 连接设备。
- 协作:定义 GATT Service/Characteristic UUID。
- 工具:nRF Connect。
评论
支持 Markdown