基于树莓派和LoRa 的独居老人应急通信系统
2022-03-03魏纵横崔曼曼温清机高锦霞蔡泽荣
魏纵横,张 昊,崔曼曼,温清机⋆,高锦霞,蔡泽荣
(1.广东技术师范大学 计算机科学学院,广东 广州 510665;2.广州中医药大学 医学信息工程学院,广东 广州 510006)
0 引言
如今,人口老龄化现象已经成为备受世界各地关注的社会问题之一.随着城镇化不断推进,年轻人不断地汇聚到城市区域,独居老人在农村老年人口的占比逐年升高.中国独居老人目前的数量已经超过老年总人口的10%.其中农村独居、空巢老人的数量超过5000 万,占农村老年人口数量的一半以上,并且在未来的一段时间内,独居老人的数目还会持续增长[1].随着老年人年龄的增加,一些常见疾病(例如:心脑血管疾病、内分泌与代谢疾病、精神系统疾病等)的出现概率将会在他们身上成倍增加.与此同时,高龄往往会伴随着老年人的行动不便,老年人意外跌倒的事故时有发生.此外,现阶段许多老年人的文化程度和经济水平相对较低,导致社会上的养老问题将会面临着巨大挑战(例如:难以支付雇佣护工和进入养老院的开支等).所以,不少老年人都会选择居家独自养老.然而,独居老人将面临无人监护问题.当独居老人遭遇突发疾病或者意外事故时,可能因难以及时被外界所知晓而错过最佳的救助时间.因此,独居老人能否随时随地与外界建立通信并及时发送相关信息就显得格外重要.随着科技的高速发展,当今社会涌现了各种智慧系统[2]对独居老人进行监护.然而,这些系统忽略了农村偏远地区信号覆盖面较窄或者密集城区信号被建筑物阻挡等问题,对于通信信息的有效处理与可靠传输将会是目前实现智慧监护独居老人系统的一大障碍.
当下监护独居老人的智慧系统要求可靠的通信技术和广泛的网络覆盖.现在偏远地区大范围部署移动网络还需要建造大量的基础设施(例如:基站、光缆等),成本高、时间长,经济效益不高.根据中国联通所发布的数据,建站通常需要花费大约三个月.其他已经拥有一定用户基础的Zigbee[3-4]和蓝牙等短距离通信技术的覆盖范围则比较小,不能够很好地满足远距离传输数据的要求.针对上述的各个问题,本论文引入了能够实现远距离、低功耗通信的LoRa[5]通信技术,设计了一种基于树莓派和LoRa[6-7]的独居老人通信网关系统.与此同时,该网关系统还利用了自适应跳频算法[8]进行自组网,使得该网关在远距离、低功耗通信的同时,能够自动选择质量较好的信道进行通信,避免因为信号干扰造成的网络中断,提高通信的质量,有效解决独居老人与外界难以及时进行数据传输的问题.
1 国内外研究
1.1 LoRa 研究现状
目前,LoRa 技术被广泛应用于不同的领域(例如:自动化制造工厂、智慧农业和报警系统等).全球LoRa 联盟成员已经超过500 家,所部署的LoRa 网络运营商也早已多于100 家.在全球范围内,大约有1 亿个LoRa 节点.Semtech是国外最早研究LoRa 的企业[9].早在2015 年,Digimondo 与Semtech 在德国的部分城市已经开始了LoRa 的部署,具体表现为对出租车等其它交通工具进行追踪定位测试.荷兰KPN 电信、韩国SK 电信和法国Orange 电信也是该行业中的代表企业.这些企业已经完成了LoRa 网关的大范围覆盖[9].中国市场也是LoRa 十分重要的市场之一.在中国境内,LoRa 网络部署正在蓬勃发展,LoRa 应用的功能也越来越全面.在LoRa 联盟的支持之下,我国成立了LoRa 应用联盟.在2016 年,中兴通讯与Semtech 公司签署了战略合作协议,双方在LoRa 技术及其相关应用方面展开了深入的交流与合作[9].2018 年,腾讯在深圳部署了LoRa 网络并应用于其多个业务领域.总体来说,国内各个物联网相关企业都在不断地推动LoRa 技术在中国的应用和发展.
1.2 LoRa 网关研究现状
LoRa 网关是一种使用LoRa 技术实现远距离和低功耗传输的多通道信息收发器.在2021年,世界各地一共部署了超过220 万个LoRa 网关.为了不断地扩大LoRa 的应用市场,目前,LoRa 还与全球物联网生态圈相互合作.到2026年,预计低功率广域网的物联网方案将有一半会利用LoRa 进行设计.随着物联网技术的高速发展,我国也出现了许多以LoRa 网关为基础,能够应用在不同领域的智能网关(例如:基于LoRa 的住院部口服药监护网关[10]、基于LoRa的城市物联网的网关[11]和基于LoRa 的智能安全帽系统的网关[12]等),并且在未来一段时间内,我国会持续加速推动LoRa 网关的发展.
2 系统设计方案
2.1 系统需求分析
系统设计的目的是为身处通信环境较差的独居老人提供监测各项相关数据的网关,排除通信过程中其他信号的干扰,实现远距离、低功耗通信.在独居老人遇到突发情况时,该系统能够保证及时与外界进行可靠通信,实时监测独居老人的各项数据,实现应急救助独居老人.该独居老人通信网关以树莓派为基础,通过LoRa技术采集传感器所获取的外界数据,上报给OneNET 云平台.OneNET 云平台可以配置邮件告警信息,通知老人的亲属.根据独居老人可能有各种基础疾病以及患病风险较大的情况,该系统能够对老人的身体数据和环境数据进行相应监测.同时,针对通信距离远、通信功耗高等问题,该系统采用了LoRa 技术进行数据传输,以降低通信功耗.为提高组网效率和信号的抗干扰能力,该系统还使用自适应跳频算法进行组网,有效提高通信的效率.
2.2 系统总体结构设计
该网关系统的总体结构设计方案由三个部分组成.分别为:LoRa 网关节点、LoRa 终端节点和OneNET 云平台.首先,LoRa 终端节点会利用传感器对外界独居老人的各个数据进行采集,当传感器成功采集完数据之后,LoRa 终端节点会通过LoRa 技术将传感器所采集的数据发送给LoRa 网关节点.然后,LoRa 网关节点将与OneNET 云平台之间建立网络连接,并且将该数据上传至OneNET 云平台.最后,OneNET云平台将收集到的数据存储起来并且进行实时更新.用户还可以通过OneNET 云平台的告警邮件知悉老人情况.系统总体架构设计如图1所示.
图1 系统总体架构设计图
3 网关硬件设计
该网关的硬件部分分别使用了以下三大模块:主控模块、LoRa 模块和天线模块.图2 和图3 分别是网关硬件连接实物图和网关硬件连接原理图.
图2 网关硬件连接实物图
图3 网关硬件连接原理图
3.1 主控模块
该网关系统选择使用树莓派4B 作为主控模块.树莓派4B 拥有丰富的硬件接口,能够安装任何ARM 平台的操作系统,兼容性强,非常便于后续的开发与维护.树莓派4B 不但可以通过连接的LoRa 模块接收和发送数据,而且能够将这个数据通过http 协议上传至OneNET 云平台.因为树莓派4B 具备Cortex-A72 架构的Broadcom BCM2711 四核处理器,所以它可以在相对低的功率消耗上迅速完成任务处理.
3.2 LoRa 模块
该网关系统选择基于SX1268 芯片的LoRa 模块进行设计,采用具有LoRa 调制功能无线串口模块的树莓派扩展板实现数据采集和组网功能,并且能够将其所采集的数据通过RPI(rockwell protocol interface)接口传送给网关的主控模块.由于基于SX1268 芯片的LoRa 模块所使用的工作频带不高,而且能够使用扩频技术进行数据传输,所以它可以通过降低数据传输过程之中的信噪比,更好地实现远距离通信的功能.与传统的通信模块不同,LoRa 模块还能够通过支持空中唤醒的方式达到降低通信功耗的目的,因此,它能够将远距离和低功耗相互结合.同时,该模块支持LBT(listen before talk) 功能和信号强度指示功能RSSI(Received Signal Strength Indication),不仅能够监听信道环境,还可以对信道的质量进行有效地评估,可以在很大程度上提高各个信道之间跳频成功的概率.
3.3 天线模块
该网关系统的天线模块主要由三部分组成,分别为:天线杆、馈线和底座.天线杆选择433mhz 的LoRa 天线,能够有效地增强信号接收能力.其通过末端的接头与LoRa 模块进行连接.馈线采用纯铜材料,有利于信号的灵敏收发.底座使用磁力吸盘,在安装简便的基础上提高了兼容性,可以广泛用于机器人控制和智能家居等通信场景.
4 网关软件设计
基于树莓派和LoRa 的独居老人通信网关软件设计一共包括了三个部分,分别为:组网功能、数据采集和数据上报(见图4).
图4 软件部分框架设计图
4.1 组网功能
当独居老人在遇到紧急事件时,向外界发送的通信信息可能会被其它多方面因素干扰.同时,在网关和终端节点的组网过程之中也可能因为信号干扰,需要人为进行多次信道参数配置.而传统的跳频算法一般采用集中的控制器或者专用的公共控制信道,但这些都存在一定的问题,例如:集中的控制器可伸缩性和灵活性差,公共控制信道的抗干扰能力较差等.针对上述的问题,本论文采用了自适应跳频算法进行组网.首先,网关会对波特率、高低地址和串口等各个基本配置信息进行初始化.在成功配置完成之后,为了降低不同的信号出现在同一条信道的情况,使得信道的利用率能够得到有效的增强,网关和终端会同时使用自适应跳频算法来进行组网,以此提高网关和终端的组网效率.当网关和终端的信道能够相互匹配时,网关和终端就能够相互建立连接并进行数据交互(即:网关端能够给终端成功地发送信息,终端能够成功地接收网关端发送的信息,反之亦然).组网功能的示意图如图5 所示.
图5 组网功能示意图
该网关系统的核心算法为自适应跳频算法[13].自适应跳频算法一共有两个模式,分别为:“跳模式”和“停模式”.在“跳模式”之下,信道会持续进行跳转,而在“停模式”之下,信道则会暂时停止跳转.每一轮下的“跳模式”和“停模式”都会相互结合,从而生成一段特定的跳频序列.网关和终端会根据这个跳频序列实现信道会合,进而建立通信连接.自适应跳频算法的流程图如图6 所示.
图6 自适应跳频算法流程图
以下是该算法的几个初始参数:
(1)所有能够使用的信道数量:M
(2)可用信道集合:Ck
(3)时隙:t
(4)大于M 的最小素数(在每一轮算法之中将会保持不变):p
(5)[1,M]中的跳跃步长:r
(6)[1,p]中的索引:i
首先,当前时隙t 会模于3p,并以此时的t作为当前轮数的时隙计数器,然后从信道 i 开始随机进入“跳模式”或者“停模式”.每一轮一共将会用到3p 的时隙,在“跳模式”之中,信道会跳转2p 时隙,然而,在“停模式”之中,则会持续p 时隙的停留.如果当前t 小于2p,则会进入“跳模式”,并且以r 除以p 的模作为当前的跳跃步长,信道不断跳跃2p 个时隙;如果当前t 大于或等于2p,则会进入“停模式”,在特定的信道停留p 的时隙.当当前的信道索引大于M 时,则会通过一定的规律将信道重新映射到可用信道集合之中,从而继续触发信道的相互匹配的机制.如果网关和终端的步长不同,根据中国剩余定理[14],二者的信道一定能够在“跳模式”之中进行会合;如果网关和终端的步长相同,那么在“停模式”之中的跳频序列可能会相同,进而导致二者的信道可能会在“跳模式”之中进行会合(同上,根据中国剩余定理[14]),也可能会在“停模式”之中进行会合.自适应跳频算法能够应用于多个设备在多个信道上建立通信的场景.因此,网关和终端能够减少出现在同一条信道之上发生碰撞的概率,进而有效地达到抗干扰的目的.与此同时,在后续的通信过程之中,网关和终端也将会在下一次信道跳变之前规划下一个合适的目标信道来保持通信,以实现自动组网的功能.
4.2 数据采集
完成上述组网过程后,网关会对终端的数据进行采集.数据采集的侧重点在于网关和终端之间的双向通信.首先,为了使独居老人的各种数据(例如:居住周边环境数据、老人日常活动数据、老人身体健康数据等)能够相对准确地被网关采集,网关会向终端发送控制信息,让接收到控制信息的终端能够向所指定的网关发送相应的数据.然后,终端会将老人的各种数据通过树莓派封装成若干个数据包,再利用LoRa 技术将这些封装好的数据包发送到指定网关.该方法使得网关能够在减少数据交互次数的情况下,顺利地汇聚终端收集到的数据,从而实现数据传输开销的降低,解决设备通信距离远和通信周边环境信号差等问题.最后,网关还会对所采集数据的正确性进行验证,并且在网关收到终端的信息之后,网关还会再向终端发送一次控制信息,让收到控制信息的终端确认数据已经送达其指定的网关,完成网关和终端的双向数据采集.图7 是数据采集的示意图.
图7 数据采集示意图
4.3 数据上报
在独居老人遇到突发事件的情况下,通信数据上传到云平台的时间将会直接影响到独居老人向外界求助的效果.因此,为了节省通信数据的传输时间,该网关系统会与OneNET 云平台之间建立通信连接.然后,OneNET 云平台能够将网关上报的数据存储到与其相对应的数据库中,从而完成网关数据的上报功能.图8 是数据上报功能的示意图.
图8 数据上报示意图
5 系统实验测试与结果
为了验证该论文所设计网关的功能与性能,我们开展了多次实验,总共包括了四个方面的测试:网关节点与终端节点之间的通信距离测试、OneNET 云平台数据展示测试、网关节点连接多个终端节点测试和移动网络与LoRa 在移动信号不良处通信对比测试.
5.1 网关节点与终端节点之间的通信距离测试
该实验的测试环境为广东技术师范大学东校区(广东省广州市天河区中山大道西293号)及其周边区域.首先,把一个网关固定在广东技术师范大学东校区工业中心第八楼的天台,再让一个终端节点从与网关节点之间的0m的距离开始,不断地远离已经固定好的网关节点.同时,让终端节点不断地向网关节点发送数据进行实验测试,每一次将会发送1000 个数据包.当网关节点与终端节点之间的距离大约每增加200 m 时,则会进行一次数据记录.此时,程序会对网关节点接收到的数据包进行统计,然后通过统计的数据计算出网关节点与终端节点之间所传输数据的丢包率,用这个丢包率来作为衡量网关节点与终端节点之间的通信质量的工具.表1 所示为网关节点与终端节点的通信距离测试表,图9 为网关节点与终端节点相对应的距离拓扑图.
图9 网关节点与终端节点之间的通信距离测试拓扑图
表1 网关节点与终端节点的通信距离测试表
测试结果显示:当网关节点和终端节点之间的距离在1600 m 之内时,数据的丢包率全部为0%,此时,二者通信质量高.直到网关节点和终端节点之间的距离为1800m 时,计算所得的数据丢包率上升至2%,即二者的通讯质量开始出现相应的下降.因此,为了保证高质量通信的效果,建议将终端设置在距离网关节点1600m之内.
5.2 OneNET 云平台数据展示测试
该实验通过对实时湿度的监测来测试OneNET 云平台数据展示的功能.该云平台的数据节点能够清楚地显示各个时间点以及相对应的湿度,大约每间隔四秒钟会更新一次数据.本次实验,OneNET 云平台总共显示了30 个数据.对湿度的实时监测如图10 所示,OneNET云平台展示了相对平稳变化的数值段和变化波动较为明显的数值段.与此同时,界面的左上角能够根据时间显示历史数据,界面的右上角可以实时刷新数据,所以该云平台能够有效地监测各个时段的湿度数据.
图10 One NET云平台数据展示测试图
5.3 网关节点连接多个终端节点测试
为了检测网关节点与终端节点的组网速率和终端节点数量之间的关系,该实验先将一个网关固定好,然后依次接入(1,2,3,4,5)个终端,利用程序来计算从组网开始到结束总共花费的时间,并且进行相应的记录.在保证网关节点与终端节点组网成功完成的前提之下,经过多次测试后,用这个计算出来的平均时间作为判断网关节点与终端节点之间组网速率快慢的依据.实验测试的结果如表2 所示.图11 为终端节点实物图,图12 为网关节点实物图.
图11 终端节点实物图
图12 网关节点实物图
表2 不同终端节点数目与组网时延对照测试表
实验结果表明网关节点与终端节点之间的组网速率会随着终端节点的数量不同而发生变化,当终端节点的数量越多时,网关节点与终端节点之间的组网速率越慢,二者之间成反比关系.
5.4 移动网络与LoRa 在移动信号不良处通信对比测试
该实验选择在移动信号较差的条件下进行测试,一共分为两组进行对比.第一组使用移动网络,第二组采用LoRa 技术,令终端节点向网关节点发送100 个数据包,计算通信过程的丢包率和平均时延.两组测试中通信过程的丢包率和平均时延如表3 所示.
表3 移动网络与LoRa 在移动信号不良处通信对比测试表
通过对比两组测试的丢包率和平均时延,该实验表明在移动信号覆盖不全面的地方,利用LoRa 技术进行通信比使用移动网络进行通信的丢包率更低、通信平均时延更短,故可靠性更高.
6 结语
本论文将LoRa 技术与自适应跳频算法相互结合,设计了一个基于树莓派和LoRa 的独居老人通信网关,能够有效地解决传统无线通信技术通信距离较短、功耗较大、组网困难、抗干扰能力不强等问题.可以应用于独居老人应急通信等其他通信场景.通过对该网关系统软件和硬件的详细设计,基于树莓派和LoRa 的独居老人通信网关同时具备了三个功能,分别是:自动组网功能、数据采集功能和数据上报功能.通过多次实验测试,基于树莓派和LoRa 的独居老人通信网关能够实现监测老人各项数据的功能并及时上报OneNET 云平台.