利用DEMO系统 评估LoRa终端与网关

                          利用DEMO系统 评估LoRa终端与网关

 

下载本文 DEMO 系统资料(源代码+硬件设计),请链接:《锐米开源四:DEMO系统》 http://www.rimelink.com/nd.jsp?id=68#_np=107_316

一.  系统意义

为帮助客户有效评估 LoRaWAN 终端 和 LoRaWAN 网关,我们设计一个DEMO板,该DEMO板需要满足:简单易用,成本低廉,稳定可靠,开放设计资料。达到:

1. 帮助用户与LoRa终端硬件接线;

2. 帮助用户与LoRa终端解析软件协议帧;

3. 有效评估LoRa终端的性能(通信距离、能耗等)和LoRa网关功能。

如此一来,客户可以快速搭建一个物联网系统,该系统如下图所示,可以将温湿度采集到云服务器,通过智能手机查看。

利用DEMO系统 评估LoRa终端与网关_第1张图片

 

二. 产品框架

DEMO板的整体框架如下图所示,MCU选用STM8L151C8T6,达到开发和采购低成本;温湿度传感器选用SHT10,它的成本较低;电池盒安装2节AAA干电池,贴片方式焊接在电路板上;miniUSB接口方便接入5V供电;2.0mm圆孔8芯排座用于安装LoRa终端。

 

利用DEMO系统 评估LoRa终端与网关_第2张图片

 

 

 

三. 硬件设计

利用DEMO系统 评估LoRa终端与网关_第3张图片

 

四. 软件设计

1. 软件开发环境

开发语言为ASNI C,IDE为IAR for STM8,为降低复杂度没有使用操作系统。

 

2. Demo系统逻辑

利用DEMO系统 评估LoRa终端与网关_第4张图片

Demo系统的主程序逻辑如上图所示,非常简洁,基于最简单的软件结构:while(1)无限循环。经过实测:Demo系统采集SHT10的12位湿度约用时62毫秒,采集14位温度约用时216毫秒。用户每5秒采集一次温湿度数据,再传输给RNDU470T。

 

 

3. UART驱动时序

RNDU470T是超低功耗产品,它大部分时间都处于休眠状态,因此Demo系统需要“唤醒”RNDU470T才能发送UART数据帧;同理,考虑Demo系统也可能处于休眠状态,RNDU470T在发送UART数据帧也通过信号线“唤醒”用户系统。具体时序请查看《锐米LoRa终端说明书》。

如下图所示,当Demo系统发送UART数据帧时,先置高P7引脚,然后启动UART端口发送序列,当发送结束时再拉低P7引脚;置高P7引脚(T0时刻)与启动UART端口发送(T1时刻)有一个延时Tx prepare time,它的最小值为100微秒。

利用DEMO系统 评估LoRa终端与网关_第5张图片

 

4. UART通信帧解析算法

RNDU470T的UART通信帧格式如下图所示,它是变长数据帧,帧具体的定义请参考《锐米LoRa终端说明书》。

为简化系统设计,我们强烈建议您采用“状态机”来解析该UART数据帧,并且把解析工作放在ISR(中断服务程序)完成,仅当接收到最后一个字节(0x0D)时,再将整个数据帧提交给进程(Demo系统为main程序)处理。

该解析状态机的原理如下图所示:

利用DEMO系统 评估LoRa终端与网关_第6张图片

利用DEMO系统 评估LoRa终端与网关_第7张图片

 

5. 代码工程

整个工程文件如下图所示:

main.c:Demo系统的整体逻辑代码;

SHT7x.c/.h:SHT10驱动代码;

stm8l15x_it.c/.h:MCU中断服务程序注册文件

timer.c/.h:定时器驱动代码;

uart.c/.h:UART驱动代码。

Project下存放基于IAR开发环境的工程文件;

STM8L15x_StdPeriph_Driver:ST公司官方驱动库文件。

利用DEMO系统 评估LoRa终端与网关_第8张图片

 

 欢迎加入“LoRaWAN论坛”http://lora.timeddd.com/forum.php

你可能感兴趣的:(LoRa无线通信)