一、主流协议全景表(核心速查)
电池选型速记
关键认知:电池寿命 = 容量 ÷ 日均耗电。LPWAN 日均耗电通常 几 μAh~几十 μAh,所以几千 mAh 的电池能用十年。WiFi 日均耗电 几万 μAh,电池几天就没。
二、通信方式详解
1. LoRaWAN
拓扑:星型,终端 → 网关 → 网络服务器
接入:ALOHA,终端想发就发,不握手
Class A(最省电):上行后开 RX1/RX2 两个接收窗口,其余时间全休眠
Class B:网关发信标同步,终端定时开 ping slot 收下行
Class C:接收窗口常开,随时可下行,功耗最高
帧结构:MHDR | FHDR(DevAddr, FCtrl, FCnt)| FPort | FRMPayload(AES-128 加密)
数据更新:终端上行触发下行窗口;云无法主动推送,必须等设备"上来"
2. NB-IoT / LTE-M
拓扑:终端直连基站,IP 化
省电机制:
PSM(省电模式):注册后进入深度休眠,核心网保留上下文,不监听寻呼
eDRX(扩展不连续接收):拉长寻呼周期,减少监听次数
数据更新:
PSM 下:云下发缓存,等设备下次 TAUR(Tracking Area Update)或上行数据时才送到
eDRX 下:在 eDRX 周期内可收下行
协议承载:CoAP / LwM2M over UDP,极少用 TCP(建链太费电)
3. BLE
广播模式:终端周期性发 Advertising PDU(3 个信道轮询),接收方只听不连
iBeacon / Eddystone 就是广播包里塞厂商数据
连接模式:主从建立连接后,按 Connection Interval(7.5 ms – 4 s)交换数据
GATT:数据组织为 Service → Characteristic → Value
读:手机
ReadCharacteristic写:手机
Write0x01 → 设备开锁通知:设备
Notify温湿度变化,手机被动收
功耗关键:广播间隔越短、连接间隔越短 → 功耗越高
4. Zigbee / Thread
拓扑:网状(Mesh),路由节点转发,终端节点休眠
Zigbee 数据更新:
终端醒来 → 发 Data Request 给父路由 → 父路由有数据则下发
ZCL(Zigbee Cluster Library):
Read Attributes/Write Attributes/Configure Reporting(阈值触发上报)
Thread:基于 IPv6,节点有全局单播地址,直接用 UDP/CoAP 通信,不再需要 Zigbee 那套簇模型
5. WiFi
关联:设备扫描 → 认证 → 关联 → DHCP → 拿到 IP
维持连接:每 DTIM 周期(通常 100–300 ms)要醒一次听 Beacon,判断是否有广播帧
数据更新:TCP 长连接(MQTT/HTTP),云随时可推;但维持长连接本身就是功耗杀手
WiFi 6 TWT(Target Wake Time):AP 和设备协商唤醒时间表,设备不在约定时间不监听 → 功耗大幅下降
三、字段/数据怎么更新(核心机制对比)
典型字段更新流程示例
LoRaWAN 设备改上报周期:
1. 设备上行:FPort=2, payload={battery=85%, temp=23}
2. 云端在 RX2 窗口下发:MAC Command or FPort=3, payload={set_interval=3600}
3. 设备收到后写 Flash,下次按 3600s 间隔上报BLE 门锁开关:
1. 手机连上锁 → Write Characteristic UUID 0xFF01 → 0x01
2. 锁 MCU 收到 → 驱动电机 → 返回 0x00 成功四、常见设备 → 协议 → 电池 → 寿命 速查
五、一句话总结
要 5–10 年电池寿命 → LoRaWAN / NB-IoT + 锂亚电池 + 每天几次上报
要手机直连、数月到一两年 → BLE + CR 纽扣/软包
要自组网、家里用 → Zigbee / Thread,终端电池 2–5 年
要实时双向、不差电 → WiFi + MQTT
电池寿命的本质 = 容量 ÷ 日均耗电,而日均耗电取决于"醒着的时间"和"发射次数"