功能概述:
参考本文档可实现将各种传感器、 GPS 定位信息(经度,纬度),通过 TCP 传输给远端的云服务器。发送的 TCP 消息 Json 字符串形式如下:
Json 消息包含内容如下:
| Json对象 | 描述 | 类型 | 单位 | 值域 |
|---|---|---|---|---|
| Id | 设备唯一标识 | 字符串 | 无 | 无 |
| Lo | 定位经度 | 浮点数 | 度 | |
| La | 定位纬度 | 浮点数 | 度 | |
| H | 湿度 | 整数 | 0.1% | 0-990 |
| T | 温度 | 整数(带负数) | 0.1℃ | -400~1200 |
| N | 噪声值 | 整数 | 0.1dB | 300~1300 |
| P2 | PM2.5值 | 整数 | 1ug/m³ | 0~1000 |
| P1 | Pm10值 | 整数 | 1ug/m³ | 0~1000 |
| L | 光照 | 整数 | Lux | 0~200000 |
| Pa | 大气压强 | 整数 | Pa | 0~200000 |
| S | 雨雪状态值 | 整数 | 无 | 0:正常,1:报警 |
| U | 紫外线强度值 | 整数 | 0.01mW/cm² | 0-1500 |
| W | 风速值 | 整数 | 0.1m/s | 0-700 |
| R | 雨量强度值 | 整数 | 0.1mm/min | 0-80 |
| B | 电池电压 | 浮点数 | V | 0~15.9 |
发送的 TCP 消息 Json 字符串形式举例如下:
--经度28.311,纬度112.892,温度26.1度,湿度%98.2,噪声33.7dB,PM2.5 280ug,PM10 60ug
--光照强度2000lux,大气压强101468Pa,雨雪0(无雨雪报警),紫外线10.1W,风速13.5m/s,雨量
--3.0mm/min,电池电压11.8v
{"Id":"Box01","Lo":28.311,"La":112.892,"T":261,"H":982,"N":337,"P2":280,"P1":60,"L":2000,"Pa":101468,"S":0,"U":1010,"W":135,"R":30,"B":11.8}
步骤一:接线
- 在12V DC端口上接12V电源
- 在CH1端口上综合传感器(温湿度/噪声/PM2.5/PM10/光照)
- 在CH2端口上接雨雪传感器
- 在CH3端口上接紫外线传感器
- 在CH4端口上接风速传感器
- 在CH5端口上接雨量传感器
步骤二:拷贝代码
首先断开设备电源取出设备电路板上的TF卡,将TF插入电脑,接着将 /Code/ 文件夹中的 main.lua 代码文件拷贝覆盖至该 TF 卡。
步骤三:更新配置信息
在 TF 卡中用记事本或者其他代码文本编辑器打开 main.lua 代码文件,用户需编辑文件开头部分的 配置信息 ,替换成实际信息然后 ctrl+S 保存即可,最后给设备重新上电,如果绿灯闪烁完成说明程序更新成功,如果红灯亮起说明代码有问题,可以打开 TF 卡上的LOG.TXT文件查看报错信息(比如Lua语法错误)。需要更改的配置信息如下:
这里只需关心 Part1,Part2 参数即可,其他 Part 参数可查看代码中的注释。
----------------------配置信息开始----------------------
--Part1: 系统配置
SysMode = 0 --0:4G_TCP, 1:4G_Mqtt, 2:4G_ShineBlinkCloud
SysGpsUse = "AUTO_AGPS" --NO_GPS: 不带GPS功能, AUTO_AGPS:带GPS功能
SysWorkInterval = 60 --单位秒,系统采集传感器并发送数据的间隔周期。
--如果SysSleepEn=1,则SysWorkInterval周期间隔内会断电进入低功耗状态
SysSleepEn = 1 --0:不使用低功耗休眠 1:使用。
--SysMyID可任意设定,用作设备的唯一标识,
--也可以用LIB_GetSysUniID()函数获取的芯片唯一ID,形如"761A6617E803F78402"
SysMyID = "Box01" -- SysMyID = LIB_GetSysUniID()
--定义magic number,每次修改将触发序号计数器清零
MagicNumber = 555 --改成任意值即会触发
--Part2: Tcp参数(SysMode=0时才有用)
TcpServerIp = "122.114.122.174" --需要连接的服务器IP地址
TcpServerPort = 46327 --需要连接的服务器端口号
----------------------配置信息结束----------------------
(1)工作模式配置
[SysMode] 需设置成 0 ,表示设备以 4G_TCP 模式工作。
(2)GPS 功能开启
[SysGpsUse] 需设置成 "AUTO_AGPS",这样上传给服务器的 Json 信息也将包含经度(Longtitude),纬度(Latitude)。如果你所在的地方无GPS信号,建议设置成“NO_GPS”,这样可以省掉GPS搜星时间,减少设备工作时间周期和功耗。
(3)采集传输工作周期设置(休眠时长)
[SysWorkInterval] 该值设置的越大工作采样和传输间隔时间越长,这样可以减少 Sim 卡流量的消耗,同时也可以极大降低功耗,建议结合实际情况设置,单位秒。
(4)低功耗休眠功能开启
[SysSleepEn] 设置为 1 时将开启低功耗功能。当该功能开启后,设备每次采集并传输完数据后将进入休眠状态,休眠时间为 [SysWorkInterval] 秒,休眠期间设备的电流仅为 uA 级别。
(5)TCP 服务器配置
[TcpServerIp] 需设置为远端 TCP 云服务器的 IP 地址或者域名
[TcpServerPort] 需设置为远端 TCP 云服务器的端口号
步骤四:开始工作
上电后观察设备的 LED 指示灯状态:
白色:表明刚上电
红色:表明已检测到 Sim 卡
蓝色:表明已连上附近基站
绿色:表明已和服务器建立连接
测试方法:
如果没有远端 TCP 测试服务器,可暂时借用安信可提供的 TCP 透传测试云:
http://tt.ai-thinker.com 该透传云缺点是3分钟内必须连接,不然会失效
服务器接入实例教程请访问本地址。