ESP32-Paxcounter项目数据载荷格式详解
项目概述
ESP32-Paxcounter是一个基于ESP32开发板的无线设备计数器项目,能够统计周围WiFi和蓝牙设备的数量,并通过LoRa无线技术将数据传输到服务器。该项目支持多种数据载荷格式,适用于不同的应用场景和平台。
数据载荷格式选择
在项目配置文件中,开发者可以选择三种不同的数据载荷格式:
-
Plain格式:采用大端字节序,生成JSON格式字段,适合直接用于物联网平台控制台。
-
Packed格式:采用小端字节序(浮点数除外),同样生成JSON格式字段,数据更加紧凑。
-
CayenneLPP格式:专为MyDevices Cayenne平台设计,可直接被该平台解析。
默认Plain格式详解
端口1:设备计数数据
- 字节1-2:通过WiFi扫描到的唯一设备数量(WiFi扫描禁用时为00 00)
- 字节3-4:通过蓝牙扫描到的唯一设备数量(蓝牙扫描禁用时省略)
端口2:设备状态查询结果
- 字节1-2:电池或USB电压(毫伏),无电池检测时为0
- 字节3-10:设备运行时间(秒)
- 字节11:CPU温度(摄氏度)
- 字节12-15:可用RAM(字节)
- 字节16:CPU核心0的最后复位原因
- 字节17-20:自上次电源循环以来的重启次数
端口3:设备配置查询结果
包含设备的各项配置参数,如:
- LoRa数据速率
- 发射功率
- 自适应数据速率状态
- 屏幕保护状态
- 计数器模式等
端口4:GPS数据(需设备支持GPS)
- 字节1-4:纬度
- 字节5-8:经度
- 字节9:卫星数量
- 字节10-11:水平精度因子
- 字节12-13:海拔高度(米)
端口7:环境传感器数据(需设备支持BME传感器)
- 温度(摄氏度)
- 气压(hPa)
- 湿度(%)
- 室内空气质量指数(0-500)
空气质量分级标准:
- 0-50:良好
- 51-100:一般
- 101-150:轻度污染
- 151-200:中度污染
- 201-300:重度污染
- 301-500:严重污染
端口8:电池电压数据(需设备支持电池检测)
- 字节1-2:电池或USB电压(毫伏)
端口9:时间/日期
- 字节1-4:UNIX时间戳(自1970年1月1日以来的秒数)
应用场景建议
-
物联网平台集成:使用Plain或Packed格式,配合相应的解码器,可以轻松将数据集成到各种物联网平台。
-
环境监测:对于配备BME传感器的设备,可以监测室内环境质量,适用于智能家居、办公环境监测等场景。
-
人员流量统计:通过WiFi和蓝牙设备计数功能,可以统计特定区域内的人员流动情况,适用于商场、展览馆等公共场所。
-
位置追踪:对于配备GPS模块的设备,可以实现位置追踪功能,同时配合地图服务,可用于车队管理、资产追踪等应用。
技术要点
-
字节序处理:不同格式使用不同的字节序,在数据处理时需要注意这一点。
-
数据解析:建议使用项目提供的示例解码器作为基础,根据实际需求进行修改。
-
传感器集成:项目预留了用户传感器接口(端口10-12),开发者可以自定义传感器数据格式。
-
配置灵活性:通过修改配置文件,可以灵活控制设备的各种参数和行为。
总结
ESP32-Paxcounter项目提供了丰富的数据采集功能和灵活的数据传输格式,开发者可以根据具体应用场景选择合适的格式。理解这些数据格式对于正确解析和使用设备采集的数据至关重要。无论是用于简单的设备计数,还是复杂的环境监测和位置追踪,该项目都能提供可靠的技术支持。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考