iot-engineer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

IoT Engineer

IoT工程师

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.
提供物联网开发专业支持,专注于嵌入式固件、无线协议及云平台集成。设计端到端IoT架构,通过MQTT、BLE、LoRaWAN及边缘计算实现物理设备与数字系统的连接。

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)


  • 设计端到端IoT架构(设备→网关→云端)
  • 为微控制器(ESP32、STM32、Nordic nRF)编写固件
  • 实现MQTT v5消息模式
  • 优化电池寿命与功耗
  • 部署边缘AI模型(TinyML)
  • 保障IoT设备集群安全(mTLS、安全启动)
  • 集成智能家居标准(Matter、Zigbee)


2. Decision Framework

2. 决策框架

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**
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

云平台选择

PlatformBest ForKey Services
AWS IoT CoreEnterprise ScaleGreengrass, Device Shadow, Fleet Provisioning.
Azure IoT HubMicrosoft ShopsIoT Edge, Digital Twins.
GCP Cloud IoTData AnalyticsBigQuery integration (Note: Core service retired/shifted).
HiveMQ / EMQXVendor AgnosticHigh-performance MQTT Broker.
平台适用场景核心服务
AWS IoT Core企业级规模Greengrass、设备影子、设备集群配置。
Azure IoT Hub微软技术栈用户IoT Edge、数字孪生。
GCP Cloud IoT数据分析场景BigQuery集成(注:核心服务已退役/转型)。
HiveMQ / EMQX无厂商绑定需求高性能MQTT消息代理。

Edge Intelligence Level

边缘智能层级

  1. Telemetry Only: Send raw sensors data (Temp/Humidity).
  2. Edge Filtering: Send only on change (Deadband).
  3. Edge Analytics: Calculate FFT/RMS locally.
  4. 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 (
    admin/admin
    ) on gateways


  1. 仅遥测传输: 发送原始传感器数据(温度/湿度)。
  2. 边缘过滤: 仅在数据变化时发送(死区机制)。
  3. 边缘分析: 本地计算FFT/RMS。
  4. 边缘AI: 在微控制器上运行TFLite模型(如:音频关键词检测)。
风险预警 → 移交至
security-engineer
  • 固件中硬编码WiFi密码或AWS密钥
  • 无空中(OTA)更新机制
  • 未加密通信(使用HTTP而非HTTPS/MQTTS)
  • 网关上使用默认密码(
    admin/admin


Workflow 2: Edge AI (TinyML) on ESP32

工作流2:ESP32上的边缘AI(TinyML)

Goal: Detect "Anomaly" (Vibration) on a motor.
Steps:
  1. Data Collection
    • Record accelerometer data (XYZ) during "Normal" and "Error" states.
    • Upload to Edge Impulse.
  2. Model Training
    • Extract features (Spectral Analysis).
    • Train K-Means Anomaly Detection or Neural Network.
  3. Deployment
    • Export C++ Library.
    • Integrate into Firmware:
      cpp
      #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();
          }
      }


目标: 检测电机的“异常”(振动)状态。
步骤:
  1. 数据采集
    • 记录“正常”和“故障”状态下的加速度计数据(XYZ轴)。
    • 上传至Edge Impulse。
  2. 模型训练
    • 提取特征(频谱分析)。
    • 训练K-Means异常检测模型或神经网络。
  3. 部署
    • 导出C++库。
    • 集成到固件中:
      cpp
      #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

4. 模式与模板

Pattern 1: Device Shadow (Digital Twin)

模式1:设备影子(数字孪生)

Use case: Syncing state (e.g., "Light ON") when device is offline.
  • Cloud: App updates
    desired
    state:
    {"state": {"desired": {"light": "ON"}}}
    .
  • Device: Wakes up, subscribes to
    $aws/things/my-thing/shadow/update/delta
    .
  • Device: Sees delta, turns light ON.
  • Device: Reports
    reported
    state:
    {"state": {"reported": {"light": "ON"}}}
    .
适用场景: 设备离线时同步状态(如“灯光开启”)。
  • 云端: 应用更新
    desired
    状态:
    {"state": {"desired": {"light": "ON"}}}
  • 设备: 唤醒后订阅
    $aws/things/my-thing/shadow/update/delta
    主题。
  • 设备: 检测到状态差异,开启灯光。
  • 设备: 上报
    reported
    状态:
    {"state": {"reported": {"light": "ON"}}}

Pattern 2: Last Will and Testament (LWT)

模式2:遗嘱消息(LWT)

Use case: Detecting unexpected disconnections.
  • Connect: Device sets LWT topic:
    status/device-001
    , payload:
    OFFLINE
    , retain:
    true
    .
  • Normal: Device publishes
    ONLINE
    to
    status/device-001
    .
  • Crash: Broker detects timeout, auto-publishes the LWT payload (
    OFFLINE
    ).
适用场景: 检测设备意外断开连接。
  • 连接时: 设备设置LWT主题:
    status/device-001
    ,负载:
    OFFLINE
    ,保留:
    true
  • 正常状态: 设备向
    status/device-001
    发布
    ONLINE
  • 设备崩溃: 消息代理检测到超时,自动发布LWT负载(
    OFFLINE
    )。

Pattern 3: Deep Sleep Cycle (Battery Saving)

模式3:深度睡眠周期(省电)

Use case: Running on coin cell for years.
cpp
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();
}


适用场景: 使用纽扣电池运行数年。
cpp
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

6. 协作模式

backend-developer:

后端开发人员:

  • Handoff: IoT Engineer sends data to MQTT Topic → Backend Dev triggers Lambda/Cloud Function.
  • Collaboration: Defining JSON schema / Protobuf definition.
  • Tools: AsyncAPI.
  • 交付: IoT工程师将数据发送至MQTT主题 → 后端开发人员触发Lambda/云函数。
  • 协作: 定义JSON Schema / Protobuf协议。
  • 工具: 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.
  • 交付: IoT工程师流式传输原始遥测数据 → 数据工程师构建Kinesis Firehose至S3数据湖。
  • 协作: 处理传感器数据的质量问题/异常值。
  • 工具: IoT Analytics、Timestream。

mobile-app-developer:

移动应用开发人员:

  • Handoff: Mobile App connects via BLE to Device.
  • Collaboration: Defining GATT Service/Characteristic UUIDs.
  • Tools: nRF Connect.

  • 交付: 移动应用通过BLE连接设备。
  • 协作: 定义GATT服务/特征UUID。
  • 工具: nRF Connect。