APP下载

基于NB-IoT的白蚁侦测系统

2022-09-23谭虎成赵承志

电子制作 2022年16期
关键词:白蚁串口文件夹

谭虎成,赵承志

(长江大学电子信息学院,湖北荆州,434000)

0 引言

白蚁危害各类木质结构及建筑,是国际公认的五大害虫之一,在全球范围内造成了巨大的经济损失[1]。近年来,随着万物互联的理念的提出,物联网得到了飞速发展,利用物联网技术对白蚁进行侦测和预警,及时通知相关部门采取有效措施防治白蚁给古建筑带来的危害。现有的ZigBee技术和NB-IoT技术的集成设计[2]解决了ZigBee通信距离短的问题,需提高终端的射频功率,集中器反而让系统功耗变大,一旦集中器的电量耗尽,所有的终端会出现瘫痪现象,给工作人员带来困扰。LoRa技术[3]的通信距离可达10km以上,且传输数据多层加密为传输做了安全保障,但是LoRa技术需要集中器且安装非常麻烦,成本上也不适用于本项目场景。

本文采用窄带物联网技术的OpenCPU方案,Open CPU是一种嵌入式的开发解决方案,面向模组,可以简化开发流程。由NB-IoT通信芯片BC20采集传感器数据并上传至云端服务器[4],实现实时自主休眠唤醒功能,利用干簧管传感器的开关特性判断附近是否有白蚁存在。NB-IoT技术是一种窄带蜂窝通信LPWAN低功耗广域网通信技术[5],此技术已广泛用于无线抄表、共享单车、智能家电和环境监测等各个行业,以提供数据传输服务。本系统将NB-IoT模块设计为主处理器,即采用OpenCPU开发应用到NB-IoT无线通信模块上,用户可通过模块内的处理器和FLASH资源来进行模块设计、I/O设计等,可快捷开发嵌入式应用,从而缩短产品的开发周期,现今的NB-IoT模块在成本上已经得到大幅下降,从而提升了模块的竞争力。

1 系统整体框架

本方案的设计框图如图1所示,本系统设计主要分为多个数据终端和云端服务器。

图1 系统设计框图

数据采集终端是由BC20芯片为主体的一块集成的电路板,负责连接传感器以及收发数据;云端服务器采用的是阿里云的服务器,输入用户名和密码即可使用。

2 数据采集终端硬件设计

2.1 数据采集终端的组成

数据采集终端由BC20模块、干簧管传感器和电池组成,BC20采集干簧管的开关量、电源电池量、以及模块的IMEI标识号。两边的干簧管用于判断白蚁的存在,中间的干簧管是此数据采集终端电池的开关,电池采用的是3.6V锂电池,如图2所示。

图2 数据采集终端组成图

干簧管1上有磁铁,导通给模块上电。干簧管2和干簧管3下面也有磁铁[2],所以也是导通的,但是磁铁下面是玻璃沙珠,由白松木将它们包裹,白蚁喜食白松木,如果白松木被啃食,里面的玻璃沙珠就会漏出,从而磁铁就会掉落,干簧管失去磁力,就会断开,这样就实现了“白蚁报警”。

2.2 数据采集终端的电路设计

本系统是基于NB-IoT模块的OpenCPU方案开发的,NB-IoT模块采用的是上海移远公司的BC20模块,OpenCPU是一种将模块作为主处理器的解决方案,在成本与功耗方面占据巨大优势,BC20模块外围电路图如图3所示,图中包括电源控制电路、电压采集电路、数据采集电路等。

图3 BC20电路设计图

BC20模块提供一个10位模数转换输入接口用来采集电压值,而引脚电压采集范围在1.4V以内,故需使用电压采集电路对电源电压进行分压,电压采集电路包括电阻R20、电阻R21、电容C36。其中,电阻R20和电阻R21用于分压电源电压,电容C36可滤去电压和电流中高频杂志成分,保证电源输出的稳定性。

数据采集电路包括R22、R23、干簧管传感器S2、干簧管传感器S3,其中,R22以及R23用于限流,干簧管传感器S2和干簧管传感器S3用于判断开关状态,当S2断开,S3断开时,BC20模组的两个引脚S2和S3采集电平为低电平,代表有白蚁出现;当S2断开,S3闭合时,BC20模组引脚S2为低电平,引脚S3为高电平,代表有白蚁出现;当S2闭合,S3闭合时,BC20模组引脚S2为高电平,引脚S3为高电平,代表无白蚁出现。

2.3 干簧管传感器

干簧管传感器在断开时不会产生任何形式的功耗,适合作为低功耗装置的传感器,可用于控制设备的电源开关。本设计使用三个干簧管传感器,其中一个作为装置的电源开关,另外两个用于采集白蚁数据。BC20模块的VDD_EXT接口为干簧管供电,如果干簧管2或干簧管3引脚电平为高电平,代表没有白蚁;反之,如果干簧管2或干簧管3引脚电平为低电平,代表有白蚁存在。本系统的采集电路具有巨大优势,因干簧管传感器属于长期闭合状态,如使用电源供电上拉电路,会让干簧管传感器处于灌电流状态,从而达不到低功耗效果。BC20模块在断电的状态下,VDD_EXT端口无电压输出,从而减少了不必要的电流消耗。

3 数据采集终端软件设计

数据采集终端的软件设计流程如图4所示。BC20上电后初始化,入网后开启定时器,若没有入网,则重新注册入网;然后接受数据并通过AT指令来进行数据上传,上传数据至服务器后,模块定时时间到进入PSM休眠状态,若定时时间没有到,则重新上传数据,直到定时时间到,最后等待休眠唤醒。

图4 软件流程图

4 系统调试与分析

此次实验所需要的调试工具有Sublimetext和串口助手,BC20芯片开发OPENCPU需要获得上海BC20芯片的SDK文件,SDK为开发人员提供编译环境、开发指南以及其他相关文档、头文件(定义所有API函数和类型声明)、一些示例源代码、开发源代码的RIL、下载程序的工具。本文所使用的SDK文件为BC20_OpenCPU_NB1_SDK_V1.0。

先要对BC20芯片进行固件升级,需要在芯片上调试串口RXD_DBG和TXD_DBG上,用USB转TTL串口数据线,连接然后选择固件升级包进行升级。固件升级后的BC20模块可进行编程处理,需完成固件升级和程序下载两个步骤,编写代码工具Sublimetext,是一款跨平台代码编译器,支持多种语言开发,功能非常强大。打开Sublimetext编译器就可添加SDK文件夹,SDK文件夹中包含不同的文件,移远公司为了方便开发人员开发OpenCPU,SDK文件夹为用户提供代码例程。本文使用的是BC20模块,其中包含TCP、UDP等协议连接,还有与Onenet云端、阿里云端连接的例程。本系统通过TCP协议将采集数据传输至监控云端服务器,可使用Example_tcpclient.c文件进行程序编写,还可通过Example_adc.c文件实现ADC采集任务。

完成代码编写工作后,查找SDK文件夹下的Make子文件夹,其中包含Gcc_makefile文件,此文件用于编译编写代码的文件。设置C_PREDEF=-D __EXAMPLE_TCPCLIENT__可编译Example_tcpclient.文件,每个文件中都包含一个条件编译#ifdef的头文件,这样在预编译时可区分每个文件。

程序下载完成后,将BC20电路板用USB转TTL数据线连SDK文件夹中的build文件夹下的App_image_bin.cfg文件在编译完成后生成,此文件是用于烧写程序的文件。SDK中包含多个Example文件,使用make clean指令可擦除先前编译好的cfg文件,make new指令用于重新编译cfg文件。下载程序使用QFlash_V4.10工具,选择配置文件app_image_bin.cfg可完成程序下载。

程序下载完成后,将BC20电路板用USB转TTL数据线连接电脑,并用串口进行调试,查看串口输出信息。

接电脑,并用串口进行调试,查看串口输出信息。

获取到的GPS信息为$GNRMC,074220.00,A,3020.08 49,N,11212.4592,E,0.750,,280222,,,A,V*12。

需要查看GPS协议,如下:

<0>$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息

<1>定位时UTC时间hhmmss.sss格式

<2>状态A=定位V=导航

<3>纬度ddmm.mmm 格式(前导位数不足则补0)

<4>纬度方向N(北纬)或S(南纬)

<5>经度dddmm.mmmm (前导位数不足则补0)

<6>经度方向E(东经)或W(西经)

<7>速率,节,Knots

<8>方位角(二维方向指向,相当于二维罗盘)

<9>当前UTC日期ddmmyy 格式

<10>磁偏角,(000- 180)度(前导位数不足则补0)

<11>磁偏角方向,E=东经,W=西经

根据此参数设定得知,本实验板获取的位置信息的经纬度3020.0849,N,11212,4592,E。 此经纬度是度分秒的表示形式,需要进行一次转化,变成坐标形式的经纬度,坐标式的经度为112.219943,纬度为30.338475,用百度地图查看此经纬度,恰好就是本实验的地点位置,长江大学。

在云平台监控信息,看此芯片是否发送数据成功,如图5所示,由图可知,本实验的数据在云监控平台上显示出来,数据为043836323137303431353035383837180000,04为公司设备号,后面的3开头为芯片的IMEI标识号,最后的10为干簧管的开关量,此为“白蚁报警”量。

图5 云平台数据显示图

5 结语

基于BC20的白蚁监测系统在稳定性、功耗上具有巨大优势,所以本系统使用基于BC20的侦测方案对白蚁进行监测。本系统中的终端节点可部署于复杂且潮湿的环境下,主要用于环境监测白蚁,终端节点还可根据搭载不同类型的传感器以实现特定监测功能,如水质污染、山体滑坡、桥梁隧道,高层建筑等监测的应用场景。

猜你喜欢

白蚁串口文件夹
Fast Folders,让你的文件夹四通八达
77岁“蚁人”家中养10万多只白蚁
摸清超标源头 大文件夹这样处理
残忍的白蚁
调动右键 解决文件夹管理三大难题
MCS—51单片机中的多串口通讯技术的应用
不容忽视的空文件夹
白蚁克星机器
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断