




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
{網絡營銷}基于微信平臺的多點溫度采集系統手機通信設計概述學位論文原創性聲明作者簽名:年月日學位論文版權使用授權書位論文。本學位論文屬于1、保密囗,在年解密后適用本授權書2、不保密囗。(請在以上相應方框內打“√”)作者簽名:年月日導師簽名:年月日摘要該系統可以適用于工業生產、農業大棚、智能家居等諸多領域。服務器。Wi-FiWi-FiWi-Fi網絡的特性設計出了智能環境監控系統的整體結構,各節點采用SAMD21單片機作為主控芯片,采用ESP8266作為Wi-FiWi-Fi模塊控制程序的開發使用的是AT指令,并實現了Wi-Fi網絡的多對一連接和溫度數據的自動記錄、存儲。關鍵詞:Wi-Fi通信;監測;UART;嵌入式技術AbstractWiththerapiddevelopmentofputertechnologyandnetworktechnology,Computersarebeingsmallerandsmaller.Thisprovidesthepossibilityfortheemergenceoftheremoteintelligentenvironmentalmonitoringsystem.Remoteintelligentmonitoringsystemisdifferentfromthetraditionalmanualmonitoringsystem,Ithastheadvantagesofnoneedtobeonduty,lowcost,accuratemonitoringwillbewidelyusedinthefuture.Thissystemcanbeappliedtoindustrialproduction,agriculturalgreenhouse,smarthome,andmanyotherfields.Inthispaper,thewirelessmunicationoftheintelligentenvironmentalmonitoringsystemispurposeistodesignasimpleandeasytouse,reliabletransmission,highrateofmunication.NotonlycanachievewirelessLANmunication,whichcantransmiteachnode’sdatatotherootnode,butalsocanmuicatewithterminalontheinternet,transmitlocaldatatocloudserver.Atfirst,thebackground,significanceandcurrentsituationoftheresearcharecharacteristicsandapplicationscenariosofseveralmonwirelessmunicationmodesareanalyzed,anddeterminetheWi-Fiasthesystemofwirelessmunication.Then,thetopologystructure,basicserviceandsimplesecurityofWi-FinetworkaretothecharacteristicofWi-Finetwork,thewholestructureofintelligentenvironmentmonitoringsystemisdesigned,EachnodeusesSAMD21microcontrollerasthemaincontrolchip,usingESP8266astheWi-FirealizedthemonitoringfunctionofthepublicnumberofWeChattotheenvironmenttheATmandsforthedevelopmentofthecontrolprogramofWiFi,TheautomaticrecordingandstorageofthetemperaturedataandWi-Finetwork'smultitooneconnectionisrealizeKeyWords:Wi-Fi;Monitoring;UART;Embeddedtechnology目錄摘要ⅠAbstractⅡ1緒論11.1課題研究背景與意義11.2課題研究現狀11.3無線通信方式的選擇21.4Wi-Fi通信及其發展趨勢21.5本論文主要內容42相關技術介紹62.1Wi-Fi網絡基本拓撲結構62.2Wi-Fi的基本服務介紹82.3Wi-Fi安全技術的發展92.4本章小結103遠程多點溫度采集系統總體設計113.1系統功能需求113.2系統架構分析123.3硬件模塊選型一三3.4Wi-Fi模塊的串口工作模式173.5本章小結194基于SAMD21的Wi-Fi控制程序開發214.1MCU與Wi-Fi通信接口選擇214.2Wi-Fi模塊通信接口協議224.3Wi-Fi模塊控制程序設計234.4Wi-Fi網絡的多連接與歷史數據的存儲274.5本章小結315系統測試325.1Wi-Fi網絡連接測試325.2微信終端獲取數據測試336總結與展望356.1總結356.2展望36致謝37參考文獻381緒論1.1課題研究與意義數臺單片機作為監控終端,PC溫度是人們日常生產生活中一個重要的環境量,比如大型糧倉、工業生產現場、和無線網絡控制。Wi-Fi是一種允許電子設備接入到一個無線局域網(WLAN)的技術,Wi-Fi無線網絡便捷與高速的特點使其得以快速普及,最近幾年來,Wi-Fi技術日趨成熟,Wi-Fi使用門檻和成本低等優勢。在網絡技術空前發展的今天,Wi-Fi正以其特有的優勢適用于生產、生活的方方面面,為人們提供著高效的移動連接。此外,Wi-Fi作為無線通信方式無需布線,可以不受空間區域的限制,市場發展潛力很大。是對物聯網技術的一種應用,實現了物體之間的智能連接。11.2課題研究現狀方面面。生產生活中得到了廣泛應用,目前常用的無線通信技術有GPRSCDMA、藍牙、、ZigBee、UWB、WLAN、IrDA等。基于GPRSCDMA無線通信網絡的數據傳輸技術是一種十分常用的無線數據傳輸技術,在手機終端十分常用,該技術依托于GPRSCDMA無線通信網絡實現無線數據收發;藍牙是一種支持設備短距離無線通信的技術,通常有效通信范圍在10米之內。藍牙的標準是IEEE802.一五,工作在2.4GHz頻帶,帶寬為1Mb/s;IrDAHomeRF也稱為家庭射頻,其設計初衷就是為了實現家用電器設備之間的通信。其傳輸距離較長,傳輸速度較快,適合各種影音數據的傳輸。1.3無線通信方式的選擇在智能溫度檢測系統中,可以考慮使用的無線通信方式主要有Wi-Fi、藍牙、及紅外通信。其中藍牙技術的有效通信半徑是10米左右,在很多場合通信范圍偏Wi-Fi的有效通信半徑可達1002業、農業監控環境。所以,Wi-Fi以其無需布線,成本低廉,傳輸速率高等優點是本課題中智能溫度檢測系統最合適的無線通信方式。1.4Wi-Fi通信及其發展趨勢Wi-FiWLAN2.4Ghz到5Ghz頻段,其安全性較有線連接和藍牙較差,但其高速率、無需布線的優點使其得到了廣泛應用[1]。Wi-Fi主要應用于構建無線網絡環境,在該環境下的各部分互相作用以實現無線網絡服務的功能,主要由以下幾個部分構成[2]:(1)站點(Station,STA),是無線網絡中的終端,任何帶網絡接口的終端設備都可以是站點,比如手機、計算機等電子設備,STA通過無線鏈路接入AP。(2BasicServiceSet,BSS少可以由兩個站點構成,所有站點可以與同一基本服務單元內的站點相互通信。(3)分配系統(DistributionSystem,DS),分配系統可以連接不同的BSS,通過連接多個基本服務單元可以組成覆蓋范圍更廣的擴展服務單元。(4AccessPoint,AP,作為基本服務單元中的基站,既可以接入普通站點,又可以接入分配系統。AP和STA均為可以尋址的實體。(5)擴展服務單元(ESS),由基本服務單元和分配系統構成.多個基本服務單元連接以組成覆蓋面更廣的網絡,以提供更寬廣的服務區域。3(6)關口(Portal),是一種邏輯成分,主要用于將無線局域網和有線局域網或其他網絡組合,是無線網絡接入互聯網的必要部分。圖1-1Wi-Fi網絡原理圖在傳輸速率和帶寬上傳統的WLAN通信存在很多不足,比如IEEE802.11-1997最高傳輸速率只有1~2Mbit/s,而802.11b將這一速率提高到了11Mbit/s,802.11a和802.11g達到了54Mbit/s,802.11n最高速率則達到了300~600Mbit/s。IEEE802.11-1997可以采用IR方式、DSSS方式、FHSS方式,IEEE802.11b采用DSSS方式,兼容IEEE802.11-1997。新一代Wi-Fi5Ghz頻段的IEEE802.11ac傳輸速率可達1.3Gbit/s60Ghz頻段的IEEE802.11ad,最高傳輸速率可以達到7Gbit/s。此外還有全面兼容現有Wi-Fi的WiMAX(WorldwideInteroperabilityforMicrowaveAccess)WiMAX以IEEE802.16距離、更快的傳輸速度,其普及之后將會提供更優于Wi-Fi的無線網絡服務[3]。1.5本論文主要內容三部分組成。硬件采集系統主要由SAMD21單片機、LM35溫度傳感器、LCD液晶ESP8266Wi-FiWi-Fi模塊將單片機串口信號轉為Wi-Fi信號4A/D轉換后通過UART接口發送。根據以上內容,本文共分為六章,具體結構安排如下:第一章緒論。主要論述了課題的來源于研究意義。也介紹了本課題當前研究現狀和未來發展前景。第二章相關技術介紹。包括Wi-Fi網絡拓撲結構,Wi-Fi提供的基本服務以及Wi-Fi組網方式。第三章系統總體設計。包括系統需求與架構分析,并詳細介紹了單片機、Wi-Fi模塊和溫度傳感器的選型。第四章基于AtemlSAMD21的Wi-Fi模塊控制程序的開發,介紹了Wi-Fi模塊控制流程、通信接口的選擇以及通信結構。第五章系統測試,測試基于微信平臺的多點溫度采集系統是否正確可用,以及通信是否快速有效。第六章結論與展望,對本課題中的研究項目進行總結。并對課題研究中的一些不足和未來擴展方向進行分析。52相關技術介紹2.1Wi-Fi網絡基本拓撲結構802.11采用2.4Ghz和5Ghz兩個ISM頻段,2.4Ghz的ISM頻段被世界上絕大多數國家所采用,物理層使用了紅外、直接序列擴頻(DSSS)或跳頻擴頻(FSSS)2MbpsMAC)采用的是碰撞回避協議(CA)。基本服務集(BSS)分為IndependentBSS和InfrastructureBss兩種[4]。作為一個獨立的基本服務單元,IBSS網絡中沒有接入點。所以IBSS網絡也稱為對等網絡(PeertoPeerAd-hoc)。在這種網絡中,各節點的地活和可靠性高的優點。因此,該網絡中任意兩節點可以不經過認證就直接通信。端的基本功能也有報文轉發能力。圖2-1IBSS網絡拓撲結構反之則是上述IBSS網絡。在這種拓撲結構中,網絡中的所有通信都要經過接入點。接入點相當于網絡中的基站。圖2-2基礎結構模式拓撲結構BSS802.11標準可以允許將幾個BSS串聯為擴展服務集(ExtendedServiceSet,ESS)。擴展服6疊以實現客戶端的無縫漫游,重疊區域保持在一五%~20%以上為佳。同一個ESS圖2-3拓展服務集拓撲結構2.2Wi-Fi的基本服務在IEEE802.11b一系列在MACSTASSSTA服務主要包含加密(Privacy)、媒介訪問控制單元交付(MSDUdelivery),認證(Authentieation)、解除認證(Deauthentieation);DS服務包含分離(Disassoeiation)、分發(Distribution)、聯合(Integration)、關聯(Assoeiation)和重新關聯(Reassociation)[5]。有線等效加密協議(WEP),對數據幀進行加密;媒介訪問控制單元交付服務負責把數據正確傳輸到正確的位置。該服務給出了一種收發數據的方法。但是IEEE802.11提供檢錯和糾錯服務;認證服務是IEEE802.11提供的一種網絡訪問控制方式,身份;解除認證服務用于斷開當前連接的驗證關系。解除認證不需要發送請求,7只需發送解除的通知。收到解除認證后工作站會立即斷開連接。系。如工作站在一個擴展服務集(ESSBSS會根據距離自動選擇接入點。重新關聯服務也可以用來改變已有關聯的屬性。2.3Wi-Fi安全技術的發展WLANMAC地址過濾和SSID訪問的MAC列表,禁止表外的MAC訪問。服務區標識符匹配則通過設置密碼(SSID),只有工作站輸入的SSID與之匹配才可以訪問。雖然這種機制較為簡WEP)。WEP采用了RC4堆成加密算法,主要在數據鏈路層起作用。WEP使用多種格式的密鑰,40位、64位、128位都有所采用。WPA2是WPA的第二代標準,在原有的基礎上又有了更多的提升。WPA2與IEEE802.11i很相似,在安全驗證上他們都選擇了預驗證。在連接開始前的很短8VPN來進行無線網絡連接也是一種行之有效的安全策略。VPN采用DES和3DES等技術來保障數據傳輸的安全。VPN的典型代表有IPSecVPN和SSLVPNIPSec證機制與預定義的安全關系極大地保護了客戶通信的安全性。SSLVPN則需要提前安裝到瀏覽器中。因為其無客戶機的特性,可以極大地節約運行開支。若用戶對無線網絡安全性要求較高可以選擇將VPN于其他無線網絡安全策略結合,以獲取最大程度的無線互聯網通信安全[6]。2.4本章小結本章首先研究了Wi-Fi網絡的基本拓撲結構,介紹了兩種基本服務集(BSS)的結構以及多個基本服務集組成擴展服務集(ESS)的方法。其次介紹了Wi-Fi網絡的兩類基本服務STA服務和DS服務。最后介紹了Wi-Fi網絡的安全問題,詳細說明了Wi-Fi安全策略的發展過程以及一種無線局域網的安全解決方案。93遠程多點溫度采集系統總體設計3.1系統功能需求該系統最終的目的是實現用手機在微信客戶端遠程監控多個采集點的當前溫度SAMD21單片機,LCD液晶顯示屏,ESP8266芯片,LM35模擬溫度傳感器,云服務器,Socket網絡編程,微信公眾平臺的開下:(1)系統的無線網絡信號由一個接入互聯網的接入點(AP)發起,各測量點的單片機分別作為獨立的站點(STA)接入AP,實現了Wi-Fi的多對一連接模式以及TCP連接的多對一連接模式。(2)為了保證系統的安全性,對Wi-Fi接入點進行了加密處理,對Wi-Fi模塊配置時輸入接入點的SSID和密碼,從而保證了系統數據的安全可靠。(3)微信公眾平臺同一時間只接收一個客戶端的數據,從而避免了數據信息的紊亂,接收數據完成后公眾平臺自動斷開TCP連接。(4)單片機通過Wi-Fi模塊不斷向云服務器發送數據信息,服務器轉發并每隔理范圍。10(5)系統的信息交互建立在互聯網連接上,微信平臺的連入云服務器,單片機AP通過登錄云服務器完成數據的發送。(6)微信公眾平臺可以通過菜單、文字、語音的方式獲取采集到的溫度信息,體信息交互具有穩定可靠性。3.2系統架構分析完成的功能是采集當前多個采集點環境溫度的信號,在A/DSAMD21單片機驅動Wi-Fi在服務器端建立TCPTCP連接客戶端接入服務器,服務器保持Socket軟件監聽,負責將收到的信息轉發。最終在微信公眾號平臺將采集到的溫度數據顯示出來。圖3-1系統總體框圖從SAMD21單片機硬件平臺、單片機001A/D轉換云服務器、微信公眾號平臺三部分組成,各的具體功能如下:(平臺D21單片機、ESP8266Wi-Fi芯片、溫度傳感器以
單片機001A/D轉換及LCD液晶顯示屏。SAMD21度采集并進行A/DUART口收發串口數據。Wi-Fi模塊按照Wi-Fi協議單片機xxxA/D轉換Wi-Fi模塊收將為Wi-Fi信號或將Wi-FiWi-Fi模塊分11別作為站點STA接入無線網絡接入點AP。當SAMD21單片機LCD液晶顯示屏上顯示的溫度數據與AP接收到的溫度數據一致時則說明單片機Wi-Fi通信準確無誤。(2)云服務器:因兩臺PC之間不能直接建立TCP連接,需通過多級路由轉接。PC都可以直接與其建立TCPTCPTCP信公眾號作為TCP的數據轉發至公眾號,而將公眾號發來的數據轉發至單片機。(3按鍵等方式向單片機發送取數據的指令并正確獲取溫度數據。3.3硬件模塊選型AtmelSAMD21是基于32位ARMCortex-M0+32~64個引腳且其FLASH多達256KB、SRAM提升到了32KB。SAMD21最大工作頻率高達48MHz并且達到2.46Coremark/MHz。AtmelSAMD21具有以下關鍵特性:(1)低功耗。采用了Atmel獨特的省電技術與事件系統,各外設之間可以直接通信而無需CPU才喚醒CPU,平時CPU保持睡眠狀態。(2SAMD21使用了串行通信模塊SERCOM。每一個串行通信模塊都可以在軟件中進行配置,可以分別處理I2C、UART/USART和SPI的通信需求。SAMD21還有12著工作頻率高達3.4MHz的I2C。(3DMASAMD21配有12通道直接存儲器控制器。支持存儲器和外設數據傳輸。(4USB。SAMD21USB有兩種工作模式,可以作USB嵌入式主機,也可以作USB設備模式。(5AtmelQTouch式和自電容式觸摸。(68KB到256KB14管腳到64管腳可供選擇,用戶可以選擇最符合要求的設備。圖3-2SAMD21系統框圖Flash可以通過SWD接口進行在線編程。SWD接口在可以不下載程序的芯片上調用程序。AtmelSAMD21AtmelStdio包含數百個實驗歷程,可以大大縮短用戶的開發時間。Wi-FiRS232/RS485Wi-Fi信Wi-Fi32位MCUWi-Fi驅動和協議,包含TCP/IP協議棧,無線網絡IEEE802.11b.g.n協議棧。其接口一般為單片機接口,如UART口等。根據系統的要求,有以下三個較為符合的Wi-Fi模塊可用:WF-U-09T、13USR-WiFi232-B和ESP8266WF-U-09T可靠傳輸距離為50m70℃,3.3V工作電壓,250mA~300mAUSR-WiFi232-B可靠傳輸距離在300m~400m,工作溫度-20℃~80℃,3.3V工作電壓,170mA~300mA功耗電流;ESP8266可靠傳輸距離為300m,3.3V80mA功ESP8266ESP8266價格更為低廉,所以是本課題最佳選擇的嵌入式Wi-Fi模塊。表3-1三款Wi-Fi性能對比表技術特性WF-U-09TUSR-WiFi232-BESP8266無線標準IEEE802.11b/gIEEE802.11bnIEEE802.11bn功耗電流250mA~300mA170mA~300mA80mA工作電壓3.3V3.3V3.3V接收靈敏度-68dBm-89dBm~-71dBm-91dBm~-72dBm發射功率12dBm一五dBm~20dBm14dBm~20dBm工作溫度-10℃~70℃-20℃~80℃-40℃~125℃傳輸距離50m300m~400m300mESP8266是一塊非常實用的Wi-Fi模塊。既可以加載在其他主機或者單片機上運14ESP8266FlashESP8266作為其他計算機或單片機的Wi-Fi模塊時,可以通過計SERCOM接口使用AT指令對其進行初始化和配置即可[8]。ESP8266芯片有著較大的存儲空間和快速的計算能力。可以根據需要配合其他傳感器使用,只需將其他傳感器搭載在空置的GPIO口上,無需其他MCU控制器。這種設計方法最大程度的節省了開發所占的系統資源。ESP8266芯片集成度極高,內部包含很多部分。包括無線開關、電源管理轉換部件。其外部電路很少,在實際開發中占用的空間也相對較少。圖3-3ESP8266結構圖其中數字、模擬溫度傳感器應用較為廣泛。度轉化為數字量供計算機處理,無需A/D加簡便,便于設計開發。常用的數字溫度傳感器有DS一八B20,DHT11等。是價格低廉、溫差小、占用空間小、功率損耗少等。15LM35量溫度可以低至0℃。所以,LM35是本課題的理想溫度傳感器。3.4Wi-Fi模塊的串口工作模式Wi-Fi模塊的通信包含兩部分。一部分是Wi-Fi模塊和SAMD21單片機通過UART串口進行通信。另一部分是Wi-Fi模塊通過無線網絡和無線網接入點進行通信。UART是單片機的串口,又稱通用異步收發傳輸器(UniversalAsynchronousReceiver/TransmitterUART)[10]率為1一五200,不使用校驗位,8位數據位,1位停止位。AT就是Attention。AT指令集是AT指令的集合。通常是由終端設備發出,由終端適配器接收的指令集合。ESP8266通過AT指令對其配置。常用的AT指令有以下幾條:表3-2常見AT指令AT測試AT啟動AT+RST重啟模塊AT+GMR查看版本信息AT+UART設置串口配置AT+RESTORE恢復出廠設置16AT+CWMODE選擇WIFI應用模式AT+CWJAP加入APAT+CIPSTA設置STA的IP地址AT+CIPAP設置AP的IP地址AT+CIPSTATUS獲得連接狀態AT+CIPSTART建立TCP連接或注冊UDP端口號AT+CIPSEND發送數據AT+CIPCLOSE關閉TCP或UDPAT+CIFSR獲取本地IP地址AT+CIPMUX啟動多連接AT+CIPSERVER配置為服務器AT+CIPMODE設置模塊傳輸模式在Wi-Fi正常供電之后,由SAMD21單片機UART發送AT指令對Wi-Fi模塊進行配置。通過AT指令使Wi-Fi模塊作為站點加入已開啟的無線網絡接入點,組成17一個無線網絡。先發送ATOK后發送AT+UART對串口進行配置、發送AT+CWMODE=3選擇STA和AP共存的方式;同樣,待返回OK后發送AT+CWJAP=“SSID”,“PASSWORD”連入已開啟的無線路由器。具體流程圖如下:圖3-4AT指令配置流程圖3.5本章小結定了硬件各部分的選型,詳細分析了單片機,Wi-Fi模塊,溫度傳感器選型的合理性。介紹了SAMD21單片機、ESP8266芯片和LM35的基本情況和特性。了解了硬件模塊的優點與不足。184基于SAMD21的Wi-Fi控制程序開發4.1MCU與Wi-Fi通信接口選擇本課題使用的SAMD21單片機有多達6個SERCOMSPI接口、I2C接口、全雙工或單線半雙工USART或LIN從機。SPI(SerialPeripheralInterface)串行外設接口。SPI總線具體包含三條信號SPI設備可以通過SPI總線相互連接。在這種連接中,由SPI主機提供SPI時鐘信號。其他設備成為從設備或者SPI在用通用輸入輸出口模擬SPI入口。I2C(SCLSDA)multi-masterI2C還有總線仲裁機制,常用于各設備之間高頻率、短距離的信息交互。根據I2C的通用輸入輸出口模擬I2C總線進行雙向傳輸時。需要一個輸入輸出口和一個輸出口。UART總線使用的是異步串口通信協議,其結構較前兩種串口的接口要龐雜很多。其基本組成結構有UART接收器、UART發送器、波特率產生器。波特率產生器產生波特率約等于數據波特率的16TX用于發送數19據,接收線RX用于接收數據。同樣,如果用通用輸入輸出接口模擬UART總線。需要一個輸入接口和一個輸出接口。4.2Wi-Fi模塊通信接口協議UART使用的是異步,串行通信。應用環境。同一個字符中不同位之間的時間間隔是一定的。信進程的波特率為200字符/10的波特率就是2000波特。具體的通信格式如下圖所示,一個數據幀中包含7個有效數據位,1個起始位,1個校驗位,1個停止位。圖4-1UART數據傳輸格式其中各位的意義如下:起始位:即邏輯值“0”,代表著一個數據幀的起始。數據位:可以是5~8位邏輯”0”或”1”。如ASCII碼(7位),擴展BCD碼(8位)。以小字節序傳輸。校驗位:數據位加上一位校驗位可以通過驗證“1”的位數是偶數位還是奇數位20停止位:它是一個字符數據的結束標志??梢允?位、1.5位、2位的高電平。空閑位:即邏輯值“1”,表示當前沒有數據傳輸。4.3Wi-Fi模塊控制程序設計Atmel單片機的開發用到的是Atmel官方IDE——AtmelStdio。它是對Atmel單片機進行開發最快捷的IDE,包括編譯、運行、調試的所有過程。該軟件可以通過在線編程的方式將代碼存儲到單片機的內存中,開發過程快速高效。AtmelStdio可以用于Atmel絕大多數單片機的軟件開發。因其內核基于VisualStdio,開發過程也與VS十分相似。此外還有特殊的軟件設計框架(AtmelSoftwareFramework,AFS),包含著豐富的開發歷程。這大大縮短了用戶的開發時間。Wi-FiUART串口信號轉換為Wi-Fi信號。二是作為站點與無線網絡接入點通訊,將Wi-Fi信號發送到接入點。同樣,在接收信號時也起到兩個作用,一是從無線網Wi-Fi信號轉換為串口信號發送回單片機MCU。其控制程序流程圖如下:圖4-2控制程序流程圖21本課題中的SAMD21單片機使用AtmelStdioWi-Fi模塊的配置也在AS中進行。具體是先對單片機的UART口進行初始化,再通過UART口收發數據對Wi-Fi具體配置過程如下:SAMD21使用的串行通訊模塊完全可以在AtmelStdio軟件中進行配置。從而滿足I2C、SPI和USART/UART通信需求。通過多個串行通訊模塊的組合,可以在器件上個性化地定制外部設備的組合。所以先要將單片機的一個SERCOM配置為UART接口,再使用AtmelStdio中的庫函數configure_usart()對其單片機UART口進行初始化。部分過程如下:structusart_configconfig_usart;//單片機UART口初始化usart_get_config_defaults(&config_usart);config_=1一五200;config__setting=EXT2_UART_SERCOM_MUX_SETTING;config__pad0=EXT2_UART_SERCOM_PINMUX_PAD0;……while(usart_init(&usart_instance,EXT2_UART_MODULE,&config_usart)!=STATUS_OK){}UART1一五200,EXT2擴展口的SERCOM配置為UART口。并在UART口初始化成功返回STATUS_OK以后SAMD21上的EXT2擴展口就被配置為UART22對其進行讀寫。通過對UART接口分步寫入AT指令以對于UART接口相連的Wi-Fi芯片進行配置。先對Wi-Fi模塊的工作模式、波特率等進行設置,再控制其加入已存在的Wi-FiTCP服務器,最后再定義發送數據的格式并且按順序發送溫度數據。部分過程如下:uint8_tstring0[]="AT+CWMODE=3\r\n";uint8_tstring1[]="AT+CWJAP=\"SSID\",\"PASSWORD\"\r\n";uint8_tstring3[]="AT+CIPSTART=\"TCP\",\"\",5800\r\n";uint8_tstring4[]="AT+CIPSEND=8\r\n";uint8_tstring5[]="0000-xxx\r\n";//將AT指令存入數組……usart_write_buffer_wait(&usart_instance,string0,sizeof(string0));delay_ms(1000);//發送相應的AT指令對Wi-Fi模塊配置usart_write_buffer_wait(&usart_instance,string1,sizeof(string1));delay_ms(6000);usart_write_buffer_wait(&usart_instance,string3,sizeof(string3));delay_ms(1000);……23usart_write_buffer_wait(&usart_instance,string4,sizeof(string4));delay_ms(100);usart_write_buffer_wait(&usart_instance,string5,sizeof(string5));delay_ms(100);首先將AT指令寫在8位的int數組中,再用庫函數usart_write_buffer_waitAT指令通過UART接口寫入Wi-Fi芯片以實現對其的配置。配置中多次用到delay_ms()函數是因為Wi-Fi模塊對AT指令的配置有一段時間的響應期,期間再寫入其他AT指令可能造成Wi-Fi模塊的崩潰。加入延時函數能夠有效地保證Wi-Fi模塊的穩定運行。單片機采集環境溫度數據,并進行A/D轉換。之后通過UART接口進行發送,先從FIFO讀取數據。再執行并—串轉換。輸出的數據幀格式為起始位在前,后面為數據位、奇偶校驗位和停止位。在談到波特率之前,先要提到波特率除數(baud-ratedivisor)。它是一個22位數,其中含有16位整數和6位小數。根據這兩個數我們可以確定位周期。若中使用的波特率是1一五200。接收:在UART硬件的所有操作都是由一個運行速率在數據速率數倍的時鐘信號245至8UART將設置一個標志指接收的數據。UART通信通常沒有共同的計時系統。通常情況下,UART在每一個數據脈沖變化能夠可靠地接收信號。簡化的UART并不這樣做,而是重新同步的起始點的下降地采樣,這種方法就是可行的。這是UART在接收下一個字符時存儲當前字符的典型特點。這個“雙緩沖”給出了接收計算機的一個字符傳輸時間來獲取一個接收到的字符。UART在主機系統接口和接收移位寄存器之間有FIFO緩沖內存。這給了主機處理器更多的時間來處理UART中斷,并降低接收數據的丟失率[11]。UART產生一個符的傳輸時間相對于CPU的運行時間仍十分長,所以UART會顯示一個繁忙的數“轉備好發送下一個字符也可以被看做一個中斷信號。因為全雙工操作需要在同一時間發送和接收字符,UART使用了兩個不同的移位寄存器分別用來發送和接收數據。4.4Wi-Fi網絡的多連接與歷史數據的存儲25在本課題中已經建立好了Wi-Fi的無線網接入點(AP點(STA)接入。接入點已經接入互聯網,故站點也可通過接入點訪問互聯網,訪問云服務器。具體組網過程如下:(1)首先使用PC、手機或無線路由器建立無線網絡,例如本課題中使用TP-LINK無線路由器建立了無線網絡。圖4-3建立Wi-Fi網絡(2AT指令配置ESP8266Wi-Fi模塊,使其連入已經創建好的Wi-Fi網絡。對應的ATAT+CWJAP="SSID","PASSWORD"SSID是Wi-Fi網絡名稱,PASSWORD是其對應的密碼。圖4-4多個客戶端連入同一WLAN由上圖可以看出,當有多個單片機與同一AP建立無線網連接時,分配的都是無限局域網內的IP(0x),每一個設備分配一個IP地址。(3AT指令配置Wi-Fi模塊,使其與云服務器建立TCP連接,作為TCP客戶端。對應的ATAT+CIPSTART="TCP","",58000。該指令的作用是選擇TCP協議,作為TCP客戶端與目標IP為,目標端口為58000的TCP服務器建立連接。圖4-5TCP服務器由上圖可以看出,當多個無限局域網內的設備與該局域網外的終端通信時使用的都是該網段的公網IP,只不過各設備對應的端口號不同。26對此我們將在云服務器上的TCP時按一定的時間間隔各個單片機的溫度數據分別記錄。具體過程如下:對應的采集時間。structrtemp//定義的結構體用于存儲各個位置的{//溫度數據和對應的時間charpos1[2];charpos2[2];intmonth;intday;inthour;intminute;intsecond;};在SOCKET網絡通信中將微信公眾號定義為標識01識0和標識1相互通信,服務器僅負責轉發。if(askernum==0){27Ret=recv(ClientSocket,RecvBuffer1,1024,0);//微信客戶端發送給單片機}else{Ret=recv(ClientSocket,RecvBuffer,1024,0);//單片機發送給微信客戶端}if(Ret==0||Ret==SOCKET_ERROR)//客戶端斷開連接{cout<<"客戶端退出!"<<endl;numClient--;return0;}temp1temp2……文件里的溫度數據讀取出并發送給微信。具體過程如下:if((fp=fopen("","rt"))==NULL)//打開預先存儲的文件{exit(1);}b=record;28while((m=fgetc(fp))!=EOF){*b++=m;};//將整個文件里的數據讀出fclose(fp);*b='\0';send(ClientSocket,record,BufferLen,0);//發送給微信公眾號每個單片機采集的溫度數據被分別存儲在獨立的txt文件里,具體格式如下:圖4-6存在文件里的溫度數據圖中的數據分別是溫度采集的時間,1號位置的溫度和2號位置的溫度,時間記錄精度到秒,溫度記錄精度到1攝氏度。4.5本章小結本章主要論述了Wi-Fi通信的協議以及Wi-Fi分析了單片機與Wi-Fi模塊通信接口的選擇,詳細介紹了I2C,SPI和UART的異同。然后介紹了UART通信協議,對其通信的時序進行了分析。最后介紹了控制ATAT指令對Wi-Fi及將歷史溫度數據保存至文件的具體實現步驟。295系統測試5.1Wi-Fi網絡連接測試統前一段時間采集的歷史溫度數據。實現Wi-Fi網絡連接有Wi-Fi模塊配置、Wi-Fi網絡搜索、Wi-Fi熱點的驗證與接入。首先實物實測過程如下:(1)無線路由器開啟Wi-Fi網絡(2)將多個單片機所連的Wi-Fi模塊進行配置,分別進行初始化并選擇已知路由器輸入用戶名、密碼連入。Wi-Fi模塊都可以正常連接至Wi-Fi時進行有效通信。圖5-1實物測試5.2微信終端獲取數據測試示的溫度數據與服務器端接收的溫度數據同時與硬件采集平臺顯示的溫度數據一致時則說明系統Wi-Fi確連接的情況下使用微信進行測試。實測過程如下:圖5-2微信公眾號界面306總結與展望6.1總結為課題中使用的通信方式。Wi-Fi雖然安全性較差,但以其較遠的傳成度日益提高,電子器件功耗不斷降低。該系統的目的是把低成本、要完成了以下幾個任務:(1MCUWi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論