物联网通信与组网技术_第1页
物联网通信与组网技术_第2页
物联网通信与组网技术_第3页
物联网通信与组网技术_第4页
物联网通信与组网技术_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息工程课程设计报告书课 程 名 称 物联网通信与组网技术课程设计题目 小型家庭环境监测传感网络系学生姓名、学 号课程设计起止日期 2018.7.2-2018.7.6摘要将几部分简单的设计——利用单片机、传感器,VCVC关键字:蓝牙 wifi UDP协议 MFC一、课程设计项目名称小型家庭环境监测传感网络系统二、项目设计目的及技术要求项目设计目的通过《物联网通信与组网技术》课程设计,使学生能够掌握物联网应用系JAVAWEBAndriod开发流程,从而使学生对物联网应用系统设计能力有较大提高。1.设计内容:CBT牙模块组网。CBTWIFI模块组网。实现蓝牙、wifiVC监测数据。2.基本要求:设计的家庭环境监测传感网络系统设计功能画出系统的总体框图3.系统设备:硬件:Bluetooth),wifi),CBT-SuperIOT-II验平台,j-Link软件:串口调试软件,IAR开发软件,VC/安卓三、项目设计方案论证STM32的小型家庭环境监测传感网络系统设计CBT-SuperIOT-II型平台配套的Bluetooth模块、WIFI模块皆采用STM32F103BF10-IHF-A1wifiwifiVC++编写上位机程序,通过串口进行数据交互,将数据准确的传输至上位机VC3.1MM蓝牙 蓝MMS T I3 S T 3图3.1 小型家庭环境监测传感网络系统的组成框图系统实现原理硬件原理图本实验使用的是STM32F103芯片,BluetoothWIFI模块,酒精、磁检测传感器模块2个蓝牙模块替代串口线透明数据一个模块工作在主模式下一个模块工作在从模式下当两模块设置为相同的波特率上电之后主从模块则自动连接形成串口透明HF-A11x支持串口透明传输模式可以实现串口即插即用从而最大程度的降低用户使用的复杂度。本系统主要涉及 STM32F103芯片、Bluetooth模块、WIFI模块链接电路。如下图所示:图3.2 蓝牙BF10-I芯片原理图图3.2 BF10-I蓝牙模块原理图图3.3 STM32F103芯片原理图“Wifi_nRST”为WiFi模块复位引脚,低电平复位,不按下S3时该引脚为高电平,按下S3时该引脚为低电平,复位时间需大于300ms,按下S3能实现复位WiFi模块;S4为恢复出厂设置按键,按下S4持续五秒钟,然后松手,再按下S4直到“Ready”指示灯由亮变灭,WiFi模块完成恢复出厂设置。图3.4 HF-A1wifi模块原理图通信协议设计SOF Sensor2Byte 1Byte说明:

Sensorindex Cmd1Byte 1Byte

Data6Byte

ExtenData2Byte

END1ByteSOF: 0xEE0xCC,Sensortype:见附表一传感器说明。Sensorindex: 固定为0x01Cmdid: 固定为0x01。Data: 为6Byte传感器数据域,见附表一传感器说明ExtenData: 为2Byte扩展数据域END: 固定为0xFF,标志一帧的结束查询指令:EECC06no010000 FF返回指令:EECC06no010000000000010000 FFAT\AT指令表1查询、设置波特率AT指令表指令查询:AT+BAUD设置:AT+BAUD[para1]

应答OK+Get:[para1]OK+Set:[para1]

参数Para1:0~80=9600;1=19200;2=38400;3=57600;4=115200;5=4800;6=2400;7=1200;8=230400;Defaut:0(9600)\设置模块主从模式指令表2 查询、设置主从模式AT指令表指令 应答 参数查询:AT+ROLE?设置:AT+ROLE[para1]

OK+Get:[para1] Para1:0~1OK+Set:[para1]1:主设备0:从设备Default:0WIFIWifiUDP通信协议,CBT-SuperIOT-IIWiFi模HF-A11xAPPCHF-A11xAPweb管理页面配置。在WiFi传感网实验中,子节点上的传感器把采集到的信息通过WiFi发送给根节点的WiFi,在通过串口发送给STM32。利用串口工具可以采集根节点收到的信息,再根据WiFi串口通信协议和传感器底层协议对传感器接收到的物理信息进行判断。图3.5 WIFI传感网络示意图四、软件流程分析图4.1 软件系统流程图串口接收函数当串口有数据到来时,就会进入该函数,用BYTE型数组接收数据,再对数据进行解析。这里需要将协议完全展现出来,即将数据转换为十六进制然后再转换为字符串在文本框进行显示。关键代码如下:voidBlueToothMM::OnOnComm(){ variant_inp;//类对象COleSafeArraysafearray_inp;//COleSafeArray对象LONGlen,k,i;intj0;BYTErxdata[2048];//BYTE(字节CStringstrtemp;if(m_ctrlCom.GetCommEvent()==2)//事件值为2表示缓冲区内有数据{variant_inp=m_ctrlCom.GetInput();//读缓冲区safearray_inplensafearray_inp.GetOneDimSize();//获取接收字节长度for(k=0;k<len;k++){safearray_inp.GetElement(&k,rxdata+k);for(k=0;k<len;k++){BYTEbt=*(char*)(rxdata+k);RXBUFF[j]=bt;strtemp.Format("%02X",bt);m_EditTest+=strtemp;}}for(i0;i<1024;i++){rxdata[i]0;}}Socket

新设置文本框值在使用wifi模块时,我们使用了UDP传输方式,UDP不需要建立连接,只需要往特定IP和端口号丢数据包就行了,保证在同一局域网Ip是连接无线网后,路由器分配给电脑的ip,所我们只需要获取本机 ip就可以了。端口号的设置保证不与电脑其他用软件冲突就可以了。SOCK_DGRAM就是将数据传输方式设置为UDP。关键代码如下:BOOLBlueToothMM::InitSocket(){UpdateData(TRUE);unsignedshortm_portNo;CStringm_StrportNo;GetDlgItemText(IDC_EDIT_PORT,m_StrportNo);sscanf(m_StrportNo,"%d",&m_portNo);//转换为u_short类型m_socket=socket(AF_INET,SOCK_DGRAM,0);if(INVALID_SOCKET==m_socket){MessageBox("套接字创建失败");returnFALSE;}SOCKADDR_INaddrSock;addrSock.sin_family=AF_INET;//addrSock.sin_port=htons(m_portNo);6000addrSock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//ip地址intretval=0;bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));if(SOCKET_ERROR==retval){closesocket(m_socket);MessageBox("绑定失败");returnFALSE;}returnTRUE;}网络数据接收代码recvfrom函数来接收UDPrecvBufbyteDataBYTE存储十六进制字符串,然后将数据给对话框数据展示界面。关键代码如下:DWORDWINAPIBlueToothMM::RecvProc(LPVOIDlpParameter){ SOCKETsock=((RECVPARAM*)lpParameter)->sock;HWNDhwnd=((RECVPARAM*)lpParameter)->hwnd;deletelpParameter;释放内存SOCKADDR_INaddrFrom;intlen=sizeof(SOCKADDR);charrecvBuf[1024]={0};chartempBuf[1024]={0};intretval,i;BYTEbyteData[14]={0};CStringstrtemp,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++){ byteData[i]=(BYTE)recvBuf[i];strtemp.Format("%02X",byteData[i]);str+=strtemp;sprintf(tempBuf,"%s",str);::PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)tempBuf);}return0;}五、项目设计结果分析蓝牙连接测试J-LinkPCIAR软MasterSlaverT指示灯长亮。图5.1 蓝牙主模块 图5.2 蓝牙从模块WIFIweb“应用程序设置”、“模块管理”。网络模式选择ClientUDP6000,服务192.168.1.112。设置完成后,点击“确定”。图5.3 网络设置上位机测试登录界面测试将用户输入的用户名、密码与数据库中用户名、密码字段匹配,一直登陆成功,跳转至检测界面。图5.4 用户登录界面检测界面测试配置区域,协议展示区域,数据显示区域。配置区域主要是串口和UDP网络的配置。协议展示区域主要是将完整协议展示出来。数据显示区域,就是将数据解析后的结果显示在界面上。图5.5 监控测界面问题及解决方法error。解决:经过反复的测试后,发现接受数据过程无问题,蓝牙模块没连接成功,进入了“Error”状态。重新下载程序,检查串口设置,解决了此问题。MFCWiFi据进行处理。解决:首先对WIFIWIFIStationAPWIFIUDP传输方式ScoketAP六、参考文摘社,2012.姜仲,刘丹等.Bluetooth,2014.Bluetooth.2016.王小强,欧阳骏无线传感网络设计与实现。北京.化学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论