物联网
如何通过LoRa无线网络进行采集远距离的温湿度?搭载一个物联网系统将温湿度采集到云服务器,通过智能手机或者其他的移动设备就可以查看。采用RNDU470T和温湿度传感器SHT71,可免除操作系统的使用,使方案更加简单。
温湿度是自然界中和人类打交道最多的两个物理参数,无论是在生产实验场所,还是在居住休闲场所,温湿度的采集或控制都十分频繁和重要,比如机房,变电站,粮仓,冷库,图书馆,博物馆,药厂等都需要监测环境的温湿度,而且,网络化远程采集温湿度并报警是现代科技发展的一个必然趋势。
如果您购买锐米公司的LoRa终端和LoRa网关,可以快速搭建一个采集温湿度的物联网系统,该系统如下图所示,可以将温湿度采集到云服务器,通过智能手机查看。
如上图红色虚线框所示,为快速设计Demo系统硬件采用了RNDU470T和温湿度传感器SHT71,开发语言为ASNI C,开发环境为IAR for STM8,为降低复杂度没有使用操作系统。
采集系统硬件基于RNDU470T设计,它的引脚定义如下:
引脚号引脚名称引脚类型描述
1VCCSupply3.3V电源
2GNDSupply电源地
3RXDD IN/OUTUART接收
4TXDD IN/OUTUART发送
5CON1DIN/OUTUART输出信号端口
6CON2DIN/OUTUART输入信号端口
7CON3D IN/OUT保留
8RSTD IN/OUT复位引脚
A//固定引脚1
B//固定引脚2
SMA//焊接天线使用
SHT71是SENSIRION公司的温湿度传感器,它的4针引脚定义如下:
Pin1234
FunctionSCKVDDGNDDATA
采集系统硬件与SHT71连接如下图左所示,采集系统硬件与RNDU470T连接如下图右所示。
采集系统系统的主程序逻辑如上图所示,非常简洁,基于最简单的软件结构:while(1)无限循环。
经过实测:采集系统系统采集SHT71的12位湿度约用时62毫秒,采集14位温度约用时216毫秒。
采集系统系统采集的温湿度数据什么时候传输给RNDU470T合适呢?这个依赖于RNDU470T定时上报频率,如定时上报是5秒一次,那么采集系统系统每5秒传输一次温湿度数据最佳(即同步传输)。当然,用户可以提高采集密度(如1秒一次),进行自定义计算(如计算5次采集数据的平均值),再将数据传输给RNDU470T。
采集系统系统传输数据与RNDU470T上报温湿度数据时序图如下:
RNDU470T是超低功耗产品,它大部分时间都处于休眠状态,因此采集系统系统需要“唤醒”RNDU470T才能发送UART数据帧;同理,考虑采集系统系统也可能处于休眠状态,RNDU470T在发送UART数据帧也通过信号线“唤醒”用户系统。
如下图所示,当采集系统系统发送UART数据帧时,先置高P7引脚,然后启动UART端口发送序列,当发送结束时再拉低P7引脚;置高P7引脚(T0时刻)与启动UART端口发送(T1时刻)有一个延时Tx prepare time,它的最小值为100微秒。
RNDU470T的UART通信帧格式如下图所示,它是变长数据帧,帧具体的定义请参考《锐米LoRa终端说明书》。
为简化系统设计,我们强烈建议您采用“状态机”来解析该UART数据帧,并且把解析工作放在ISR(中断服务程序)完成,仅当接收到最后一个字节(0x0D)时,再将整个数据帧提交给进程(Demo系统为main程序)处理。
该解析状态机的原理如下图所示:
全部0条评论
快来发表一下你的评论吧 !