iot-engineer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseIoT 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
云平台选择
| 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. |
| 平台 | 适用场景 | 核心服务 |
|---|---|---|
| AWS IoT Core | 企业级规模 | Greengrass、设备影子、设备集群配置。 |
| Azure IoT Hub | 微软技术栈用户 | IoT Edge、数字孪生。 |
| GCP Cloud IoT | 数据分析场景 | BigQuery集成(注:核心服务已退役/转型)。 |
| HiveMQ / EMQX | 无厂商绑定需求 | 高性能MQTT消息代理。 |
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 gateways
admin/admin
- 仅遥测传输: 发送原始传感器数据(温度/湿度)。
- 边缘过滤: 仅在数据变化时发送(死区机制)。
- 边缘分析: 本地计算FFT/RMS。
- 边缘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:
-
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:
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(); } }
目标: 检测电机的“异常”(振动)状态。
步骤:
-
数据采集
- 记录“正常”和“故障”状态下的加速度计数据(XYZ轴)。
- 上传至Edge Impulse。
-
模型训练
- 提取特征(频谱分析)。
- 训练K-Means异常检测模型或神经网络。
-
部署
- 导出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 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"}}}
适用场景: 设备离线时同步状态(如“灯光开启”)。
- 云端: 应用更新状态:
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: , payload:
status/device-001, retain:OFFLINE.true - Normal: Device publishes to
ONLINE.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。