《物联网通信与组网技术.docx》由会员分享,可在线阅读,更多相关《物联网通信与组网技术.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息工程课程设计报告书课程名称物联网通信与组网技术课 程 设 计 题目小型家庭环境监测传感网络系统学生姓名、学号学 生 专 业 班级指 导 教 师 姓名课程设计起止日期2018.7.2-2018.7.6摘 要如今我国社会整体生活水平不断提高,大众人民对于生活质量的追求不再仅仅局限于衣食住行、温饱冷暖这些较为低层次的阶段了,我们可以从日常的生活以及从各类环境监测设备尤其是家庭及单位的私用或公用监测设备的销售情况 可以看出,大众人民对于这方面的需求是日益增加,但就目前而言,市场上的环境监测设备种类繁多,产品质量参差不齐,价格也是随着功能的多少而有着很大的差距,有的环境监测设备功能过于繁杂而又价格昂
2、贵,并不适合大众消费,而有的产品则是功能有限,质量不高,也不适合大众购买。从上边描述可以看出, 目前我国市场在这方面还是有个潜在的市场机遇、广泛的设计前景和光明的销前途的。然而就目前而言,不论是国外还是国内,总体情况是关于智能家居系统的研究开发项目比较多,但是智能家居系统大多比较庞大,功能繁杂,成本很高,所以不能得到很有效的普及。考虑到毕业设计的实际情况和力所能及的设计范围, 我们根据普通家庭的一般需要开发室内温度、湿度、天然气浓度、酒精浓度、振动等环境参数的监测系统,可以提供多种报警信息,使用户及时了解家居状况, 避免不安全事故的发生。既然环境监测与报警设备在日常生活、工作和工程实践中具有重
3、要的应用,并且随着生活水平的不断提高和电子科技的不断进步,日常生活中对于环境监测与报警的需求也是越发的增加,那么在设备的设计上,我们不仅要做到具有较为齐全的报警功能、较为稳定的工作状态、相对而言比较长的工作寿命以及合适的体积大小,还要求进行一定距离的传输,直观快捷的表达方式,还要联系大众生活,与大众生活相贴切,能够为大众所使用。就设计方案而言,本设计着力于从实用、便捷、简易这三个方面出发,通过将几部分简单的设计利用单片机、传感器,VC 上位机串口助手等等相应作出各部分监测系统,再通过各个设计单元间的组合通信,最终达到实现环境监测的功能,包括酒精传感器和磁检测传感器,将酒精及磁检测信息发送至 V
4、C 上位机串口助手实时监控并显示酒精度及磁检测状况等功能。在课程设计指导老师以及同学的帮助和指导下,通过请教问题、查阅资料、检查电路、改正程序,经过如此的多次的纠正和改进,本次的课程设计成果终于是基本上达成了预期的目标,酒精监测和磁检测传感器都能正常工作。关键字:蓝牙wifiUDP 协议MFC一、课程设计项目名称小型家庭环境监测传感网络系统二、项目设计目的及技术要求2.1 项目设计目的通过物联网通信与组网技术课程设计,使学生能够掌握物联网应用系统设计的开发流程、设计方法,使学生能够综合应用无线传感器网络技术、嵌入式技术、JAVA WEB 程序设计Andriod 程序设计、物联网应用系统设计等物
5、联网工程专业课程的知识。要求学生经过课程设计的教学环节进一步理解物联网应用系统总体架构,掌握物联网应用系统的基本设计方法,程序开发流程,从而使学生对物联网应用系统设计能力有较大提高。2.2 项目的主要任务1设计内容:(1) 完成 CBT 试验台上蓝牙模块间的组网和数据传输,可设计三个及以上的蓝牙模块组网。(2) 完成 CBT 试验台上 WIFI 模块间的组网和数据传输,同上可设计多个 wifi 模块组网。(3) 实现蓝牙、wifi 的混合组网,将数据准确的传输至上位机软件 VC 显示, 监测数据。2.基本要求:(1) 设计的家庭环境监测传感网络系统设计功能(2) 画出系统的总体框图(3) 对功
6、能进行详细设计3.系统设备:硬件:Bluetooth 模块(2 个),wifi 模块(2 个),CBT-SuperIOT-II 型教学实验平台,j-Link 仿真器。软件:串口调试软件,IAR 开发软件,VC/安卓三、项目设计方案论证3.1 基于 STM32 的小型家庭环境监测传感网络系统设计CBT-SuperIOT-II 型平台配套的 Bluetooth 模块、WIFI 模块皆采用STM32F103 处理器,小型家庭环境监测传感网络系统主要由 BF10-I 蓝牙模块、HF-A1 wifi 模块、酒精、磁检测模块传感器。实现蓝牙、wifi 的混合组网,利用 VC+编写上位机程序,通过串口进行数
7、据交互,将数据准确的传输至上位机软件 VC 显示,从而监测数据是否正常。此系统的组成框图如图 3.1 所示:WMM蓝 牙蓝 牙STI 3ST3图 3.1小型家庭环境监测传感网络系统的组成框图3.2 系统实现原理3.2.1 硬件原理图本实验使用的是 STM32F103 芯片,Bluetooth、WIFI 模块,酒精、磁检测传感器模块。2 个蓝牙模块替代串口线透明数据,一个模块工作在主模式下,一个模块工作在从模式下。当两模块设置为相同的波特率。上电之后,主从模块则自动连接形成串口透明。HF-A11x 支持串口透明传输模式,可以实现串口即插即用, 从而最大程度的降低用户使用的复杂度。本系统主要涉及S
8、TM32F103 芯片、Bluetooth 模块、WIFI 模块链接电路。如下图所示:图 3.2蓝牙 BF10-I 芯片原理图图 3.2BF10-I 蓝牙模块原理图图 3.3STM32F103 芯片原理图“Wifi_nRST”为WiFi 模块复位引脚,低电平复位,不按下S3 时该引脚为高电平,按下S3 时该引脚为低电平,复位时间需大于 300ms,按下 S3 能实现复位 WiFi 模块;S4 为恢复出厂设置按键,按下S4 持续五秒钟,然后松手,再按下S4 直到“Ready”指示灯由亮变灭, WiFi 模块完成恢复出厂设置。图 3.4HF-A1 wifi 模块原理图3.2.2 通信协议设计SOF
9、Sensor type2Byte1Byte说明:Sensor indexCmd id1Byte1ByteData6ByteExten Data2ByteEND1ByteSOF:固定为 0xEE 0xCC,标志一帧的开始。Sensor type: 见附表一传感器说明。Sensor index:固定为 0x01。Cmd id:固定为 0x01。Data:为 6Byte 传感器数据域,见附表一传感器说明。Exten Data:为 2Byte 扩展数据域END:固定为 0xFF,标志一帧的结束。查询指令:EE CC 06 no 01 00 00FF返回指令:EE CC 06 no 01 00 00 0
10、0 00 00 01 00 00FF3.2.3 蓝牙 AT 指令(1) 查询设置串口工作波特率 AT 指令表 1 查询、设置波特率 AT 指令表指令查询:AT+BAUD设置:AT+BAUDpara1应答OK+Get:para1 OK+Set:para1参数Para1:08 0=9600;1=19200;2=38400;3=57600;4=115200;5=4800;6=2400;7=1200;8=230400;Defaut: 0(9600)(2) 查询设置模块主从模式指令表 2查询、设置主从模式 AT 指令表指令应答参数查询:AT+ROLE?设置:AT+ROLEpara1OK+Get:para
11、1Para1:01 OK+Set:para11: 主设备0: 从设备Default:03.2.4 WIFI 传输本次设计中 Wifi 模块采取 UDP 通信协议,CBT-SuperIOT-II 型教学实验平台中的 WiFi 模块使用的是 HF-A11x 模块,模块默认为 AP 接口。用户可以通过 PC 机连接 HF-A11x 的 AP 接口,并用 web 管理页面配置。在 WiFi 传感网实验中,子节点上的传感器把采集到的信息通过 WiFi 发送给根节点的WiFi,在通过串口发送给 STM32。利用串口工具可以采集根节点收到的信息,再根据 WiFi 串口通信协议和传感器底层协议对传感器接收到的
12、物理信息进行判断。图 3.5WIFI 传感网络示意图四、软件流程分析图 4.1软件系统流程图4.1 串口接收函数当串口有数据到来时,就会进入该函数,用 BYTE 型数组接收数据,再对数据进行解析。这里需要将协议完全展现出来,即将数据转换为十六进制然后再转换为字符串在文本框进行显示。关键代码如下:void BlueToothMM:OnOnComm()VARIANT variant_inp;/定义一个 VARIANT 类对象COleSafeArray safearray_inp;/定义一个 COleSafeArray 对象LONG len,k,i;int j = 0;BYTE rxdata2048
13、;/设置 BYTE(字节)数组CString strtemp;if(m_ctrlCom.GetCommEvent() = 2)/事件值为 2 表示缓冲区内有数据variant_inp = m_ctrlCom.GetInput();/读缓冲区safearray_inp = variant_inp;/VARIANT 型变量转换为 ColeSafeArray len = safearray_inp.GetOneDimSize(); /获取接收字节长度for(k = 0; k len; k+)safearray_inp.GetElement(&k,rxdata+k); for(k = 0; k len
14、; k+)BYTE bt = *(char *)(rxdata+k);RXBUFFj = bt; strtemp.Format(%02X ,bt);m_EditTest +=strtemp; SetDlgItemText(IDC_EDIT_TEST,m_EditTest);/ 重/ for(i = 0;isock; HWND hwnd=(RECVPARAM*)lpParameter)-hwnd; delete lpParameter; /释放内存SOCKADDR_IN addrFrom; int len=sizeof(SOCKADDR); char recvBuf1024=0;char tem
15、pBuf1024=0;int retval,i;BYTE byteData14=0;CString strtemp,str; while(TRUE)retval=recvfrom(sock,recvBuf,14,0,(SOCKADDR*)&addrFrom,&len); if(retval = SOCKET_ERROR)break;for(i = 0;(i 14) & retval!= SOCKET_ERROR;i+)byteDatai = (BYTE)recvBufi; strtemp.Format(%02X ,byteDatai);str += strtemp; sprintf(tempB
16、uf,%s,str);:PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)tempBuf);return 0;五、项目设计结果分析5.1 蓝牙连接测试用 J-Link 连接 PC 机与实验箱,用实验箱配套的电源给实验箱供电,并给模块上电。用 IAR 软件打开实验工程,将实验工程进行编译,将 Master 和 Slaver 程序分别烧录到蓝牙主、从机模块里, 并重启模块或者使用“RST”键复位模块。主模块设置的是搜索所有从模块,蓝牙组网成功后 BT LED指示灯长亮。图 5.1蓝牙主模块图 5.2蓝牙从模块5.2 WIFI web 管理页面配置网页管理有五个页面,分别
17、为“模式选择”、“无线接入点设置”、“无线终端接口设置”、“应用程序设置”、“模块管理”。网络模式选择Client,协议为 UDP,端口设置成 6000,服务器的地址设置为 192.168.1.112。设置完成后,点击“确定”。图 5.3网络设置5.3 上位机测试5.3.1 登录界面测试将用户输入的用户名、密码与数据库中用户名、密码字段匹配,一直登陆成功,跳转至检测界面。图 5.4用户登录界面5.3.2 检测界面测试配置区域,协议展示区域,数据显示区域。配置区域主要是串口和UDP 网络的配置。协议展示区域主要是将完整协议展示出来。数据显示区域,就是将数据解析后的结果显示在界面上。图 5.5监控
18、测界面5.4 问题及解决方法(1) 组网成功后,蓝牙从模块采集数据发送给蓝牙主模块的数据在上位机中显示error。解决:经过反复的测试后,发现接受数据过程无问题,蓝牙模块没连接成功,进入了“Error”状态。重新下载程序,检查串口设置,解决了此问题。(2) MFC 串口控件接收来自蓝牙的串口消息,进行处理;如何接收WiFi 发送来的数据进行处理。解决:首先对WIFI 进行了配置,将WIFI Station 模式连接的传感器模块将数据准确传到 AP 模式的 WIFI 模块中。在通过询问同学、查找资料后使用了 UDP 传输方式 ,通过 Scoket 编程将其设为同个局域网中的 AP 模式,启用线程
19、接收数据。六、参考文摘1 王殊,胡富平等.无线传感器网络的理论及其应用.北京:北京航空航天大学出版社,2012.2 姜仲,刘丹等. Bluetooth 技术与实训教程.北京:清华大学出版社,2014.3 姜仲,刘丹 Bluetooth 技术与实训教程.北京.清华大学出版社.2016.4 王小强,欧阳骏 无线传感网络设计与实现。北京.化学工业出版社。2012 5MFC Windows 应用程序设计习题解答及上机实验/任哲,李益民,车进辉编著.2 版,北京:清华大学出版社,2007. 106MFCWindows 程序设计:第 2 版/(美)帕罗赛斯(Prosise,J.)著;北京博彦科技发展有限责任公司译.北京:清华大学出版社,2007.课程设计评分表评分项目1选题合理、目的明确(10 分)2. 设计方案正确,具有可行性、创新性(30 分)3. 项目工艺水平及测试性能达到技术要求(25 分)4. 参考文摘不少于 5 篇(10 分)5答辩(25 分)评分成绩总分(100 分)答辩记录:指导教师综合评语:指导教师(签名)日 期:年月日