• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用STM32和ESP8266實(shí)現(xiàn)的可擴(kuò)展物聯(lián)網(wǎng)系統(tǒng)*

      2019-01-17 03:11:14,
      關(guān)鍵詞:流程圖溫濕度串口

      (武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,武漢 430081)

      引 言

      物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,通過(guò)智能組網(wǎng)、智能傳輸技術(shù)將傳統(tǒng)網(wǎng)絡(luò)的覆蓋范圍擴(kuò)展到物與物的級(jí)別。當(dāng)前物聯(lián)網(wǎng)已發(fā)展成為對(duì)物體具有全面感知能力,對(duì)信息具有可靠傳遞和智能處理能力的連接物與物之間的信息網(wǎng)絡(luò)[1]。STM32在原有的工業(yè)市場(chǎng)已經(jīng)具有很好的基礎(chǔ),在其上發(fā)展加入更多的聯(lián)接與云端的服務(wù)具有很大的市場(chǎng)成長(zhǎng)空間[2]。本文在嵌入式應(yīng)用最為典型STM32系列芯片的基礎(chǔ)上,結(jié)合使用ESP8266網(wǎng)絡(luò)通信芯片,通過(guò)軟硬件設(shè)計(jì),解決了嵌入式系統(tǒng)常見(jiàn)的運(yùn)行時(shí)狀態(tài)獨(dú)立、數(shù)據(jù)傳輸缺乏實(shí)時(shí)性的問(wèn)題,有效拓展了其聯(lián)網(wǎng)應(yīng)用能力。

      1 系統(tǒng)框架組成

      本系統(tǒng)主要分為三大模塊:數(shù)據(jù)采集端、控制端、網(wǎng)絡(luò)端。數(shù)據(jù)采集端是整個(gè)系統(tǒng)的數(shù)據(jù)入口,負(fù)責(zé)搜集傳感器數(shù)據(jù)。網(wǎng)絡(luò)端的主要功能是在網(wǎng)絡(luò)上對(duì)數(shù)據(jù)進(jìn)行展示,本文使用OneNET作為數(shù)據(jù)接入和管理平臺(tái),該平臺(tái)同時(shí)提供了基于數(shù)據(jù)認(rèn)證和保護(hù)機(jī)制的信息可視化服務(wù),允許用戶查看系統(tǒng)詳細(xì)數(shù)據(jù),并在任何時(shí)間接收通知[3]。控制端是本系統(tǒng)的核心,承擔(dān)著數(shù)據(jù)接收、緩存、處理以及發(fā)送任務(wù)。系統(tǒng)架構(gòu)如圖1所示。

      圖1 系統(tǒng)框架圖

      2 主設(shè)備硬件設(shè)計(jì)

      本系統(tǒng)的主要硬件組成如圖2所示。其中,STM32F103ZE負(fù)責(zé)數(shù)據(jù)處理,由于其擁有112個(gè)可用的I/O端口,以及2個(gè)I2C接口和SPI接口、3個(gè)USART接口、一個(gè)USB接口和一個(gè)CAN接口,每個(gè)I/O均可接入相應(yīng)外設(shè)[4]。所以根據(jù)需求可快速靈活地接入各種不同的外部設(shè)備,系統(tǒng)可實(shí)現(xiàn)的具體功能由所接入傳感器的類型決定。ESP8266負(fù)責(zé)網(wǎng)絡(luò)通信,具體采用了ESP8266 01S無(wú)線模塊,該模塊支持標(biāo)準(zhǔn)的 IEEE802.11 b/g/n 協(xié)議,此外還集成了包括天線開(kāi)關(guān)、電源管理等硬件單元。不僅能解決單個(gè)系統(tǒng)中的網(wǎng)絡(luò)連接問(wèn)題,也可以避免節(jié)點(diǎn)到服務(wù)器通信中任何類型的故障[5]。ESP8266的傳感器及其連接執(zhí)行器通過(guò)網(wǎng)絡(luò)進(jìn)行監(jiān)控和控制,現(xiàn)有設(shè)備可以用來(lái)加強(qiáng)對(duì)應(yīng)功能并令其更加智能[6]。集成調(diào)試單元主要用于編碼階段的代碼調(diào)試。狀態(tài)指示單元用于工作狀態(tài)監(jiān)測(cè)。

      圖2 系統(tǒng)硬件組成圖

      ESP8266 01S無(wú)線模塊與STM32F103ZE連接需要4個(gè)接口,具體設(shè)計(jì)如圖3所示。

      圖3 ESP8266接線以及實(shí)物圖

      圖5 ESP8266程序流程圖

      板載電源提供3.3 V和GND接口。MCU_RXD接口負(fù)責(zé)數(shù)據(jù)上傳,MCU_TXD接口負(fù)責(zé)數(shù)據(jù)下載。ESP_TXD接主控制器芯片的PA2口,ESP_RXD接PA3口,二者均被配置為串口(USART2)。

      3 系統(tǒng)軟件設(shè)計(jì)

      本系統(tǒng)的硬件程序采用C語(yǔ)言編寫(xiě),軟件部分包括硬件驅(qū)動(dòng)、硬件間協(xié)調(diào)、數(shù)據(jù)處理以及格式化、數(shù)據(jù)轉(zhuǎn)發(fā)等功能。此外,本系統(tǒng)中用到的EDP協(xié)議包由已在GitHub上開(kāi)源OneNET云平臺(tái)代碼經(jīng)過(guò)適當(dāng)改進(jìn)而來(lái),數(shù)據(jù)傳輸基于該協(xié)議。

      3.1 主函數(shù)程序設(shè)計(jì)

      本系統(tǒng)的工作過(guò)程大致可分為硬件初始化、建立網(wǎng)絡(luò)接、采集數(shù)據(jù)處理并轉(zhuǎn)發(fā)三大過(guò)程,流程圖如圖4所示。

      圖4 Main函數(shù)流程圖

      3.2 ESP8266程序設(shè)計(jì)

      ESP8266程序主要完成硬件層面的初始化以及軟件層面的網(wǎng)絡(luò)連接兩大功能,其流程圖如圖5所示。

      本文使用的ESP8266 01S與STM32F103ZE之間的通信采用基于AT指令的串口通信方式。串口是計(jì)算機(jī)上一種非常通用的通信協(xié)議,大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS232的串口,串口同時(shí)也是儀器儀表設(shè)備通用的通信協(xié)議[7]。其初始化代碼如下:

      void NET_DEVICE_IO_Init(void){

      GPIO_InitTypeDef gpioInitStruct;

      gpioInitStruct.GPIO_Mode=GPIO_Mode_Out_PP;

      gpioInitStruct.GPIO_Pin=GPIO_Pin_0;

      //GPIOA0被定義為復(fù)位引腳

      gpioInitStruct.GPIO_Speed=GPIO_Speed_50MHz;

      GPIO_Init(GPIOA,&gpioInitStruct);

      NET_IO_Init();

      //串口初始化

      netDeviceInfo.reboot=0;

      }

      在I/O初始化完成后,需要進(jìn)一步設(shè)置相應(yīng)的AT指令,其中最為關(guān)鍵的兩條指令如下:

      #define ESP8266_WIFI_INFO "AT+CWJAP="PDCN","wxx960105" "

      #define ESP8266_ONENET_INFO "AT+CIPSTART="TCP","183.230.40.39",876 "

      AT+CWJAP指令的功能是連接無(wú)線WiFi指令,它有兩個(gè)參數(shù),分別是SSID以及對(duì)應(yīng)的密碼。只有正常接入網(wǎng)絡(luò)才可以向網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)。AT+CIPSTART指令的功能是訪問(wèn)指定網(wǎng)絡(luò)位置。它有三個(gè)參數(shù),分別是通信協(xié)議類型、主機(jī)地址、端口號(hào)。ESP8266通過(guò)上述兩條宏指令實(shí)現(xiàn)與遠(yuǎn)程服務(wù)器的連接。

      3.3 數(shù)據(jù)處理程序設(shè)計(jì)

      本系統(tǒng)產(chǎn)生的各種數(shù)據(jù)通過(guò)EDP協(xié)議進(jìn)行傳輸。EDP (Enhanced Device Protocol)即增強(qiáng)設(shè)備協(xié)議,是OneNET平臺(tái)根據(jù)物聯(lián)網(wǎng)特點(diǎn)專門(mén)定制的完全公開(kāi)的基于TCP的協(xié)議,被廣泛應(yīng)用到家居、物流、能源以及其他行業(yè)應(yīng)用中[8]。

      數(shù)據(jù)傳送前需要對(duì)數(shù)據(jù)進(jìn)行格式化處理。數(shù)據(jù)格式化的主要工作為封裝信息屬性和文件拆分。封裝信息屬性環(huán)節(jié)包括封裝協(xié)議頭和數(shù)據(jù)頭。協(xié)議頭指派采用對(duì)應(yīng)協(xié)議格式傳輸,數(shù)據(jù)頭向服務(wù)器傳遞諸如數(shù)據(jù)類型大小等信息,以便服務(wù)器正確處理數(shù)據(jù)。文件拆分傳輸包含以下幾個(gè)環(huán)節(jié):提取信息-拆分-傳輸-接收-組裝-檢查。接收組裝和檢查的過(guò)程由服務(wù)器端自動(dòng)完成。綜上所述,數(shù)據(jù)格式化的流程圖如圖6所示。

      圖6 數(shù)據(jù)處理程序流程圖

      數(shù)據(jù)處理程序不僅完成了協(xié)議要求的數(shù)據(jù)傳輸前的各種準(zhǔn)備工作,并且實(shí)現(xiàn)了硬件和數(shù)據(jù)間的隔離,即任何由硬件產(chǎn)生的數(shù)據(jù)經(jīng)過(guò)該程序均可被換為服務(wù)器可識(shí)別的并且可進(jìn)行網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù),極大提高了本系統(tǒng)在數(shù)據(jù)層面的兼容性。

      4 應(yīng)用示例

      4.1 圖片傳輸示例

      本系統(tǒng)采用Flash芯片W25Q16,用于儲(chǔ)存程序本身和程序運(yùn)行時(shí)所需的數(shù)據(jù)。在此基礎(chǔ)上,構(gòu)建一個(gè)小型化的文件傳輸服務(wù)器,傳輸原理如圖7所示。

      圖7 圖片上傳原理圖

      準(zhǔn)備一張待傳輸圖片,由于Flash儲(chǔ)存容量的限制,需要對(duì)圖片進(jìn)行壓縮處理。最后將該圖片轉(zhuǎn)存為芯片可以識(shí)別的十六進(jìn)制數(shù)組。

      unsigned char Array[]={

      ………………

      }

      轉(zhuǎn)換完成后,將程序燒入Flash中并啟動(dòng)系統(tǒng),同時(shí)打開(kāi)OneNET手機(jī)APP,即可看到已上傳的圖片,如圖8所示。

      圖8 圖片上傳成功界面

      4.2 溫濕度監(jiān)測(cè)示例

      本文演示的第二個(gè)功能是基于DHT22溫濕度傳感器的環(huán)境溫度監(jiān)測(cè)系統(tǒng)。溫濕度采集傳感器采用常見(jiàn)的DHT22芯片,其是一種電容式可輸出數(shù)字信號(hào)的溫濕度傳感器,它包括濕度感知單元、NTC溫度感知單元,以及一個(gè)8位的微型處理器[9]。

      在完成硬件設(shè)計(jì)與搭建、程序設(shè)計(jì)以及平臺(tái)設(shè)置之后,本系統(tǒng)即可實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)室內(nèi)溫度濕度并上傳至網(wǎng)絡(luò)的功能。如圖9所示,打開(kāi)OneNET旗下手機(jī)客戶端設(shè)備云即可實(shí)時(shí)查看對(duì)應(yīng)設(shè)備下對(duì)應(yīng)數(shù)據(jù)點(diǎn)的實(shí)時(shí)數(shù)據(jù)。打開(kāi)對(duì)應(yīng)網(wǎng)頁(yè)即可看到一段時(shí)間內(nèi)的溫濕度變化趨勢(shì)以及當(dāng)前溫濕度值,對(duì)應(yīng)界面如圖10所示。

      圖9 手機(jī)端實(shí)時(shí)監(jiān)測(cè)界面

      圖10 網(wǎng)頁(yè)端數(shù)據(jù)流展示界面

      結(jié) 語(yǔ)

      猜你喜歡
      流程圖溫濕度串口
      溫濕度控制器在回收砂冷卻系統(tǒng)中的應(yīng)用
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      基于DSP的多路溫濕度監(jiān)測(cè)系統(tǒng)
      基于溫濕度控制的天氣預(yù)測(cè)裝置
      電子制作(2018年11期)2018-08-04 03:26:02
      蒸發(fā)冷卻溫濕度獨(dú)立控制空調(diào)系統(tǒng)的應(yīng)用
      專利申請(qǐng)審批流程圖
      河南科技(2016年8期)2016-09-03 08:08:22
      專利申請(qǐng)審批流程圖
      河南科技(2016年6期)2016-08-13 08:18:29
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
      寧??h村級(jí)權(quán)力清單36條
      南川市| 云林县| 滦平县| 赤城县| 楚雄市| 阳新县| 滕州市| 桑植县| 玛曲县| 阳西县| 从江县| 延吉市| 荃湾区| 镇远县| 神农架林区| 甘德县| 黄骅市| 辰溪县| 内乡县| 鹤壁市| 南安市| 元谋县| 宁化县| 高要市| 山东省| 马关县| 阿勒泰市| 乌兰察布市| 微山县| 克东县| 越西县| 饶平县| 龙岩市| 竹溪县| 西乌珠穆沁旗| 福清市| 嘉荫县| 岢岚县| 新乐市| 鄂温| 望谟县|