




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[12]。总而言之,使用固态函数库可以大大减少用户的程序编写时间,从而对减少开发投入,体系结构图如图4-1所示。图4-1体系结构图4.2数据模块处理设计基于NB-IoT垃圾桶监测管理系统各个模块的基本连接方式,模块连接示意图如图4-2所示。图4-2模块连接示意图垃圾桶环境监测管理的数据采集功能是将中断与多次循环进行数据读取和处理,通常工作流程为:为STM32开发板供上电(通过USB线与电源相连),开启相对应的时钟、GPIO口初始化,北斗GPS定位传感器模块与超声波测距传感器模块开启工作模式,使用定时器进行计时工作,将读取各模块数据进行集中处理,处理完成就转到传输模块,其流程图如图4-3所示。图4-3数据采集流程图4.3数据采集原理4.3.1获取定位数据的实现本系统所用于智能垃圾桶定位监测的传感器是BH-ATGM332D定位传感器,BH-ATGM332D定位传感器是一个可以进行快速的搜星,精确的定位,还配有PPS指示灯和用于信号更高效接收的源天线接口。定位传感器跟有源天线一起使用,增强了搜索信号。我们通过定位就可以快速知道垃圾桶的准确位置。该系统主要是利用BH-ATGM332D传感器主要是与开发板的VCC、GND进行连接。定位传感器的VCC端连接到开发板的电源接口、GND连接对于开发板的相同端口,传感器相应引脚连接到开发板,PB10引脚作为输入,PB11引脚作为输出。在解码时输出捕获的定位语句,关键代码如下:voidtrace(constchar*str,intstr_size){#ifdef__GPS_DEBUGuint16_ti;printf("\r\nTrace:");for(i=0;i<str_size;i++)printf("%c",*(str+i));printf("\n");#endif}多次读取BH-ATGM332D定位传感器的经纬度,关键代码如下所示:GMTconvert(&info.utc,&beiJingTime,8,1);/*输出解码得到的信息*/beiJingTime.mon,beiJingTime.day,beiJingTime.hour,beiJingTime.min,beiJingTime.sec);deg_lat=nmea_ndeg2degree(info.lat);deg_lon=nmea_ndeg2degree(info.lon);printf("\r\nlatitude:%f,longitude:%f\r\n",deg_lat,deg_lon);//输出纬度经度4.3.2获取超声波测距离信息HCSR04超声波传感器测距离程序是先定义一个单精度返回值的函数,函数体通过对超声波发送的信号及接收时间进行计算:floatdistance_Count(void) {u16time=0; floatDistance;Start_hc_sr04(); time=TIM_GetCounter(TIM4); TIM_SetCounter(TIM4,0);//计数器值清零 Distance=(time*1.7); returnDistance;}flameStatueSand=1;}floatultrasound_check(void){floatf=0.0;sr04_over_flag=0;Start_hc_sr04();while(!Echo);//当回响信号为零时等待TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE);TIM_Cmd(TIM4,ENABLE);while(Echo);TIM_ITConfig(TIM4,TIM_IT_Update,DISABLE);TIM_Cmd(TIM4,DISABLE); if(sr04_over_flag==1){f=500;}else{f=distance_Count();}returnf;}4.4NB-IoT传输模块设计通过使用嵌入式NB-IOT网络传输方式进行无线传输,本文对于无线传输网络采用的是移远BC28专业通信芯片,它可以进行链接和PSM状态,能在几毫安进行守功耗,支持UDP、CoAP网络两种网络通信协议,为用户提供安全可靠的传输模式。并且传输模块面积小、接口是固定化的直接使用,用户可以方便简化的将设备加到自己的主板设备上去。STM32微控制器与NB-IOT通信模块进行连接,是通信模块数据上传的重要一个转接,NB-IOT模组通信通过相应AT指令进行工作模式,用户可以对NB-IOT模组进行设备入网和数据发送等方面的控制。NB-IOT通信模块与华为物联网开发平台使用的是根据NB模组型号适用的网络协议CoAP协议,NB-IOT传输模块的工作流程为:首先程序发送一个AT指令,等待NB通信模块做出响应,响应即为模组可以正常进行工作。再设置模块相应工作的功能,配置连接设备平台的IP地址和端口号,使数据能成功发送到相应的设备,关闭IDLE模式和PSM模式,设置模块最大功能,将数据进行整理之后,就可以对数据进行发送,NB-IOT模块每一次发送AT指令时,都需要上一次发送的指令能够正常执行,执行结果用关键字“OK”来判断,如NB-IOT通信模块能成功执行发送的指令,会在设备输出“OK”关键字,否则输出的就是“ERROR”关键字,通过关键字,我们便可判断执行状态。NB-IoT通信模块的部分功能配置需要根据工作的最小功能模式下进行设置,由于本系统设计与实现需要对消息实时上报,则需要对NB-IOT的工作模式设置为DRX。下位机程序所用到的AT指令如表4-1所示。表4-1下位机程序所用AT指令表序号命令功能1AT判断设备是否正常,正常返回“OK”2AT+CFUN=0设置工作的最小功能3AT+CGSN=1该命令是获取IMEI号需要的相关信息5AT+CPSMS=0对PSM模式进行关闭6AT+CEDRXS=0对eDRX模式进行关闭8AT+CGATT=1设置为网络附着9AT+CGPADDR返回唯一的设备IP地址10AT+CSQ获取设备工作信号强度4.5上位机程序设计与实现本次设计的垃圾桶环境监测管理系统上位机我使用C#语言开发,实现对监测管理系统的用户登录注册以及将华为物联网平台发送存储到阿里云的数据。从华为物联网平台获取传感器上传的原始数据,根据阿里云设置的端口号和地址,通过自身订阅功能与阿里云想连接,阿里云数据库是建立在阿里云ECS服务器上,是一个虚拟的数据库。4.6本章小结本章着重介绍了下位机实现功能的基础知识介绍,下位机数据传输到云平台主要通过NB通信模块的工作,数据采集模块主要通过对应的传感器实现。NB-IoT通信模块负责将NB-IoT网络进行传输。以及介绍了NB通信模块所要用到的下发指令。
华为物联网开发平台对接5.1华为物联网开发平台的结构华为物联网开发平台是一个便捷的开发工具,它能为客户提供高效的服务水平,向开发者和用户更高效地完成设备接入,并为客户提供应用开发及场景服务能力,能够高效率帮助客户构建物联网应用。开发平台为了方便客户使用,提供了简单操作的SDK和通讯模组在设备里的接入方式,并通过灵活的协议能进行多种连接使用方式,对开发者开发新产品的门槛降低了。5.2华为物联网开发平台接入流程华为物联网开发平台是基于互联网的发展,通过现有科技手段进行建构的,从而对任何特定的硬件模块都不会依赖,用户可以根据自身的设备和现有技术知识架构以及方向来跟物联网接入。它主要是通过与硬件唯一的识别号进行连接使用,能对通讯协议进行相应处理以及进行安全的身份验证。5.3华为物联网开发平台部署华为物联网可以自己根据需求自定义创建产品,在产品定义中编写其属性类型及数据长度,就可以进行注册设备,如果要将设备和华为物联网开发平台共同使用,需要在注册设备时生产密钥和ID作身份识别。5.3.1Profile文件的开发Profile文件是为了将用户个人独特的数据进行存储,相当于JSON格式的文件,Profile想要正常运行就必须要先识别用户个人身份,验证还是匿名都可以进行操作,只要是具备唯一识别用户的能力后就可以将用户的个人相关信息存储在Profile数据表中,简单的说,Profile的功能是结合Login组件的功能一起使用的。设备模型定义使用采用一个文件名为Profile,它主要对产品中的设备进行类型和使用功能的描述。给个接入物联网平台的产品设备,都会有自己独一无二的Profile文件。一个Profile文件的内容包括两部分,设备的基本个人信息,如设置的厂商ID、名字、使用设备的型号等;另一部分是产品设备的服务信息,主要是业务中的数据配置。数据定义格式如表5-1所示,效果图如图5-1所示。表5-1Profile定义表数据属性列表属性名称数据类型范围长度是否必选备注IMIEstring15是设备号Distanceint0-65535是测距离Latitudestring--9是维度显示Longitudestring--9是经度显示图5-1profile设计截图5.3.2编解码插件的开发编解码插件包含线上线下两种形式。编解码插件的作用有两个:(1)对下位机传感器设备采集上报的具体数据;(2)电脑端服务器的命令一般是从Profile格式转为下发,根据开发者设置一般为16进制。设备上传的数据经过平台内部编码(encode)变成符合profile规则的json存储格式,经过平台订阅推送到相应的地方。华为物联网开发平台本身就具有自己的开发编解码插件功能,它的功能主要是对消息的定义和映射的建立进行操作。编解码插件的建立是需要来自定义Profile文件和采集的数据格式进行开发,本系统定义了四个服务信息,完成对数据上报的定义,该类型定义的长度和类型等属性需要与Profile文件定义的一致。云平台设置的编解码插件定义如表5-2所示,效果图如图5-2。图5-2云平台设置的编解码插件定义图表5-2编解码插件定义表数据上报字段编解码插件服务属性Profile定义属性备注messageId地址域IMEIIMEI设备号DistanceDistance测量距离LatitudeLatitude维度显示LongitudeLongitude经度显示5.4HTTP平台数据推送设计与实现本系统通过平台利用HTTP进行数据的推送,GPS传感器和超声波传感器可以利用HTTP协议方式进行数据传输,发送给相应的工作服务器。从下位机连接传感器采集的数据通过平台自带的订阅功能进行推送给相应的设备,平台数据订阅图如图5-3所示。图5-3平台数据订阅图华为物联网平台实现数据转发阿里云服务服务需要用到订阅功能,首先需要用到阿里云自定义的IP地址:9,自定义的端口号:8080。华为物联网平台的订阅转发数据服务自动将接收到的数据实时转发到订阅地址,在阿里云服务器上成功接收华为云物联网开发平台运行的数据进行接收,解析数据并成功保存到MySql数据库中,数据存储路径如图5-4所示。图5-4数据存储路径本章华为物联网开发平台的基础知识进行了简单介绍,以及下位机和华为物联网开发平台之间通信关系。还介绍了数据存储的MySql应用。
系统测试6.1硬件模块测试对基于NB-IOT垃圾桶监测管理系统设计构建所需要用到监测硬件设备进行合理选型以及各个模块的功能设计后,为了了解各个模块的连接方式以及它们能否正常工作,需要对每一个硬件设备进行测试,以便对测试的问题进行排查。单个模块的功能进行验证是为往后整体系统测试打下基础,本设计对装置的整体测试6.1测试环境测试设备及环境信息如下:电脑操作系统:Windows10家庭中文版电脑硬件信息:、8G运行内存硬件设备:GPS北斗定位传感器、超声波测距传感器、STM32开发板、NB-IoT网络模块浏览器:MicrosoftEdge浏览器6.2硬件模块测试本次对NB-IOT技术进行垃圾桶环境监测管理系统课题研究的硬件部分实物连接图如图6-1所示。图6-1硬件实物连接图6.2.1经纬度数据获取测试将烟雾传感器与STM32单片机相连接,通电后烧录代码到开发板STM32F103单片机中。将野火调试助手打开,配置工作参数进行接收数据,开发板与电脑连接,连接电源上电开机,GPS传感器接收卫星发射的信号计算、分析在野火串口调试助手输出,定位传感器采集的数据测试图如图6-2所示。图6-2定位传感器采集的数据测试图6.2.2距离信息数据获取测试超声波传感器的测试需要通过STM32开发板进行连接,对用到的调试助手进行工作相关参所配置,超声波感器经过计算将获取的参数输出,即在串口调试助手显示,超声波感器测试实物图如图6-3所示。图6-3超声波传感器数据采集测试图6.2.3NB-IoT通信模块测试NB-IoT通信模块是数据上传云平台最重要的一个步骤,其通信验证尤为重要。首先对NB-IoT模组进行通电,打开任意一个调试助手,配置所需的参所,发送通信需要验证的AT指令,以下是NB-IoT通信模块的测试流程以及预期结果如表6-1所示。表6-1NB-IoT通信测试流程及预期结果表步骤预期结果测验NB-IoT是否正常工作打印“ATOK”最小功能设置打印“AT+CFUN=0”“OK”查找NB-IoT的IMEI码信息打印“AT+CGSN=1”,“OK”设置地址和端口号打印“AT+NCDP=32,5683”查询NB-IoT的信号强度打印“AT+CSQ”查询NB-IoT的IP地址打印“AT+CGPADDR”将ID定位0的客户端打印“AT+CIPSEND=0,3”新消息的提示打印“AT+NNMI=1”6.3华为物联网开发平台测试传感器设备成功获取相关环境数据之后,经过处理和填充,利用NB-IOT网络将传感器监测采集的数据参数传送到云平台,数据保留格式采用二进制方法,云平台成功保留数据测试图如图6-4所示。图6-4云平台成功保留数据测试图阿里云成功接收云平台订阅推送,经解析华为物联网平台并把数据存入数据库,阿里云数据接收测试如图6-5所示,MySql数据库接收信息如图6-6所示:图6-5阿里云数据接收测试图6-6MySql数据库接收信息6.4C#查看数据C#通过连接数据库来正常查看数据库接受到的信息,显示历史数据如图6-7所示。图6-7显示历史数据6.5本章小结本章完成了设计构建中所需要用到的下位机传感器设备进行测试,主要利用STM32单片机能将传感器采集的数据正确输出,主要验证单个模块独立工作的代码和途径是否有误,其中最重要的是NB-IoT传输网络发送的数据能正常到物联网开发平台进行验证。利用云平台独特的订阅优势,阿里云平台成功接收云平台获取的数据,利用阿里云配置的端口号和IP地址对本地数据库进行连接,上位机C#查看数据库接收的历史信息。
总结与展望本次是利用新兴的NB-IoT网络通信对智能垃圾桶环境进行了监测管理,深入了解开发物联网项目应涉及到的三方面架构,即感知层、网络层和应用层,这三层层层递进,缺一不可。通过这次毕业设计的构想和操作,感觉重新复习了很多这四年来的学习知识的应用。本设计取得的主要成果有以下方面:1.查阅了跟本次设计相关资料信息和大量文献,对使用NB-IoT技术对垃圾桶监测管理可行性发展进行深入研究,并且全面了解了国内外对垃圾桶管理的发展趋势和相应措施。NB-IOT网络通信技术在这几年来渐渐新兴,发展前景非常可观,在未来的物联网将是一个超大的网络集群。2.提出了一项利用较好传输网络的NB-IoT技术进行数据上报管理总体实现方案。该方案结合了下位机硬件编程技术、串口通信、物联网平台开发以及相关技术,实现系统单个垃圾桶的位置信息和垃圾存储情况的获取。3.使用主流低功耗STM32F103系列微控制器与垃圾桶监测系统数据采集单元相结合,完成了对垃圾桶所需要的数据进行采集和处理的监测管理。4.成功在华为物联网开发平台完成与下位机传感器的垃圾桶环境监测数据类型上报对本次设计出现的问题还需要进行解决,书写还存在一些不足:1.本次基于NB-IoT垃圾桶环境监测管理系统设计研究地点不在真实用地场所,未能到真正的室外进行垃圾桶监测管理部署和操作,所以该设计成果与实际成品操作还存在不小的差距。2.这个系统包含的硬件设备较少,对数据全面采集力度不够,在实际应用中还需要更全面、更多数据在上位机进行分析和展示。3.本设计选择单一的NB-IoT网络通信卡。4.该系统目前实现对垃圾桶的定位以及对垃圾溢满情况的监测。对于研究本设计存在的缺陷和不足,由于能力的有限和时间的不足,无法在短时间内进一步去改善和优化茶品,希望自己以后能够对自己的标准要求更高一些,努力的去提升自己各项能力,在今后的每次设计中都能尽善尽美,去让自己的知识综合能力更完善。
参考文献潘鹏,胡运峰,秦金志等.一种基于NB-IOT的智能垃圾桶[J].科技风,2019年01期.张静,孙鹏飞,等.基于《俄联邦数字经济规划》的研究及中国启示[J].《
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外墙架空隔热施工方案
- 专利技术入股合同协议书
- 软路基施工方案
- 《力学基础:高一物理必修教学教案》
- 办公室日常运作表格
- 随州外墙清洗施工方案
- 全断面爆破施工方案
- 超大混凝土砌块施工方案
- 道路沥青管网施工方案
- 电缆室内施工方案
- 报价单完整版本
- 图书馆、情报与文献学:图书馆学考点(题库版)
- 专题09:散文阅读(解析版)-2022-2023学年七年级语文下学期期中专题复习(江苏专用)
- 【课件】勃兰登堡协奏曲Ⅱ+课件高一上学期音乐人音版(2019)必修音乐鉴赏
- 医美机构客户满意度调查表
- clsim100-32药敏试验标准2023中文版
- LNG加气站质量管理手册
- 苗木供货服务计划方案
- 《谏逐客书》课后练习 统编版高中语文必修下册
- 2 我多想去看看(课件)-一年级下册语文
- 《肺癌课件:基本概念与临床表现》
评论
0/150
提交评论