mcpField
I
iot-engineer

iot-engineer

github.com/404kidwiz开发170 次安装
代码仓库

关于 iot-engineer

iot-engineer 是面向 IoT 开发的技能,涵盖嵌入式固件、设备连接与端到端系统设计。内容涉及功耗管理、边缘 AI 部署和安全考量。

主要功能

  1. 01端到端 IoT 架构指导
  2. 02ESP32、STM32 和 Nordic nRF 固件
  3. 03MQTT v5 与无线协议选择
  4. 04电池与功耗优化
  5. 05TinyML 部署指导
  6. 06IoT 安全审查指导

适用场景

  1. 01规划设备、网关到云端的系统
  2. 02实现 MQTT 消息模式
  3. 03降低电池设备的功耗
  4. 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 HubMicrosoft 生态企业IoT Edge、Digital Twins。
GCP Cloud IoT数据分析BigQuery 集成(注意:核心服务已停用/转型)。
HiveMQ / EMQX不受供应商限制高性能 MQTT Broker。
边缘智能级别
  1. **仅遥测:**发送原始传感器数据(温度/湿度)。
  2. **边缘过滤:**仅在发生变化时发送(死区)。
  3. **边缘分析:**在本地计算 FFT/RMS。
  4. **边缘 AI:**在 MCU 上运行 TFLite 模型(例如,音频关键词检测)。

危险信号 → 升级给 security-engineer:

  • 在固件中硬编码 WiFi 密码或 AWS 密钥
  • 没有无线(OTA)更新机制
  • 通信未加密(使用 HTTP 而非 HTTPS/MQTTS)
  • 网关使用默认密码(admin/admin)


工作流 2:在 ESP32 上运行边缘 AI(TinyML)

**目标:**检测电机的“异常”(振动)。

步骤:

  1. 数据采集

    • 记录“正常”和“故障”状态下的加速度计数据(XYZ)。
    • 上传至 Edge Impulse。
  2. 模型训练

    • 提取特征(频谱分析)。
    • 训练 K-Means 异常检测模型或神经网络。
  3. 部署

    • 导出 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