您的当前位置:首页基于LoRa技术的低功耗广域网通信应用设计

基于LoRa技术的低功耗广域网通信应用设计

2021-07-28 来源:爱问旅游网
信息技术 XINXUISHU2021年第4期基于LoRa技术的低功耗广域网通信应用设计陈锦铭,栾静(新疆师范大学计算机科学技术学院,乌鲁木齐830000)摘 要:LoRa是一种基于扩频技术的远距离无线传输技术,随着我国高新技术产业的不断发展,Lo-

Ra低功耗广域网通信技术在大规模化的农业种植以及工业制造等领域应用越来越广泛,具有良好的 行业发展前景。应用LoRa技术构建低功耗传感网络,设计出一个网关,支持多个终端,在终端实现 对温度、湿度等数据的采集,速率优于lkb/ps,覆盖直径大于3km,通过实验测试达到较好的性能。

关键词:LoRa技术;低功耗广域网通信;传感网络;温湿度采集中图分类号:TP212.9

文献标识码:A 文章编号:1009 -2552(2021)04 -0059 -05DOI: 10. 13274/j. cnki. hdzj. 2021.04.011The LoRa application design of LPWAN technologyCHEN Jin-ming, LUAN Jing(School of Computer Science and Technology, Xinjiang Normal University,Urumqi 830000, China)

Abstract: LoRa is a long-distance wireless transmission technology based on spread spectrum technology.

With the continuous development of China's high-tech industry, LoRa low-power WAN communication tech­nology has found an increasingly wide utilization in large-scale agricultural planting and industrial manufac­

turing and has a good prospects of industry development. The article designs and applies LoRa technology to

build a low-power sensor network, and designs a gateway to support multiple terminals, the terminals realize the collection of temperature, humidity and other datas, the rate is better than 1 kb/ps, the coverage diame­

ter is greater than 3 km, and good performance is achieved through experimental testing.Key words: LoRa technology ; low-power wide area network communication ; sensor network ; temperature and humidity collection0引言高速发展的物联网时代,远距离传输技术越

网关处接收到远距离的终端所测量的温湿度等信

息并实时传输,接收精准度非常高,可为大规模农

来越发达。LoRa由于其传输距离远、功耗低、精 业种植领域实现农业的信息化控制提供有力 支持。1系统整体概述度高、便于搭建等特点在同类芯片中脱颖而出。 在现代农业中可以实时采集和传输温度,更好地 对温度进行控制,从而大幅提高生产效率,降低人 工成本,增加收益。随着互联网高速发展,基于 LoRa低功耗广域网无线通信技术应用领域越来

在环境搭建配置中,主要采用DHT11温湿度 传感器对实时温湿度进行采集,传入51单片机,

利用单片机对温湿度进行处理,再通过LoRa模

越广泛,本文设计的低功耗传感网络可使用户在作者简介:陈锦铭(1996 -),男,硕士研究生,研究方向为无线

通信。块将数据实时传输并发送至LCD1602显示屏。 此外另一单片机通过LoRa模块进行数据接收, 将数字信号传入单片机当中,通过单片机处理输

—59 —基于LoRa技术的低功耗广域网通信应用设计一陈锦铭 等出至LCD1602显示屏显示。系统数据传输的概 要设计如图1所示。意一个发送其余均可以接收;② 空中唤醒模式:发送方自动添加唤醒码,

唤醒目标模块,并发送数据,传输方式同“定点传 输”;③ 定点传输模式:任意模块均可作为发送方 点对点发送给任意模块,在发送数据时需要增加

目标地址+目标信道;④ 睡眠模式:本次设计所采用的是定点传输 模式,通过在发送端对目标地址位进行改变,实现

图1系统概要设计图2系统的硬件设计本次设计采用DHT11传感器进行温湿度的 数据采集,使用STC89C51单片机对数据进行处

理,外接显示屏显示实时测量数据。同时将采集

数据通过LoRa芯片进行实时通信,从而达到远 距离低功耗传输,用以实现现代农业对于温湿度 的实时调控。2.1 LoRa 模块在LoRa模块的搭建过程中,采用AS32-TTL- 100型号的LoRa模块,它具有超级低的接收功

耗、高稳定性,10 口电压兼容3. 3V和5V,模块采 用的是SX1278为主芯片,通过LoRa进行扩频传

输,TTL电平输出,通过使用循环交织纠错编码算

法提高编码效率,提升纠错能力,最大连续纠错能 力达到64bit,大大提升了抗干扰性和传输距离。AS32-TTL-100 的工作频率为 410 -441 MHz, 一共拥有32个信道,每个信道间隔1M并且可以 通过软件在线修改串口的波特率、收发两端的频

率等参数。模块接收灵敏度可高达-130dBm,信 号传输距离3000m,满足设计的要求。此芯片具有4种工作模式,可在运行时自由

切换且功耗低(最大100mW)o工作模式分为:透①明广播模式:同一地址信道的模块,任 —60 —一对多的数据传输。LoRa模块引脚定义:MD0,MDl作为输入互

相配合,0和1决定模块的4种工作模式,不可悬

空。RXD作为TTL串口输入,连接到外部TXD

输出引脚,可配置为漏极开路或上拉输入。TXD 作为TTL串口输出,连接到外部的RXD输入引

脚,可配置为漏极开路或推免输出。AUX作为用

于指示模块工作状态的用户,唤醒外部的MCU上

电自检初始化期间输出低电平,可配置为漏极开 路输出或推免输出以及VCC电源输入端,GND 接地。模块引脚功能如图2所示。GND图2 LoRa模块引脚图2.2 STC89C51 单片机STC89C51单片机的特点是运行快速、功耗

低、灵敏度高,在多种领域和范围内被广泛使用。

其片上RAM集成了 512个字节,工作时的频率最 高可达48MHz,应用程序空间从2K - 12K字节,

有六种程序空间可以供用户选择。I/O串口(27/

23个),复位后为准双向口/弱上拉。每个串口的 驱动能力可达到20mA,但整个芯片的最大电流 却不会超过55mA。在程序写入方面,STC89C51 单片机可通过串口直接下载用户程序,不需要专

用的程序编程器。因为单片机内部有集成的基于LoRa技术的低功耗广域网通信应用设计一陈锦铭 等MAX810专用的复位电路,用户可以省去外部复

+5V GND位电路的设计。在终端方式上可以采用两种方案:低电平触

发中断和下降沿中断。单片机内部含有两个十六

位的定时器/计数器,同时具有ADC功能,精度十 位,一共八路采用的是通用异步串行口。采用5V电源对单片机进行供电,EA引脚同

样接5V电源用于调用外部储存器。XTA接晶振 电路,采用内部振荡方式,在XTAL1和XTAI2引

脚中外接作为反馈器件的晶体,外接晶体后构成 内部振荡方式的自振荡器从而产生时钟脉冲。采

用11MHz频率的晶振,而电容器C3、C4的作用是 稳定振荡频率、快速起振。P1.2为传感器信息的

输入端,P3.0和P3. 1作为输出端外接LoRa芯 片,P1.O、P1. 1、P2外接LCD1602实现显示输出。

STC89C51单片机最小系统电路图如图3所示。U2P1.0 C

P1.1 P1.2.OJP1.3HP1.4 .2JMP1.5U

R2P1.6 4

P1.721RST32P3.0(RXD) 319P3.1(TXD) AE_-.5.6-pA(1YP.7P3.2(INT0) R0)qLE(P$

pP3.3(lNT0) P2.7FSE⑸p2..7P3.4(T0) P2.6(A1en(A1⑷p2.6P3.5(T1) P2.5p2.P3.6(WR) P2.4(A13)p2..54P3.7(RO) P2.3KA1P2(A12)dp2.XTAL2P.2XTAL1P2.XA1p2.2.3Z0) 1(ApGNDO(A 9)2..28)

J

.0GND图3 STC89C51单片机最小系统电路图2.3 LCD显示模块本文采用LCD1602液晶显示屏,16代表每行

显示16个字符;02代表共有2行显示,LCD1602 具有功耗低、抗干扰能力强、体积小、价廉等优点。

LCD引脚包括VSS接地、VCC接5V电源、V0接 滑动变阻器调节电压大小从而调节LCD亮度、Rs 为寄存器选择、R/W为对单片机的读写指令、E

为显示屏的输入使能端、RB0到RB7为8位双向 数据总线、BLK与BLA接背光电源正负。电路图

如图4所示。图4 LCD显示电路图2.4 实际电路构成此无线区域网络由一个网关和两个不同的终

端构成。前者作为节点实现对数据的汇总,后者

通过采用温湿度传感器对不同环境的数据采集,

运用LoRa模块进行数据的传输到终端⑴o 3软件系统的设计本系统软件设计主要包括STC89C51单片机

的软件设计和LoRa模块的软件设计两部分⑵。3. 1 STC89C51软件设计STC89C51单片机的软件主要包括串口初始

化和LoRa模块初始化、读取温湿度子函数、串口 接收中断处理函数、串口发送数据函数和延时函 数[Z]。STC89C51单片机的软件设计总体流程

图如图5所示。3.2 LoRa模块软件设计首先对LoRa模块的MD0和MD1进行设置, 使其进入休眠模式,然后设置工作参数。工作参

数为C0 12 34 1A 17 C4,C0表示所有设置参数断 电后直接保存以保证不需要二次设置;12 34为地

址位的高低字节;1A确定串口校验位和串口速 率;17确定通信频率;C4转换为2进制为

11000100分别确定传输方式、驱动方式、无线唤

醒时间、发射功率等。通过在发送端发送两个不同的工作参数及改 变地址从而实现一对多的定点传输,相对应的参—61 —基于LoRa技术的低功耗广域网通信应用设计一陈锦铭 等图5单片机软件设计总体流程图数改变就是将地址的低字节从34改变为35,在

接收端设置同样的参数即可完成定点传输。3.3 设计程序实现程序编写主要分为两个模块。一个作为数据

信息的发送端,主要是DHT11对温湿度进行采集

与通过LoRa模块进行数据的发送;另一个作为

数据信息的接收端,重点是对两个终端所采集的 信息通过LoRa模块来接收,并进行数据汇总在

LCD液晶屏上显示⑹,具体程序如表1 -6所示。表1终端一数据发送代码终端一数据发送代码-实现串口发送数据功能/ * ** @ brief :串口发送数据* @ param :*@TxBuffer:发送数据首地址* @ Length:数据长度* @ note:无* @ retval:无*/void drv_uart_tx_bytes ( U8 * TxBuffer, U16 Length )( while ( Length --){ while ( TI = = 1 )//等待上次发送完成TI = 0; //清标志位—62 —续表1SBUF = * TxBuffer; //发送数据TxBuffer + + ;表2串口发送温湿度数据代码串口发送温湿度数据的代码-实现温湿度数据发送的功能//uchar str[6] = {” RS232\" | ;/ * 系统初始化 * /TMOD = 0x20;

//定时器T1使用工作方式2TH1 = 253; //设置初值TL1 = 253;TRI = 1;

〃开始计时SCON = 0x50 ;

//工作方式1,波特率9600bps,允许接收ES = 1;EA = 1;

//打开所有中断TI = 0;RI = 0;LCD_init();SendData(str) ; //发送到串口Delay(l) ; //延时 100US(12M 晶振)LCD_disp_str(0,1, Humidity);LCD_disp_str(0,2,T);Delay(l) ; //延时 100US( 12M 晶振)outdata[0] =0x12;outdata [ 1 ] =0x34 ;ouldata[2] =0x17 ;表3串口显示程序串口显示程序-实现LCD屏对数据的显示功能str[0] =U8RII_data_H;slr[ 1 ] =U8RH_data_L;str[2] =U8T_data_H;str[3] =U8T_data_L;str[4] = U8checkdata;LCD_disp_char( 10,1 ,str[0]/10 +0X30);LCD_disp_char( 11,1,str[0]%10+ 0X30); LCD_disp_char(7,2 ,str[2]/10 +0X30);

LCD_disp_char(8,2,str[2]% 10 +0X30); LCD_disp_char (9,2,:、;LCD_disp_char( 10,2,str[3] +0X30);LCD_disp_char( 11,2,0XDF);LCD_disp_char( 12,2,0X43);基于LoRa技术的低功耗广域网通信应用设计一陈锦铭 等表4终端2传送数据的代码数据接收代码-实现对数据的接收功能

COM();U8 RH_data_H_temp = U8comdala;COM();U8 RII_data_L_temp = U8comdata;COM();U8T_data_H」emp = U8comdata;COM();U8T_data_L_temp = U8comdata;COM();U8 checkdata_temp = UScomdala;P2_0 =1;表5数据校验代码数据校验代码-实现对传输数据的校验功能U8temp = ( U8T _ data _ H _ temp + U8 T _ data _ L _ temp +

U8 RH_data_H_temp + U8 RH_data_L_temp);if( U8temp = = U8checkdata_temp)IU8RH_dala_H = U8RH_data_H_temp;U8RH_data_L = U8 RH_data_L_temp ;U8T_data_II = U8T_data_H_temp ;U8T_data_L = U8T_data_L_temp ;U8 checkdata = U8checkdata_temp ;)//fi表6网关接收数据代码网关接收数据的代码-实现对传输数据的接收功能{ i = 0 ; length = 6 ;MO = 1;M1 =1;while (length----){ SBUF = outdata[ i];while(TI= =0);TI=0;i+ + ;)Ml=0;M0 =0;while (AUX! =1);Delay (500);RI = 0;receive = 1 ;while (receive = = 1);Delay (5000);for( i = 0;i <5 ;i + + )续表6{ LCD_disp_char( 15,1 ,i + 0X30);Delay ( 1);str[i] =SBUF;while(RI = = 0);RI= 0;4结束语本文基于LoRa低功耗广域网通信技术设计 了温湿度采集系统,充分利用LoRa模块的传输

距离远的特性,在现代农业生产中实时采集和传 输温度。该设计也能应用于其他对温湿度有要求

的领域。本设计主要特色体现在:①远距离的传

输,其覆盖直径可以达到3km以上;②超低的运 行功耗,其功耗最大为100mW;③能够对多点进

行温湿度实时采集与汇总。另外本设计可以增加

终端的个数对多个不同点信息进行采集,拓展传 感器的类型对光照强度、风速、二氧化碳浓度等多

个环境参数的采集。在当今社会有较多的应用, 为人们生活提供了便利,在农业智能化、工业自动

化、互联网信息化等领域有广阔的应用前景[7】。

参考文献:[1] 张晓光•基于WiFi的无线数据采集系统设计[J].无

线互联科技,2016(23) :21 -22.[2] 姚湘,沈民熙,赵静,等•基于物联网技术的无线温湿

度大棚控制系统[J].信息与电脑:理论版,2019,31

(24) :155 -156,159.[3] 夏长林,陈中华•探讨农业物联网技术的创新运用方

式[J].信息与电脑:理论版,2016(5):155 -156.[4] 吴波.基于单片机的温室大棚环境监控系统设计[J] •电脑知识与技术,2018,14(24) :246 -248.[5] 林倩.DHT11数字温湿度传感器通信协议的10模拟

[J] •信息通信,2017(1) :206 -207,[6] 刘丽,尹进田,周沛峰,等•基于NRF24L01的多点无

线温湿度采集系统设计与实现[J].工业控制计算 机,2014,27(11) :156 -158.[7] 梁宁欣.基于DHT11传感器的大棚灯光控制系统

[J].科技经济市场,2016(3):21,20.(责任编辑:丁一元)—63 —

因篇幅问题不能全部显示,请点此查看更多更全内容