版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
信息工程課程設(shè)計(jì)報(bào)告書課 程 名 稱 物聯(lián)網(wǎng)通信與組網(wǎng)技術(shù)課程設(shè)計(jì)題目 小型家庭環(huán)境監(jiān)測(cè)傳感網(wǎng)絡(luò)系學(xué)生姓名、學(xué) 號(hào)課程設(shè)計(jì)起止日期 2018.7.2-2018.7.6摘要將幾部分簡(jiǎn)單的設(shè)計(jì)——利用單片機(jī)、傳感器,VCVC關(guān)鍵字:藍(lán)牙 wifi UDP協(xié)議 MFC一、課程設(shè)計(jì)項(xiàng)目名稱小型家庭環(huán)境監(jiān)測(cè)傳感網(wǎng)絡(luò)系統(tǒng)二、項(xiàng)目設(shè)計(jì)目的及技術(shù)要求項(xiàng)目設(shè)計(jì)目的通過(guò)《物聯(lián)網(wǎng)通信與組網(wǎng)技術(shù)》課程設(shè)計(jì),使學(xué)生能夠掌握物聯(lián)網(wǎng)應(yīng)用系JAVAWEBAndriod開(kāi)發(fā)流程,從而使學(xué)生對(duì)物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計(jì)能力有較大提高。1.設(shè)計(jì)內(nèi)容:CBT牙模塊組網(wǎng)。CBTWIFI模塊組網(wǎng)。實(shí)現(xiàn)藍(lán)牙、wifiVC監(jiān)測(cè)數(shù)據(jù)。2.基本要求:設(shè)計(jì)的家庭環(huán)境監(jiān)測(cè)傳感網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)功能畫出系統(tǒng)的總體框圖3.系統(tǒng)設(shè)備:硬件:Bluetooth),wifi),CBT-SuperIOT-II驗(yàn)平臺(tái),j-Link軟件:串口調(diào)試軟件,IAR開(kāi)發(fā)軟件,VC/安卓三、項(xiàng)目設(shè)計(jì)方案論證STM32的小型家庭環(huán)境監(jiān)測(cè)傳感網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)CBT-SuperIOT-II型平臺(tái)配套的Bluetooth模塊、WIFI模塊皆采用STM32F103BF10-IHF-A1wifiwifiVC++編寫上位機(jī)程序,通過(guò)串口進(jìn)行數(shù)據(jù)交互,將數(shù)據(jù)準(zhǔn)確的傳輸至上位機(jī)VC3.1MM藍(lán)牙 藍(lán)MMS T I3 S T 3圖3.1 小型家庭環(huán)境監(jiān)測(cè)傳感網(wǎng)絡(luò)系統(tǒng)的組成框圖系統(tǒng)實(shí)現(xiàn)原理硬件原理圖本實(shí)驗(yàn)使用的是STM32F103芯片,BluetoothWIFI模塊,酒精、磁檢測(cè)傳感器模塊2個(gè)藍(lán)牙模塊替代串口線透明數(shù)據(jù)一個(gè)模塊工作在主模式下一個(gè)模塊工作在從模式下當(dāng)兩模塊設(shè)置為相同的波特率上電之后主從模塊則自動(dòng)連接形成串口透明HF-A11x支持串口透明傳輸模式可以實(shí)現(xiàn)串口即插即用從而最大程度的降低用戶使用的復(fù)雜度。本系統(tǒng)主要涉及 STM32F103芯片、Bluetooth模塊、WIFI模塊鏈接電路。如下圖所示:圖3.2 藍(lán)牙BF10-I芯片原理圖圖3.2 BF10-I藍(lán)牙模塊原理圖圖3.3 STM32F103芯片原理圖“Wifi_nRST”為WiFi模塊復(fù)位引腳,低電平復(fù)位,不按下S3時(shí)該引腳為高電平,按下S3時(shí)該引腳為低電平,復(fù)位時(shí)間需大于300ms,按下S3能實(shí)現(xiàn)復(fù)位WiFi模塊;S4為恢復(fù)出廠設(shè)置按鍵,按下S4持續(xù)五秒鐘,然后松手,再按下S4直到“Ready”指示燈由亮變滅,WiFi模塊完成恢復(fù)出廠設(shè)置。圖3.4 HF-A1wifi模塊原理圖通信協(xié)議設(shè)計(jì)SOF Sensor2Byte 1Byte說(shuō)明:
Sensorindex Cmd1Byte 1Byte
Data6Byte
ExtenData2Byte
END1ByteSOF: 0xEE0xCC,Sensortype:見(jiàn)附表一傳感器說(shuō)明。Sensorindex: 固定為0x01Cmdid: 固定為0x01。Data: 為6Byte傳感器數(shù)據(jù)域,見(jiàn)附表一傳感器說(shuō)明ExtenData: 為2Byte擴(kuò)展數(shù)據(jù)域END: 固定為0xFF,標(biāo)志一幀的結(jié)束查詢指令:EECC06no010000 FF返回指令:EECC06no010000000000010000 FFAT\AT指令表1查詢、設(shè)置波特率AT指令表指令查詢:AT+BAUD設(shè)置:AT+BAUD[para1]
應(yīng)答OK+Get:[para1]OK+Set:[para1]
參數(shù)Para1:0~80=9600;1=19200;2=38400;3=57600;4=115200;5=4800;6=2400;7=1200;8=230400;Defaut:0(9600)\設(shè)置模塊主從模式指令表2 查詢、設(shè)置主從模式AT指令表指令 應(yīng)答 參數(shù)查詢:AT+ROLE?設(shè)置:AT+ROLE[para1]
OK+Get:[para1] Para1:0~1OK+Set:[para1]1:主設(shè)備0:從設(shè)備Default:0WIFIWifiUDP通信協(xié)議,CBT-SuperIOT-IIWiFi模HF-A11xAPPCHF-A11xAPweb管理頁(yè)面配置。在WiFi傳感網(wǎng)實(shí)驗(yàn)中,子節(jié)點(diǎn)上的傳感器把采集到的信息通過(guò)WiFi發(fā)送給根節(jié)點(diǎn)的WiFi,在通過(guò)串口發(fā)送給STM32。利用串口工具可以采集根節(jié)點(diǎn)收到的信息,再根據(jù)WiFi串口通信協(xié)議和傳感器底層協(xié)議對(duì)傳感器接收到的物理信息進(jìn)行判斷。圖3.5 WIFI傳感網(wǎng)絡(luò)示意圖四、軟件流程分析圖4.1 軟件系統(tǒng)流程圖串口接收函數(shù)當(dāng)串口有數(shù)據(jù)到來(lái)時(shí),就會(huì)進(jìn)入該函數(shù),用BYTE型數(shù)組接收數(shù)據(jù),再對(duì)數(shù)據(jù)進(jìn)行解析。這里需要將協(xié)議完全展現(xiàn)出來(lái),即將數(shù)據(jù)轉(zhuǎn)換為十六進(jìn)制然后再轉(zhuǎn)換為字符串在文本框進(jìn)行顯示。關(guān)鍵代碼如下:voidBlueToothMM::OnOnComm(){ variant_inp;//類對(duì)象COleSafeArraysafearray_inp;//COleSafeArray對(duì)象LONGlen,k,i;intj0;BYTErxdata[2048];//BYTE(字節(jié)CStringstrtemp;if(m_ctrlCom.GetCommEvent()==2)//事件值為2表示緩沖區(qū)內(nèi)有數(shù)據(jù){variant_inp=m_ctrlCom.GetInput();//讀緩沖區(qū)safearray_inplensafearray_inp.GetOneDimSize();//獲取接收字節(jié)長(zhǎng)度f(wàn)or(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
新設(shè)置文本框值在使用wifi模塊時(shí),我們使用了UDP傳輸方式,UDP不需要建立連接,只需要往特定IP和端口號(hào)丟數(shù)據(jù)包就行了,保證在同一局域網(wǎng)Ip是連接無(wú)線網(wǎng)后,路由器分配給電腦的ip,所我們只需要獲取本機(jī) ip就可以了。端口號(hào)的設(shè)置保證不與電腦其他用軟件沖突就可以了。SOCK_DGRAM就是將數(shù)據(jù)傳輸方式設(shè)置為UDP。關(guān)鍵代碼如下:BOOLBlueToothMM::InitSocket(){UpdateData(TRUE);unsignedshortm_portNo;CStringm_StrportNo;GetDlgItemText(IDC_EDIT_PORT,m_StrportNo);sscanf(m_StrportNo,"%d",&m_portNo);//轉(zhuǎn)換為u_short類型m_socket=socket(AF_INET,SOCK_DGRAM,0);if(INVALID_SOCKET==m_socket){MessageBox("套接字創(chuàng)建失敗");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;}網(wǎng)絡(luò)數(shù)據(jù)接收代碼recvfrom函數(shù)來(lái)接收UDPrecvBufbyteDataBYTE存儲(chǔ)十六進(jìn)制字符串,然后將數(shù)據(jù)給對(duì)話框數(shù)據(jù)展示界面。關(guān)鍵代碼如下:DWORDWINAPIBlueToothMM::RecvProc(LPVOIDlpParameter){ SOCKETsock=((RECVPARAM*)lpParameter)->sock;HWNDhwnd=((RECVPARAM*)lpParameter)->hwnd;deletelpParameter;釋放內(nèi)存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;}五、項(xiàng)目設(shè)計(jì)結(jié)果分析藍(lán)牙連接測(cè)試J-LinkPCIAR軟MasterSlaverT指示燈長(zhǎng)亮。圖5.1 藍(lán)牙主模塊 圖5.2 藍(lán)牙從模塊WIFIweb“應(yīng)用程序設(shè)置”、“模塊管理”。網(wǎng)絡(luò)模式選擇ClientUDP6000,服務(wù)192.168.1.112。設(shè)置完成后,點(diǎn)擊“確定”。圖5.3 網(wǎng)絡(luò)設(shè)置上位機(jī)測(cè)試登錄界面測(cè)試將用戶輸入的用戶名、密碼與數(shù)據(jù)庫(kù)中用戶名、密碼字段匹配,一直登陸成功,跳轉(zhuǎn)至檢測(cè)界面。圖5.4 用戶登錄界面檢測(cè)界面測(cè)試配置區(qū)域,協(xié)議展示區(qū)域,數(shù)據(jù)顯示區(qū)域。配置區(qū)域主要是串口和UDP網(wǎng)絡(luò)的配置。協(xié)議展示區(qū)域主要是將完整協(xié)議展示出來(lái)。數(shù)據(jù)顯示區(qū)域,就是將數(shù)據(jù)解析后的結(jié)果顯示在界面上。圖5.5 監(jiān)控測(cè)界面問(wèn)題及解決方法error。解決:經(jīng)過(guò)反復(fù)的測(cè)試后,發(fā)現(xiàn)接受數(shù)據(jù)過(guò)程無(wú)問(wèn)題,藍(lán)牙模塊沒(méi)連接成功,進(jìn)入了“Error”狀態(tài)。重新下載程序,檢查串口設(shè)置,解決了此問(wèn)題。MFCWiFi據(jù)進(jìn)行處理。解決:首先對(duì)WIFIWIFIStationAPWIFIUDP傳輸方式ScoketAP六、參考文摘社,2012.姜仲,劉丹等.Bluetooth,2014.Bluetooth.2016.王小強(qiáng),歐陽(yáng)駿無(wú)線傳感網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)。北京.化學(xué)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 攝影后期訓(xùn)練課程設(shè)計(jì)
- 搭建簡(jiǎn)易校園網(wǎng)課程設(shè)計(jì)
- 搜索引擎優(yōu)化課程設(shè)計(jì)
- 餐飲店長(zhǎng)及廚房長(zhǎng)績(jī)效考核制度
- 機(jī)器人方向課程設(shè)計(jì)
- 插秧教學(xué)視頻課程設(shè)計(jì)
- 插畫直播 課程設(shè)計(jì)
- 插畫內(nèi)容創(chuàng)作分析課程設(shè)計(jì)
- 遲滯比較器電路課程設(shè)計(jì)
- 代理銷售協(xié)議書
- 運(yùn)用PDCA縮短ST段抬高型急性心肌梗死病人在急診停留時(shí)間
- 2024中國(guó)電信廣東公司校園招聘(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- SRM容災(zāi)解決專項(xiàng)方案
- HJ24-2020環(huán)境影響評(píng)價(jià)技術(shù)導(dǎo)則輸變電
- 2024-2030年熊膽粉產(chǎn)業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資前景預(yù)測(cè)研究分析報(bào)告
- 可靠性教材工程師模擬考試(4)附有答案
- 人教版2024年新版七年級(jí)上冊(cè)英語(yǔ)Starter Units 1-3綜合測(cè)試卷(含答案)
- 社交禮儀-儀態(tài)禮儀
- 北師大版小學(xué)數(shù)學(xué)三年級(jí)上冊(cè)第二單元《觀察物體》大單元教學(xué)設(shè)計(jì)
- 上海市2023-2024學(xué)年高一歷史上學(xué)期期中試題含解析
- JT-T-1116-2017公路鐵路并行路段設(shè)計(jì)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論