功能概述:
参考本文档可实现将传感器采集到的数据信息以 Json 格式通过 TCP 传输给远端的云服务器。
Json 消息包含内容如下:
Json对象 |
描述 |
类型 |
单位 |
---|
Uid |
设备唯一标识 |
字符串 |
无 |
Temp |
水温度 |
浮点数 |
° |
Ms |
电导率.ms |
浮点数 |
ms |
Us |
电导率.us |
整数 |
us |
Tds |
TDS |
整数 |
ppm |
Salt |
盐度 |
浮点数 |
ppt |
Cond |
电阻率 |
浮点数 |
Ω·m |
发送的 TCP 消息 Json 字符串形式举例如下(以温湿度传感器为例):
{"Uid":"Test01","Temperature":25.2, "Humidity":76.7}
步骤一:接线
- 通过 DC 座或者端子座的 “+” 和 “-” 给设备提供 5-24V 电源
- "A" 和 "B" 接 485 总线的 A 和 B 端
- "ANT1" SMA 接口接 4G 天线,"ANT2" SMA 接口接 GPS 天线(如果ANT2有的话)
步骤二:拷贝代码
首先用 TypeC USB 数据线将设备和电脑连接,然后在电脑上会自动出现一个 1.6MB 大小的 U 盘(如果 U 盘大小是 0MB,则需用 FAT32 快速格式化该盘),接着将 /Code/ 文件夹中的 main.lua 代码文件拷贝覆盖至该 U 盘。
步骤三:更新配置信息
在 U 盘中用记事本或者其他代码文本编辑器打开 main.lua 代码文件,用户需编辑文件开头部分的 配置信息 ,替换成实际信息然后 ctrl+S 保存即可,最后拔掉 USB 线,设备此时如果仍有供电,则会自动耗时 2 秒时间更新代码,否则设备下次上电时会自动耗时 2 秒时间更新代码。需要更改的配置信息如下:
这里只需关心 Part1,Part2,Part5 参数即可。
SysMode = 0
SysGpsUse = "NO_GPS"
SysWorkInterval = 10
SysSleepEn = 0
SysMyID = "Test01"
TcpServerIp = "122.114.122.174"
TcpServerPort = 33210
MbAddr = 0x01
MbBaudRate = "BAUDRATE_9600"
(1)工作模式配置
[SysMode] 需设置成 0 ,表示设备以 4G_TCP 模式工作。
(2)GPS 功能关闭(默认不带GPS)
[SysGpsUse] 需设置成 "NO_GPS",如需GPS功能需另外定制带GPS定位功能的4G模组。
(3)Modbus 传感器参数配置
[MbAddr] 为传感器的 Modbus 地址,默认需设置为 0x01
[MbBaudRate] 为传感器的 485 通信波特率,默认需设置为 "BAUDRATE_9600"
(4)TCP 服务器配置
[TcpServerIp] 需设置为远端 TCP 云服务器的 IP 地址或者域名
[TcpServerPort] 需设置为远端 TCP 云服务器的端口号
(5)采集传输工作周期设置
[SysWorkInterval] 该值设置的越大工作采样和传输间隔时间越长,这样可以减少 Sim 卡流量的消耗,建议结合实际情况设置,单位秒。
(6)低功耗休眠功能开启(需外挂 BatteryFriend )
[SysSleepEn] 设置为 1 时将开启低功耗功能。当该功能开启后,设备每次采集并传输完数据后将进入休眠状态,休眠时间为 [SysWorkInterval] 秒,休眠期间设备的电流仅为 uA 级别。
注意1:如果没有外挂 BatteryFriend 电池低功耗管理硬件设备, [SysSleepEn] 即使设置为 1 也不会有低功耗休眠功能!
注意2:BatteryFriend 和本设备配合使用的教程请访问本地址。
步骤四:开始工作
上电后观察设备的 LED 指示灯状态:
白色:表明刚上电
红色:表明已检测到 Sim 卡
蓝色:表明已连上附近基站
绿色:表明已和服务器建立连接
测试方法:
如果没有远端 TCP 测试服务器,可暂时借用安信可提供的 TCP 透传测试云:
http:
服务器接入实例教程请访问ShineBlink 的gitee开源仓库