主页 > 案例大全 >

论文技巧案例-基于NB-IOT技术的猪舍环境信息采集系统

2021-03-15 11:43


   本文主要设计与实现了基于窄带物联网(NB-IOT)技术的猪舍环境信息采集系统,以便进行定时采集猪舍的环境信息。在系统设计中选用MSP430F149单片机芯片作为控制芯片,同时作为数据采集的核心芯片。数据采集主要由传感器网络模块,电平转换功能模块等其他模块组成,实现猪舍空气的温湿度信息,光照信息,空气中氨气含量信息的采集。数据通信模块由按键模块,NB-IOT模块与LCD显示屏模块等组成,实现数据的汇总以及云终端传输,最终可在云终端查看环境信息。

 

  本系统在硬件系统的设计基础上,进行了数据采集节点和汇集节点的软件设计。根据系统的要求,无线通信采用COAP协议。将单片机芯片未使用的IO端口设置为输入状态,以此降低系统的功耗,同时控制芯片和NB-IOT模块及时进入休眠模式。采用中断方式选择和运行外围设备,减少外围设备的访问次数。效降低系统功耗。经过系统的软硬件仿真,证实本系统的功能可以实现。

 

  1系统总体设计

 

  1.1系统技术要求与功能需求

 

  在猪的生长过程中,肯定要与周边环境接触,猪只个体行为活动要对周边环境产生影响。猪舍环境恶劣,就会导致生猪的免疫力,抵抗力下降,患病率和死亡率提高,会对养殖户造成巨大的经济损失。在现代养猪业中,新型饲养技术的普及,致使猪的抵抗力减弱,猪只自身对环境条件的需求增高。[2]因此,为猪创造适当的环境条件尤为重要。

 

  首先我们要确定系统采集什么样的数据,实现什么样的功能。再在要实现的功能的基础之上,分析选用合适的器件设备达到预期目标。而基于NB-IOT技术的猪舍环境信息采集系统的主要目的是实现猪舍温、湿度,氨气浓度,光照强度数据的采集并且进行远距离传输,便于用户访问查询。[3]为了设计符合现实场合的应用,首先要针对要根据猪舍环境的具体情况具体分析:

 

  (1)硬件使用年限问题。由于系统需要在猪舍中工作,猪舍一般温度湿度高,空气质量差,所以我们的系统需要长期在恶劣环境中使用。

 

  (2)数据信息采集问题。温度、湿度、光照信息、氨浓度信息,必须满足采集条件,数据采集及时、准确、快捷,便于用户获取环境信息。

 

  (3)通信效率问题。此次系统设计,系统通信主要通过NB-IOT模块来实现,其通信质量高、误差小,可以实现数据的远程传输。

 

  最终,设计的数据收集系统必须满足以下功能:

 

  (1)简单可靠。该系统设计简单,设备轻便、灵活,易于安装,运行质量高,可以降低设备故障的概率。

 

  (2)实用性。系统安装连接后,用户不需要控制,系统独立运行,并将数据上传到云端。

 

  (3)成本低。该系统安装成本不能过高,线路要易于铺设,便于系统低价推广,使其具有真正的实用价值。

 

  1.2系统设计方案

 

  1.2.1系统总体设计方案

 

  猪舍环境信息采集系统其具体由三部分组成,采集信息终端,NB-IOT通信模块,云端数据检测查看。信息采集端主要负责环境数据信息的采集与传输;通信模块负责数据的接收与云端存储,可以将数据存储到云端并制作可视化界面访问。系统总体设计流程如 1.1。

 

   1.1环境信息采集系统流程

 

  系统主要设计的部分为采集信息终端。而信息采集终端主要有单片机,传感器电路组成,实现信息采集的功能。其他部分,设计状态指示灯,显示电路是否正常工作,电源是否开启;通信接口实现与NB-IOT模块的通信;电源对系统进行供电。主控板总体设计流程如 1.2。

 

   1.2主控板设计框 

 

  1.2.2系统可行性分析

 

  本设计提出了采用NB-IOT技术进行数据通信的设计思路,实现猪舍环境信息的采集和传输。针对这个设计思路进行技术,经济,操作可行性进行分析,主要结果如下:

 

  (1)技术可行性高。NB-IOT作为新型物联网技术,具有连接多、覆盖广、速率低、成本低、功耗低、等优点。而且可以直接部署在GSM、UMTS或LTE网络,直接降低部署成本、实现平滑升级。[4]

 

  (2)经济可行性强。华为构建的NB-CIOT的生态系统,已经有高通、沃达丰、德国电信、中国移动、中国联通、Bell等主流运营商、芯片商及设备系统产业链上下游加入了该阵营,降低了技术成本,可以实现低成本的广泛的运用于农业生产,动物养殖。2018年,广东政府大力支持新一代物联网(NB-IoT)在全省的全面商用,已建成NB-IoT基站4万个。其他省份也在逐渐推广NB-IOT技术在现实中的应用。[5]

 

  (3)操作可行性高。NB-IoT技术可以和传感器技术结合,通过传感器采取环境信息,或者其他数据信息,实现NB-IOT技术在农业,工业,生产制造业的大规模应用。采集到的数据由NB-IoT网络直接上传到云平台和手机APP,实现环境超限报警,质量检测等功能。

 

  1.3小结

 

  在这一部分中,结合环境信息采集系统的功能和要求,对系统进行了需求分析,可行性分析。结果表明,基于NB-IOT技术的环境信息采集系统值得研究推广。并且在此基础之上,使用模块化设计思路,对环境信息采集系统进行了总体方案设计架构,指导后续工作有序分布开展。

 

  第二章系统硬件设计

 

  2.1猪舍环境参数对猪的影响

 

  2.1.1温湿度对猪的影响

 

  猪舍的高温高湿削弱了猪只的免疫力,导致病原微生物的生长,容易产生疫情。

 

  猪舍的低温高湿很容易使猪患各种呼吸道疾病、感冒、风湿病、关节炎、肠炎、腹泻和其他疾病,影响猪只的身理健康。

 

  猪舍的低温低湿环境,增加了猪的皮肤和呼吸道粘膜表面的蒸发量,使皮肤和粘膜干燥,易引起皮肤病以及各种呼吸道疾病。[6]

 

  2.1.2光照强度对猪的影响

 

  光照对猪的健康、生长也有很大影响。适当的照明对于调节猪的生理功能非常重要。适度紫外线照明有益于猪的健康生长。它可以保持猪只皮肤温暖,扩大毛细血管,促进血液循环,促进猪的新陈代谢,改善皮肤营养。紫外线还可将皮肤中的脱氢胆固醇转化为维生素D3,促进猪对钙和磷的吸收,提高身体组织的耐病性。

 

  2.1.3氨气浓度对猪的影响

 

  氨气对人畜和家畜的呼吸道粘膜和结膜有严重的刺激破坏效果。

 

  猪舍高浓度氨容易引起人和猪只的结膜炎、支气管炎、肺炎、肺水肿。氨气也可以随着呼吸进入血液,引起猪只中枢神经麻痹、心肌损伤等。猪舍低浓度氨容易导致猪只抵抗力下降,患病率增加,死亡率上升,生产率下降。[8]

 

  2.2环境信息采集系统总体设计

 

  猪舍环境信息采集系统,从物联网的三个层面设计实现。应用层,通过云端数据,进行二次开发,制作可视化界面,进行访问监控。传输层,利用RS232串口和NB-IOT技术实现系统的通信。感知层,主要由传感器采集环境信息,动物的行为。系统的总体方案设计如 2.1所示。[9]一般情况下,同一猪舍内饲养的是同一类型的猪,环境需求基本一致。所以在传感层面,每栋猪舍布置一个信息采集系统,作为一个独立监控区域,经通信模块将数据上传到云端,存储到服务器和数据库,用户可通过云端访问或制作可视化界面查询数据。

 

   2.1系统总体方案设计

 

  猪舍环境信息采集系统信息采集部分使用传感器网络技术。信息采集模块和通信模块使用串口通信,便于传感器节点布置,减少有线线路的使用,降低成本,提高数据传输的可靠性。完成信息采集后数据通过NB-IOT模块上传。采集的得到的数据信息通过数据库技术进行管理,后期可通过其他技术制作可视化界面进行查询,监测。

 

  2.3传感器选型及其电路设计

 

  2.3.1温湿度传感器选型及电路设计

 

  本信息采集系统选择的温湿度传感器是DS18B20。DS18B20是一种常用的数字温度传感器,其特点是体积小,成本低廉,抗干扰能力强,精确度高,而且接线简单,封装后可应用于多种场合,适用于各种狭小空间设备数字测温和控制领域。DS18B20与一般温湿度传感器相比只有一条单线接口,DS18B20传感器与微处理器实现双向信息通讯只需要通过一条数据线即可。[10]在电路中的设计如 2.2。

 

   2.2 DS18B20传感器电路 

 

  2.3.2光强传感器选型及电路设计

 

  光照度表示发光物体的照明程度。[11]本信息采集系统选择的传感器是BH1750FVI。它是一种可以用于两线式串行数据总线接口的数字型光强度传感器。它的高分辨率使得它可以探测到较大范围内的光强度变化。在电路中的设计如 2.3。

 

   2.3 BH1750传感器电路 

 

  2.3.3氨气浓度传感器选型及电路设计

 

  结合猪舍环境特点和监测精度的要求,我们选用了MQ135传感器。MQ135传感器使用二氧化锡(SnO2)作为其气敏材料。二氧化锡在洁净的空气中导电率较低。其可以实现环境中所测气体浓度的变化与该气体浓度相对应的输出信号相互转换。[12]MQ135气体传感器可以实现对苯系蒸汽、氨气、二氧化硫等有害气体的准确检测,精确度很高。与猪舍环境特点相比较,MQ135是一款与猪舍环境监测相匹配的低成本传感器。在电路中的设计如 2.4。

 

   2.4 MQ135传感器电路 

 

  2.4核心模块设计

 

  2.4.1嵌入式处理器的选择

 

  环境信息采集系统的核心元件是嵌入式处理器。而处理器型号多种多样,处理器芯片的选择决定系统的开发模式。8位单片机,开发技术成熟、广泛使用,缺点是速度较慢,功耗高。DSP,计算速度快,能力强,但其开发技术困难,开发周期比较满长,成本比较高。[13]综合各方面的情况,TI公司制造的MSP430F149微控制器在此设计中最终被用作系统微控制器。MSP430系列实现了低功耗和计算能力并重的目的,非常适合应用于对系统功耗要求比较苛刻的电路。其电路 如 2.5。

 

   2.5 MSP430F149电路 

 

  2.4.2 NB-IOT模块硬件设计

 

  本系统选用的NB-IOT模块为有人云公司生产的NB75模块,主要优点是高性能,低功耗。原理 如 。

 

   2.6 NB-IOT原理 

 

  NB-IOT模块与MSP430f149主控芯片通过TTL串口相连。NB-IOY模块的URT1_RXD,URT1_TXD分别于MSP149的P30,P31串口相连。

 

  2.5其他功能模块设计

 

  2.5.1复位模块

 

  复位电路的功能就是上电复位。其确保了微机系统中电路的稳定可靠工作,是必不可少的一个电路模块。在系统代码执行出错的情况下,由开关手动复位,初始化系统,减少电路不断上电对电路造成的伤害。本次设计复位模块是利用RC充电实现上电复位与手动复位功能。复位电路 如 2.7。 2.8是按键电路将开关接到单片机IO口上,通过中断,实现按键功能。

 

   2.7复位电路  2.8按键电路 

 

  2.5.2电源装置

 

  只有提供稳定的电源,系统才会稳定正常的工作。在整个系统中需要两个电压即5V和3.3V。DS18B20温湿度传感器和BH1750FVI光照强度传感器需要提供3.3 V电压,MSP149模块需要3.3 V电压,而MQ135传感器和NB-IOT模块需要5 V电压,因此只需要_5 V和3.3 V两种工作电压。因此,电源可采用5V电池进行供电。然后再接一个稳压芯片AMS11173.3V版本。将电压降至3.3V,进行供电。稳压电路如 2.9所示。

 

   2.9电平转换模块原理 

 

  2.5.3模块汇总

 

  整个主控系统硬件原理 如 所示。

 

   2.11部分硬件原理 

 

  2.6小结

 

  在本章中,首先分析了猪舍环境对猪只的影响,其次详细介绍了选择DS18B20,BH1750,MQ135传感器的原因并对其进行了原理 设计。最后从实用的思路出发考虑,根据各个模块的功能,给出了信息采集模块和通信模块的详细设计方案以及其原理 。

 

  第三章系统软件设计

 

  3.1软件设计方案

 

  3.1.1 MSP430单片机编程介绍

 

  用于MSP430单片机开发的平台是IAR公司的集成调试环境IAR Embedded Workbench,IAR的Embedded Workbench系列适用于开发基于8位、16位以及32位微处理器的嵌入式系统。[14]其具有以下优点:

 

  (1)集成开发环境具有统一界面,方便用户易学易用。

 

  (2)用户可以针对多种不同的处理器,在相同的集成开发环境中进行基于不同CPU的嵌入式系统应用程序开发,提高工作效率,节省工作时间。

 

  (3)IAR的Embedded Workbench具有可扩展的模块化环境,允许用户使用自己喜欢的编辑器和语言控制系统,用户也可以采用第三方软件进行仿真调试和芯片编程。

 

  (4)在调试时可以在顶层软件中看到寄存器的内容,可以在线修改、单步运行、在线观察各个变量的实时值。如 3.1所示为IAREmbedded Workbench的界面示意 。

 

   3.1 IAREmbedded Workbench的界面示意 

 

  系统支持多种计算机语言编程,可是在综合比较之下,使用C语言对单片机进行编程。在程序设计开发时,C语言可以发挥MSP430低功耗的优势,同时C语言应用范围广,易于理解,可以提高程序的可移植性,可读性。

 

  3.1.2主程序功能设计

 

  猪舍环境信息采集系统的设计与实现的软件必须具有以下功能:

 

  (1)单片机控制传感器采集空气温湿度、氨气浓度。、光照强度信息。

 

  (2)通过NB75模块把采集到的猪舍环境信息上传到物联网云平台。

 

  (3)单片机内部解析,由NB75模块接收的物联网云平台的指令。

 

  (4)其他功能如:按键显示、定时等看作为中断事件。通过按键开关,可以调节时间。主程序流程 如 所示。

 

   3.2主控程序流程 

 

  3.1.3软件设计总体架构

 

  信息采集模块与通信模块共同组成基于NB-IOT技术的猪舍环境信息采集系统。因此软件设计也由两部分组成。软件设计难点主要是信息采集模块。因此,主要针对信息采集模块进行了设计。其包含的主要程序设计有:初始化程序,传感器程序,通信模块程序,低功耗程序,其他功能程序等。其他功能包括复位功能,JTAG功能,显示功能等等。总体设计程序如 3.3所示。

 

   3.3软件设计总体流程 

 

  3.2传感器程序设计

 

  3.2.1温湿度传感器程序设计

 

  DS18B20传感器采用简化的单总线通信。系统中的数据交换、控制均由该数据线完

 

  成。工作流程如下。

 

  第一步,复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。

 

  第二步,在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来控制器与18B20间进行数据通信。

 

  第三步,控制器发送ROM指令。ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。

 

  第四步,控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着就是发送存储器操作指令。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。

 

  第五步,执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据。[17]

 

   3.3温湿度传感器数据读取流程 

 

  3.2.2光强传感器程序设计

 

  BH1750是用IIC通讯。IIC由时钟线(SCL)和数据线(SDA)组成。时钟线控制数据是否传输,数据线传输数据信息。BH1750的信息采集有五个部分组成。第1步:发送上电命令。(上电命令为0x01)。第2步:发送测量命令。发送的测量命令是“连续高分辨率测量(0x10)”。第3步:等待测量结束。高分辨率连续测量需要等待的时间最长,为了保证每次读取到的数据都是最新测量的,程序上面可以延时200ms以上。第4步:读取数据。先是“起始信号(ST)”,接着是“器件地址+读写位”,然后是应答位,紧接着接收1个字节的数据,然后给BH1750发送应答,继续接收1个字节数据然后不应答,最后是“结束信号(SP)”。第5步:计算结果。接收完两个字节还不算完成,因为这个数据还不是测量出来的光照强度值,我们还需要进行计算,计算公式是:光照强度=(寄存器值[15:0]*分辨率)/1.2(单位:勒克斯lx)。因为我们从BH1750寄存器读出来的是2个字节的数据,先接收的是高8位[15:8],后接收的是低8位[7:0],所以我们需要先把这2个字节合成一个数,然后乘上分辨率,再除以1.2即可得到光照值。传感器读取数据流程 如 3.2所示。

 

   3.4光强传感器数据读取流程 

 

  3.3通信模块程序设计

 

  在本次系统设计中,通信模块选用NB75模块,它控制着传感器数据采集与远程发送,位于系统的中的领导控制地位。NB-IOT模块支持两种通信协议,分别问COAP和UDP协议。本系统采用CODP协议。通过主控芯片发送AT指令远程操作NB-IOT模块。首先NB-IOT模块要入网,其入网流程 如下。

 

   3.5 NB-IOT模块初始化流程 

 

  第四章系统测试

 

  前面的章节给出了系统软硬件系统的详细设计方案。本章主要是对整个系统进行调试。不管这个这个系统的开发设计的有多完善,但是在实际现场应用中还是可能会出现各种各样的问题,有些影响因素甚至可能会致使软硬件系统无法正常运转。好的信息采集系统不仅实验结果符合系统预期设计而且可以长期稳定可靠运行。

 

  4.1系统调试

 

  为保证无线传感器数据采集系统安全、稳定的工作,检验系统功能的实现、信息传

 

  输的可靠,系统的调试是必不可少的工作,对本系统的调试主要分为硬件调试,软件调试,系统联调三个步骤。

 

  4.1系统调试

 

  4.1.1硬件调试

 

  (1)在给系统加电之前,观察PCB板的排线,检查电路板是否存在短路,走线的问题。接着核对元器件型号、规格以及安装是否符合要求及使用规定。最后通过万用表对各个元器件进行详细地检测,用手指拨动元器件,检查其是否存在错焊、虚焊,元器件连接不稳定等情况。先排除电源线和接地端的问题。[18]

 

  (2)接着,给系统上电,用万用表检测各个元器件电压是否稳定,是否可以正常工作。需要注意的是,加电时,电路有没有冒烟,或者难闻的气味产生。有的话,要赶紧断电。

 

  (3)其次检查单片机能否正常工作,编写测试代码,确保硬件各个元件能实现其相对应的功能。

 

  4.1.2软件调试及系统联调

 

  软件调试的目的是解决逻辑错误和代码错误的问题。系统的软件部分主要为传感器数据采集和数据传输。系统在IAR编译环境下反复地进行编译进行调试。直至软件可以正常运行。

 

  在完成硬件和软件调试之后,将系统的软件程序通过JTAG接口写入到单片机芯片中,验证系统能否正常运行,检测系统的通信质量,根据系统运行状况可以在线修改和完善程序,避免系统以后在运行过程中出现状况或者由于软硬件配合不当而造成故障。

 

  4.2通信模块调试

 

  本次设计中使用NB-IOT模块进行通信。在模块安装上SIM卡以后,给开发板供电。而NB-IOT的Coap测试需要云平台配合,当前的支持Coap协议的平台有华为OceanConnect平台、电信天翼云、移动OneNet。[19]华为的NB-IOT模块调试如 所示。其他模块调试基本类似。

 

   4.1华为的NB-IOT模块调试

 

  我用的是有人云的的透传云平台进行测试。首先是注册登录透传云平台,

 

   4.2透传云平台

 

  云平台通过数据模板来解析模组上报的数据,这里我们讲解如何添加数据模板。

 

  (1)登陆透传云控制台后依次点击“数据管理”/“数据模板”/“添加”。

 

  (2)在新增模板界面输入模板名称,这里我们根据自己所需的模板,添加湿度、温度以及氨气浓度,光照强度数据点。

 

   4.3添加数据

 

  接着添加设备。

 

  (1)控制台页面,进入到设备管理当中的设备添加一栏。

 

   4.4添加设备

 

  (2)添加新设备需要填写以下信息:

 

  所属用户和设备分组:默认即可;

 

  设备名称:用户自定义,建议按照一定规律命名;

 

  设备类型:勾选“电信CoAP/NB-IoT”;

 

  IMEI和SN:填写设备贴膜上的IMEI和SN码;

 

  以下三项根据Demo例程的要做如下设置。

 

  通信协议:Modbus RTU

 

  采集频率:不采集

 

  添加一个从机,名称可任意填写,设备号为1,关联的模块选择上一节添加的“温湿度/LED”

 

   4.5添加设备信息

 

  接下来可以上传设备的自定义 标以及模块的位置信息。设置完成后点击“保存”完成设备的添加,添加后的设备可在设备列表里面查看和管理。



知网查重福礼


微信扫码关注公众号登录

x
客服QQ 返回顶部