基于LoRa的组网设计方案.docx
《基于LoRa的组网设计方案.docx》由会员分享,可在线阅读,更多相关《基于LoRa的组网设计方案.docx(22页珍藏版)》请在冰豆网上搜索。
![基于LoRa的组网设计方案.docx](https://file1.bdocx.com/fileroot1/2023-7/11/e86fcc43-50dd-4208-b404-9ba42b587f46/e86fcc43-50dd-4208-b404-9ba42b587f461.gif)
基于LoRa的组网设计方案
基于LoRa的组网设计方案
1概述
基于LoRa的组网通信系统采用LoRa通信协议进行组网通信,系统由计算机终端、通信基站、集成通信模块的用户设备、具备通信功能的用户设备等组成,实现整套系统的互相通信。
2功能性能指标
2.1功能指标
⏹LoRa组网通信功能:
通过通信基站向全部设备广播信息;通过通信基站向某一特定设备发送参数或控制命令;通信基站同时接收16个设备的上传数据。
⏹LoRa通信加密功能:
无线通信具备加密功能,提供加密算法。
⏹设备命名功能:
为每一个接入网络的设备定义设备编号,名字可长期不变,也可经授权改变,可唯一识别不同的设备,满足后续数据处理。
⏹485通信功能:
按照485标准以及MODBUS数据格式,通信模块可完成与用户模块电路之间的数据通信。
⏹调试界面软件功能:
实时显示各设备数据,包括设备工作状态、设备传感器数据;设置设备参数与状态,包括设备命名与修改、下达复位命令、设置报警值、设置数据上传时间间隔、启停数据采集等;存储数据,按照不同任务、不同设备进行关联存储;数据可查询;数据可打印。
⏹API接口通信功能:
按照MODBUS数据格式和LoRa通信协议,建立界面软件(包括调试界面软件)和通信基站之间通信通道,界面软件可实现相应功能。
⏹故障显示与定位功能:
当通信基站和通信模块发生故障时,界面可显示故障,并显示具体哪一个通信模块或通信基站发生故障。
2.2性能指标
⏹无线通信体制:
LoRa通信,一个基站对多个通信设备的组网通信。
⏹无线通信距离:
无遮挡传输距离≥5000m,有金属遮挡传输距离≥2000m。
⏹无线通信速率:
通信基站向用户设备下传数据≥1kbps;用户设备向通信基站上传数据≥5kbps;通信基站数据吞吐速率≥10kbps,可同时接收≥16路的设备上传数据;有遮挡时,上传和下传数据率的衰减量≤50%。
⏹通信模块供电:
采用+12V电源供电。
⏹通信基站功耗:
通过DC12V电源适配器进行设备供电。
⏹数据加密:
无线通信上传和下传数据进行加密,16路同时上传时,数据吞吐速率不超过通信基站额定能力的70%。
提供数据加解密算法。
⏹485通信速率:
通信模块向用户模块电路的下传数据速率≥1kbps;用户模块电路向通信模块的上传数据速率≥5kbps;数据格式采用MODBUS通讯协议。
⏹一次工作时间:
一次开机,可可靠连续工作12h。
⏹工作温度:
-35℃~55℃。
⏹存储温度:
-40℃~70℃。
⏹湿度:
40℃工作温度下,90%湿度,通信基站、通信模块能正常工作,且不凝露。
⏹元器件和原材料的性能参数满足环境温度(工作温度、存储温度)要求。
3技术路线选择
LoRa是LPWAN(低功耗广域物联网)通信技术中的一种,LoRa作为目前最有发展前景的低功耗广域通信技术,已经被运用在个各行各业中。
是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输方案。
LoRa无线通信采用直序扩频技术,具有通信距离远、功率密度集中,抗干扰能力强的优势。
同时具有软件FEC前向纠错算法,其编码效率较高,纠错能力强,在突发干扰的情况下,能主动纠正被干扰的数据包,大大提高可靠性和传输距离。
目前,LoRa主要在全球免费频段运行,包括433、868、915MHz等。
LoRa是物联网应用中的无线技术有多种,可组成局域网或广域网。
ZigBee是一种无线连接,可工作在2.4GHz(全球流行)、868MHz(欧洲流行)和915MHz(美国流行)3个频段上,是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。
基于此,我们选择传输距离远、功耗低(长电池寿命)的LoRa模块。
4系统设计
基于LoRa的组网通信系统由计算机终端、通信基站、集成通信模块的用户设备、具备通信功能的用户设备等组成,系统采用LoRa通信协议进行组网通信,实现命令或参数的下达,以及数据的采集与上传等功能。
图4.1基于LoRa的组网通信系统组成示意图
4.1系统组成
系统由计算机终端、通信基站、集成通信模块的用户设备(设备1~设备10)、具备通信功能的用户设备(设备11~设备16)等组成。
表1设备清单
序号
名称
数量
说明
1
通信基站
1台
提供技术手册。
2
通信模块
10块
提供技术手册。
3
基站天线
1套
SMA接口;
提供技术手册。
4
设备天线
10套
防水、防尘;
SMA接口;
提供技术手册。
5
通信模块电缆
10套
每套含:
一根300mm的SMA电缆;一根300mm的485通信电缆(含接插件,提供定义,3个信号线);一根300mm的供电电缆(SMA接口);一根485转USB电缆。
6
API接口软件
1套
提供使用说明书。
7
LoRa通信协议与MODBUS数据格式
1套
采用该通信协议和数据格式,可满足其他设备实现LoRa通信功能设计。
8
调试界面软件
1套
供系统集成调试用,提供说明书。
4.2系统工作模式
因射频的特性决定了无线串口收发模块可以一发多收,不能同时多发一收,造成了射频组网的最大的障碍,因此,为了解决这个问题就只能够利用时间来实现组网,下面是无线LoRa收发模块实现多发一收的解决方案。
4.2.1主机轮询的组网方式
主机轮询方式组网是主机逐个查询的方式,该组网方式能够准确上传,并且相互设备之间不容易出现冲突,组网也比较稳定,但是缺点是主机轮询耗时间长。
这种组网方式适合那些对时间要求不高的组网应用。
主机轮询的组网方式原理很简单,通过点名的方式实现应答。
如主机发送给1号从机,由于从机都有地址设别,因此只有从机1能够响应主机。
从机1收到主机的命令后,将数据上传给主机。
主机再以相同点的轮询方式轮询其它从机数据。
图4.2主机轮询组网图
4.2.2分时间片的组网方式
分时间片的组网方式对于组网数据收集来说是比简单的轮询方式快了很多,但是对从机的时间同步以及发送延迟要求高。
图4.3分时间片组网图
如图,这种组网方式是先由主机发起广播时间,从机收到后,同步自己的本地时间,同步完成后,根据自己的编号进行延时上传,从而实现多发一收的功能。
这种组网方式收发数据时间节省很多,并且能够防止冲突,但是对软件延时等调整要求较高。
为保证数据传输的实时性,选择第二种方式分时间片的组网方式,实现整个系统的无线通信。
5通信设计
5.1MODBUS通信协议
MODBUS网络是一个工业通信系统,由带智能终端的和计算机通过公用线路或局部专用线路连接而成。
其既包括硬件、亦包括软件。
它可应用于各种数据采集和过程监控。
它已经成为一种通用工业标准。
MODBUS网络只有一个主机,所有通信都由它发出。
网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。
MODBUS协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了一个控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
MODBUS网络以RTU模式进行通信,在消息中的每个8Bit字节按照原值传送,不做处理。
这种方式的主要优点是:
数据帧传送之间没有间隔,相同波特率下传输数据的密度要比ASCII高,传输速度更快。
5.2MODBUS通信示意图
本系统由无线LoRa和有线485进行组网通信。
均采用MODBUS通信协议RTU通信方式。
可进行点对点通信和点(基站)对多(模块)通信。
图5.1基于LoRa的通信示意图
6软件设计
6.1软件流程图
监测主机界面软件主要对整个系统的运行状况进行监控。
出现异常情况时,给出报警提示;同时可进入设置界面进行参数设置,对历史数据存储和打印。
图6.1监测主机软件流程图
6.2软件时序图
监测主机界面软件可通过无线LoRa或者有线485进行通信。
监测主机作为主机,可对任一设备进行点对点通信,也可通过广播命令控制所有从机,当主机获取所有从机数据时,从机根据设备编号延时间隔固定时间依次回应数据。
图6.2监测主机软件时序图
7结构设计
通信基站和通信模块采用如图所示外形结构和安装尺寸,包括各接口定义。
7.1接口设计
图7.1电气接口示意图
图7.2状态指示图
表2电气接口定义表
脚号
名称
功能
说明
1
DB-9母型插座
RS-232接口
标准RS-232接口
2
3.81接线端子
RS-485、电源接口
标准RS-232接口与压线式电源接口
3
PWR-LED
电源指示灯
红色,电源接通时点亮
4
TXD-LED
发送指示灯
黄色,发送数据时闪烁
5
RXD-LED
接收指示灯
黄色,接收数据时闪烁
6
DC电源接口
电源接口
直插式圆孔5.5*2.5mm
7
拨码开关
拨码开关
工作模式控制
8
天线接口
SMA-K接口
外螺纹内孔,长10mm,
特征阻抗50Ω
*注:
DC电源接口和3.81接线端子供电均为12V,根据现场接线情况二选一即可。
7.2外形设计
图7.3结构外形尺寸图
8实验方案
序号
试验项目名称
试验样品数量
试验结果
试验单位
1
外观、重量、尺寸
全检
检验报告
陕西卫峰
2
无线通信距离
抽检
测试报告
陕西卫峰
3
无线通信速率
抽检
测试报告
陕西卫峰
4
通信模块供电与功耗
抽检
测试报告
陕西卫峰
5
通信基站功耗
抽检
测试报告
陕西卫峰
6
一次工作时间
抽检
检验报告
陕西卫峰
7
72h稳定性试验
全检
检验报告
陕西卫峰
8
工作高温试验
抽检
检验报告
陕西卫峰
9
工作低温试验
抽检
检验报告
陕西卫峰
10
工作湿度试验
抽检
检验报告
陕西卫峰
11
贮存高温试验
型式试验
检验报告
陕西卫峰
12
贮存低温试验
型式试验
检验报告
陕西卫峰
9项目进度和质量保证
9.1项目研制进度计划
序号
名称
时间
备注
1
签订合同
合同签订之日起算
T0
2
质量计划
1周
T0+1
3
研制方案
1周
T0+1
4
研制方案评审
1周
T0+2
5
工程样机
4周
T0+6
6
工程样机试验
2周
T0+8
7
设备制造
6周
T0+14
8
试验大纲
3周
T0+14
9
型式试验
2周
T0+16
10
出厂验收
2周
T0+18
9.2质量控制与文件交付进度计划
文件清单如下:
序号
文件名称
文件类型
提交进度
1
技术文件、图纸
1.1
研制方案
I
合同签订后2周内
1.2
设备外形图、安装图、外部接线图
I
合同签订后2周内
1.3
通讯协议说明(LoRa)
I
合同签订后2周内
1.4
安装说明书
I
合同签订后10周内
2
质保文件
2.1
产品出厂合格证明书
I
设备交运前
10主机与监测系统通信协议
10.1概述
本协议规定了主机与监测系统的通信协议,所有相关硬件设备都应遵从协议规范。
10.2协议标准设置
采用RS-485标准接口。
——标准协议:
ModbusRTU协议。
——波特率:
9600bps。
——设备地址:
1-247(出厂默认值为00H)。
——通讯方式:
监测主机主机主动发送命令,便携主机被动应答。
10.3字节格式
编码系统:
8位二进制,十六进制0‐9,A‐F。
数据位:
1起始位,8位数据(低位先送),无奇偶校验,停止位1位。
错误校验区:
循环冗余校验(CRC16)
RTU错误校验码为2字节16位CRC码。
10.4帧格式
Modbus信息以帧的方式传输,每帧有确定的起始点和结束点,使接收设备在信息的起点开始读地址,并确定要寻址的设备(广播时对全部设备),以及信息传输的结束时间。
RTU模式中,信息开始至少需要3.5个字节的静止时间,发送完最后一个字节后,也有一个3.5个字符的静止时间。
整个信息必须连续发送。
如果在发送帧信息期间,出现大于1.5个字符的静止时间时,则接收设备刷新不完整的信息,并假设下一个地址数据。
开始
地址
功能
数据
校验
终止
T1-T2-T3-T4
8bits
8bits
N*8bits
16bits
T1-T2-T3-T4
10.5浮点数存贮和传输格式
浮点数采用IEEE标准的单精度浮点数格式,如图所示,每个数由4字节组成,数据传输时,从第一字节到第四字节的顺序传送。
10.6功能码
功能代码
功能名称
03(0x03)
读寄存器
06(0x06)
写单个寄存器
16(0x10)
写多个寄存器
10.7读写保持寄存器
地址
高字节
低字节
数据类型
备注
00H
实时数据
float
只读
01H
02H
报警状态
TF卡状态
uchar
只读
03H
电池电量
uchar
只读
04H
年
月
uchar
读写
05H
日
时
uchar
06H
分
秒
uchar
07H
报警阈值
float
读写
08H
09H
报警时间
uchar
读写
0AH
密钥
设备编号
uchar
只限485接口
0BH
系统复位
uchar
只写
02H、报警状态:
0=正常,1=报警。
TF卡状态:
0=正常,1=异常。
03H、电量:
0-100.
09H、报警时间:
0=0.5s,1=1s,2=2s.
0AH、设备编号:
1-247.
0BH、系统复位:
写入0x00AA可复位。
10.8举例
1、读取设备数据与状态:
010300000007xxxx(地址01)
地址
功能码
寄存器起始地址
寄存器数量
CRC
01
03
0000
0007
xxxx
从应答:
01030700000050120701090C22xxxx
地址
功能码
字节数
实时数据(4字节)
报警、TF卡
01
03
0E
3D4CCCCD
0000
电池电量
时间
CRC
0050
120701090C22
xxxx
实时数据0.05Bq/cm2,未报警,TF卡正常,80%,18年7月1日9时12分34秒。
2、读取报警时间:
010300090001xxxx(地址01)
地址
功能码
寄存器起始地址
寄存器数量
CRC
01
03
0009
0001
xxxx
从应答:
0103020001xxxx
地址
功能码
字节数
数据
CRC
01
03
02
0001
xxxx
报警时间为1s.
3、写系统时间:
011000040003120701090C22xxxx
地址
功能码
起始地址
寄存器数量
数据
CRC
01
10
0004
0003
120701090C22
xxxx
从应答:
0103020001xxxx
地址
功能码
起始地址
寄存器数量
CRC
01
10
0004
0003
xxxx
4、系统复位:
0106000B00AAxxxx
地址
功能码
寄存器起始地址
数据
CRC
01
06
000B
00AA
xxxx
从应答:
0106000B00AAxxxx(成功原样返回)
地址
功能码
寄存器起始地址
数据
CRC
01
06
000B
00AA
xxxx
10.9异常响应
出现异常指令时,设置功能码的MSB为1。
这使得异常响应中的功能码值比正常响应中的功能码值高0x80,返回异常指令。
地址
功能码
异常码
CRC
01
80|xx
xx
xxxx
异常码
内容
01
非法功能码
02
非法数据地址
03
非法数据
10.10CRC16校验方式
staticconstuint8auchCRCHi[]={
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,
0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,
0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,
0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,
0x80,0x41,0x00,0xC1,0x81,0x40
};
staticconstuint8auchCRCLo[]={
0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,
0x07,0xC7,0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD,
0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,
0x08,0xC8,0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,
0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,0x14,0xD4,
0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,
0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3,
0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,
0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,
0x3B,0xFB,0x39,0xF9,0xF8,0x38,0x28,0xE8,0xE9,0x29,
0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,
0xEC,0x2C,0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,
0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0,0xA0,0x60,
0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,
0xA5,0x65,0x64,0xA4,0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,
0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68,
0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,
0x7F,0xBF,