IoT(Internet of Things,物联网)是指将传感器、执行器、嵌入式设备等物理对象通过网络连接起来,使其能够采集数据、接收指令并相互协作的技术体系。
核心概念
- 感知层:传感器、RFID、摄像头等负责采集物理世界数据
- 网络层:通过 Wi-Fi、蓝牙、LoRa、NB-IoT、5G 等协议传输数据
- 平台层:云端 IoT 平台负责设备管理、数据存储和业务逻辑(如阿里云 IoT、AWS IoT)
- 应用层:面向用户的具体场景,如智能家居、工业监控、车联网
设备标识
IoT 设备有两个层面的标识,不要混淆:
| 标识 | 来源 | 用途 |
|---|---|---|
| SN(Serial Number) | 厂商生产线烧录 | 售后追溯、物流管理、硬件唯一标识 |
| Device ID | 厂商或系统分配(可能是 SN、MAC 地址、UUID 等) | 平台侧区分设备的通用标识 |
| 三元组 | 云平台颁发 | 设备与云平台之间的身份认证 |
SN/Device ID 解决”这个硬件是哪台”,三元组解决”这台设备有没有资格连云平台”。实际项目中常用 SN 作为三元组中 DeviceName 的值,将硬件标识与云端身份绑定。
设备认证
设备接入云平台通常使用三元组认证:
| 参数 | 说明 |
|---|---|
| ProductKey | 产品标识 |
| DeviceName | 设备唯一名称 |
| DeviceSecret | 设备密钥 |
以智能大棚传感器为例:
| 参数 | 示例值 | 说明 |
|---|---|---|
| ProductKey | a1B2c3D4e5F | 标识”大棚温湿度传感器”这个产品 |
| DeviceName | greenhouse_sensor_001 | 这台传感器的唯一编号 |
| DeviceSecret | xK9mP2qR7sT4uV6wX8yZ0 | 平台颁发的密钥,烧录到设备芯片中 |
设备连接时用三元组计算 HMAC 签名,平台验签通过后才允许接入。同一个 ProductKey 下可以有成百上千台设备,每台的 DeviceName + DeviceSecret 不同,实现一机一密。
常见协议
- MQTT — 轻量级发布/订阅消息协议,IoT 领域最主流
- CoAP — 受限设备上的 RESTful 协议
- HTTP/HTTPS — 通用但开销较大,适合非实时场景
实际示例:智能大棚温控
农业大棚中部署温湿度传感器(ESP32 + DHT22),每 30 秒采集一次数据,通过 Wi-Fi 以 MQTT 协议上报到云平台。当温度超过 35°C 时,平台自动下发指令给通风设备开启降温,同时推送告警到手机 App。
传感器采集 → Wi-Fi/MQTT 上报 → 云平台处理 → 下发控制指令 / 手机告警
(感知层) (网络层) (平台层) (应用层)
应用场景
智能家居、工业物联网(IIoT)、智慧城市、车联网(V2X)、农业监测、可穿戴设备等。