當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]系統(tǒng)以PIC32單片機(jī)作為核心控制器,植入TCP/IP通信協(xié)議和文件系統(tǒng),通過WiFi模塊和無線網(wǎng)絡(luò)可實(shí)時(shí)訪問存儲(chǔ)在SD卡設(shè)備文件中的系統(tǒng)參數(shù)和傳感數(shù)據(jù),并能進(jìn)行參數(shù)的配置和數(shù)據(jù)的管理,進(jìn)而實(shí)現(xiàn)智能家居系統(tǒng)的遠(yuǎn)程監(jiān)控、管理和控制。系統(tǒng)可通過個(gè)人電腦或手機(jī)進(jìn)行訪問,具有較好的人機(jī)交互功能,方便易用,功能可擴(kuò)展性強(qiáng),且設(shè)計(jì)運(yùn)行成本低。

摘要 系統(tǒng)以PIC32單片機(jī)作為核心控制器,植入TCP/IP通信協(xié)議和文件系統(tǒng),通過WiFi模塊和無線網(wǎng)絡(luò)可實(shí)時(shí)訪問存儲(chǔ)在SD卡設(shè)備文件中的系統(tǒng)參數(shù)和傳感數(shù)據(jù),并能進(jìn)行參數(shù)的配置和數(shù)據(jù)的管理,進(jìn)而實(shí)現(xiàn)智能家居系統(tǒng)的遠(yuǎn)程監(jiān)控、管理和控制。系統(tǒng)可通過個(gè)人電腦或手機(jī)進(jìn)行訪問,具有較好的人機(jī)交互功能,方便易用,功能可擴(kuò)展性強(qiáng),且設(shè)計(jì)運(yùn)行成本低。

關(guān)鍵詞 PIC32;智能家居;WiFi;信息管理;數(shù)據(jù)庫

隨著人們對(duì)智能居室系統(tǒng)要求的不斷提高,智能化系統(tǒng)正向著傳感節(jié)點(diǎn)多、數(shù)據(jù)量大、控制更加復(fù)雜的方向發(fā)展。針對(duì)具有復(fù)雜節(jié)點(diǎn)網(wǎng)絡(luò)的系統(tǒng)來說,系統(tǒng)參數(shù)的配置和數(shù)據(jù)的管理顯得尤為重要。通常情況下,系統(tǒng)會(huì)配合專用服務(wù)器及數(shù)據(jù)庫實(shí)現(xiàn)遠(yuǎn)程控制和數(shù)據(jù)的管理。但對(duì)于小型的家居系統(tǒng)而言,整個(gè)系統(tǒng)的運(yùn)行需使用專用的服務(wù)器來支撐,這通常是沒必要的,由此不僅增加了系統(tǒng)的設(shè)計(jì)成本,還會(huì)使系統(tǒng)的運(yùn)行成本大幅增加,造成資源的浪費(fèi)。本文旨在通過架構(gòu)基于PIC32微控制單元(Micro Control Unit,MCU)的嵌入式服務(wù)器來實(shí)現(xiàn)更加簡(jiǎn)潔實(shí)用的居室智能化系統(tǒng)。系統(tǒng)控制核心兼做數(shù)據(jù)服務(wù)處理器,大幅降低了系統(tǒng)的設(shè)計(jì)和運(yùn)行成本,適合于中小型智能系統(tǒng)中的參數(shù)和數(shù)據(jù)的管理。另外,系統(tǒng)還可配合云端服務(wù)器進(jìn)行使用,完成數(shù)據(jù)的同步等任務(wù),更具有實(shí)際的設(shè)計(jì)價(jià)值。

1 系統(tǒng)組成與原理

系統(tǒng)核心微處理器采用Microchip公司的PIC32MX695F512L32位單片機(jī),其內(nèi)部資源豐富,具有圖形接口、USB控制器、CAN模塊、以太網(wǎng)接口、ADC模塊等,最高工作主頻可達(dá)80 MHz,適用于智能化系統(tǒng)中,不僅方便各種傳感數(shù)據(jù)的采集,人機(jī)交互功能的實(shí)現(xiàn),也具有一定的數(shù)據(jù)處理能力。WiFi模塊選用的是該公司的 MRF24WGOMA,該模塊可通過SPI接口與PIC32 MCU進(jìn)行通信,通過該模塊使系統(tǒng)接入無線網(wǎng)絡(luò),以達(dá)到通過網(wǎng)絡(luò)對(duì)系統(tǒng)進(jìn)行訪問的目的。可視化動(dòng)態(tài)Web交互界面主要采用 HTML,JavaScript,AjaX,jQHery和CSS網(wǎng)絡(luò)前端設(shè)計(jì)語言來實(shí)現(xiàn),并將相應(yīng)Web服務(wù)端文件存儲(chǔ)在SD卡中,核心處理器解析到網(wǎng)絡(luò)頁面或文件請(qǐng)求后,在SD卡中進(jìn)行相應(yīng)文件的查找,若文件存在,則對(duì)SD卡相應(yīng)文件進(jìn)行讀取,并將文件數(shù)據(jù)返回,以呈現(xiàn)在客戶端。若需要對(duì)系統(tǒng)進(jìn)行配置或控制,則處理器通過解析相應(yīng)的請(qǐng)求和參數(shù),將相應(yīng)的信息寫入文件,或直接轉(zhuǎn)化為對(duì)設(shè)備的控制信號(hào)。系統(tǒng)中數(shù)據(jù)的來源主要通過傳感器模塊進(jìn)行采集,而控制器指的是居室系統(tǒng)中的各種受控設(shè)備的控制驅(qū)動(dòng)電路。傳感器和控制器根據(jù)不同的系統(tǒng)會(huì)做出不同的調(diào)整,本文僅選擇單個(gè)節(jié)點(diǎn)用作測(cè)試。系統(tǒng)組成如圖1所示。

2 硬件平臺(tái)設(shè)計(jì)

2.1 WiFi模塊

MRF24WGOMA是符合IEEE 802.11的低功耗2.4 GHz表面貼裝模塊,含有所有相關(guān)的RF元件——晶振、帶集成MAC的旁路和無源偏置電路、基帶、RF和功率放大器,以及支持AES和TKIP(WEP、 WPA和WPA2安全性)的內(nèi)置硬件。支持802.11 b/g無線通信,最高傳輸速率可達(dá)54 Mbit·s-1。

模塊采用從動(dòng)SPI接口與微控制器連接,配合中斷,休眠,復(fù)位控制接口,完成各項(xiàng)功能控制和數(shù)據(jù)傳輸,SPI接口的同步時(shí)鐘頻率最高可達(dá)25MHz,傳輸速率可達(dá)25 Mbit·s -1。典型的連接方式如圖2所示。PIC32微控制器做主設(shè)備,MRF24WG0MA模塊作為SPI從設(shè)備。因此SPI的同步頻率有PIC32MCU控制產(chǎn)生。

為中斷信號(hào)引腳,在WiFi模塊接收到數(shù)據(jù)后,負(fù)責(zé)向主控制器發(fā)出中斷處理信號(hào)以接收數(shù)據(jù)。HIBERNATE為冬眠控制引腳,主控制器可通過該引腳控制其工作模式,使其達(dá)到最佳節(jié)能效果。

MRF24WG0MA模塊需要與Mierochip的TCP/IP軟件協(xié)議棧配合使用。該軟件協(xié)議棧集成有驅(qū)動(dòng)程序,其實(shí)現(xiàn)的API在模塊中用于命令和控制,以及管理和數(shù)據(jù)包通信。

2.2 SD卡模塊

SD數(shù)據(jù)存貯卡可分為SD和SPI兩種工作模式,SD模式是標(biāo)準(zhǔn)的默認(rèn)模式,該模式下利用SD總線進(jìn)行數(shù)據(jù)傳輸,位寬一般為4 bit,讀寫最高時(shí)鐘可達(dá)50 MHz,讀取速度能到達(dá)20 MByte·s-1以上,可充分發(fā)揮SD卡的性能。而SPI模式則是SD卡可選的第二種模式,該模式下利用SPI總線進(jìn)行數(shù)據(jù)傳輸,位寬為1 bit,時(shí)鐘最高只能到25 MHz,讀取速度通常低于3 MByte·s-1,但該模式對(duì)硬件要求較低,可將設(shè)計(jì)花費(fèi)減到最小。鑒于本次設(shè)計(jì)對(duì)SD卡的讀寫速率要求不高,并需要能較好地與WiFi模塊通信帶寬和數(shù)據(jù)的處理速度進(jìn)行配合,采用SPI模式基本可滿足設(shè)計(jì)要求,系統(tǒng)采用Miero SD Card作為數(shù)據(jù)存儲(chǔ)器,器件引腳定義及典型SPI模式應(yīng)用電路如圖3所示。

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

3.1 系統(tǒng)軟件架構(gòu)

系統(tǒng)軟件部分,是在Microehip公司提供的TCP/IP協(xié)議棧和應(yīng)用層Http協(xié)議基礎(chǔ)上進(jìn)行應(yīng)用程序的設(shè)計(jì)與開發(fā)的。整個(gè)系統(tǒng)架構(gòu)框圖如圖4所示,其中用戶應(yīng)用層的設(shè)計(jì)是本次設(shè)計(jì)的核心工作。

3.2 嵌入式服務(wù)器的設(shè)計(jì)

該平臺(tái)下嵌入式服務(wù)器,主要是基于PC端瀏覽器和移動(dòng)端APP進(jìn)行設(shè)計(jì)的。因此,僅采用HTTP協(xié)議即可滿足設(shè)計(jì)要求,HTTP協(xié)議是建立在TCP/IP 協(xié)議之上的應(yīng)用層協(xié)議,客戶端進(jìn)行數(shù)據(jù)發(fā)送時(shí)會(huì)對(duì)報(bào)文進(jìn)行格式化,因此只需在服務(wù)器端對(duì)報(bào)文格式進(jìn)行解析,提取相應(yīng)的控制信息和數(shù)據(jù)即可;返回?cái)?shù)據(jù)時(shí)也需要將返回的內(nèi)容格式化成HTTP協(xié)議報(bào)文格式,以便被客戶機(jī)解析。TCP/IP連接建立過程和數(shù)據(jù)收發(fā)流程如圖5所示。

首先服務(wù)器端需要進(jìn)行系統(tǒng)初始化工作,包括打開套接字,綁定端口,建立偵聽等,最后將狀態(tài)轉(zhuǎn)移到“接受連接請(qǐng)求”;TCP是面向連結(jié)的傳輸機(jī)制,客戶端與其套接字建立連接前需要進(jìn)行3次“握手”確認(rèn),才能通過建立連接的套接字進(jìn)行數(shù)據(jù)的收發(fā),數(shù)據(jù)格式均采用HTTP協(xié)議,在HTTP報(bào)文解析部分,通過編寫的應(yīng)用程序,將HTTP請(qǐng)求的參數(shù)和數(shù)據(jù)解析出來,根據(jù)實(shí)際應(yīng)用將服務(wù)器端狀態(tài)機(jī)進(jìn)行轉(zhuǎn)移,狀態(tài)機(jī)主要包括通過外設(shè)獲取信息,向I/O口發(fā)送控制信息,進(jìn)入文件系統(tǒng)讀取SD卡中的相應(yīng)文件并將數(shù)據(jù)返回,或者將提交的數(shù)據(jù)信息寫入文件或更新系統(tǒng)狀態(tài)等。套接字連接一旦建立將會(huì)一直保持,除非客戶端或服務(wù)器端主動(dòng)請(qǐng)求斷開,例如客戶端直接關(guān)閉應(yīng)用程序或服務(wù)器端長(zhǎng)時(shí)間無數(shù)據(jù)請(qǐng)求自動(dòng)斷開。

3.3 數(shù)據(jù)管理軟件的實(shí)現(xiàn)

數(shù)據(jù)管理軟件部分是基于文件系統(tǒng)API進(jìn)行設(shè)計(jì)的。文件系統(tǒng)提供的基礎(chǔ)API主要包括open(),close();read(),write(),seek()等接口函數(shù);而所需主要數(shù)據(jù)操作函數(shù)如表1所列。

數(shù)據(jù)存儲(chǔ)文件選擇普通的文本文件基本可滿足要求,但考慮到數(shù)據(jù)的增刪查改實(shí)際操作的需要,選擇標(biāo)簽語言文件XML格式更便于應(yīng)用程序的編寫,另外當(dāng)客戶端進(jìn)行數(shù)據(jù)加載時(shí),通過MSXm12組件也能方便地直接加載數(shù)據(jù)。

考慮到人機(jī)交互的用戶體驗(yàn)以及PIC32 MCU的數(shù)據(jù)處理能力,文中將眾多運(yùn)算處理放在了前端文件中,前端文件一旦首次加載成功,便可在客戶機(jī)完成主要的人機(jī)交互操作,最終將處理后的數(shù)據(jù)通過部分提交的方式發(fā)送至服務(wù)器端,使用Ajax部分提交技術(shù)無需重載界面,提高微控制器的處理能力。另外,由于大部分人機(jī)交互的工作可放在前端通過 JavaScript腳本語言處理。因此,需提交的數(shù)據(jù)量也會(huì)大幅減小,PIC32的處理任務(wù)也會(huì)相應(yīng)減少,資源利用率也有所提高,能使系統(tǒng)達(dá)到一個(gè)比較好的運(yùn)行狀態(tài)。

在表1所列出的關(guān)鍵函數(shù)中,file_read_line()按行讀取文件內(nèi)容,多用于檢索數(shù)據(jù)。sys_config()實(shí)現(xiàn)的功能是更改指定標(biāo)簽后的設(shè)定值,主要用于進(jìn)行系統(tǒng)參數(shù)配置。rc ad_config()用于讀取配置信息,即讀取指定標(biāo)簽后的設(shè)定值,多用于系統(tǒng)參數(shù)的實(shí)時(shí)顯示和監(jiān)控。modify_flag()用于修改固定格式數(shù)據(jù)條目中的指定數(shù)據(jù),例如讀取數(shù)據(jù)條目時(shí),若該條目已被讀取過,則修改條目中相應(yīng)標(biāo)記為已讀取或修改為已被讀取的次數(shù)。 rcad_next_schedule()按順序或條件讀取固定格式數(shù)據(jù),其更多地用于管理具有時(shí)間標(biāo)記的數(shù)據(jù)。

在智能居室系統(tǒng)多以時(shí)間為控制主線,很多數(shù)據(jù)都具有時(shí)間標(biāo)記,通常需要根據(jù)時(shí)間節(jié)點(diǎn)進(jìn)行數(shù)據(jù)操作,由于日期和時(shí)間數(shù)據(jù)的特殊性,在進(jìn)行具有時(shí)間標(biāo)記的數(shù)據(jù)條目的讀寫前,進(jìn)行日期時(shí)間的計(jì)算是必須的,這在較多數(shù)據(jù)操作中均有體現(xiàn)。add_item()增加固定格式數(shù)據(jù)條目。del_line()按行刪除數(shù)據(jù),被調(diào)用時(shí)會(huì)先按照標(biāo)記如索引ID號(hào)查找該條目,然后刪除。clear_data()用于清除數(shù)據(jù)文件內(nèi)容,因?yàn)橛玫氖荴ML文件,所以實(shí)際進(jìn)行數(shù)據(jù)清除操作時(shí)應(yīng)保留文件頭。run_log()用于記錄系統(tǒng)運(yùn)行日志,設(shè)備運(yùn)行狀態(tài)的變換都會(huì)被記錄下來,這對(duì)于系統(tǒng)運(yùn)行的監(jiān)控和維護(hù)是非常必要的。通過以上基本的數(shù)據(jù)操作函數(shù),可以完成對(duì)數(shù)據(jù)的增、刪、查、改等操作,能夠滿足系統(tǒng)的設(shè)計(jì)要求。

4 系統(tǒng)測(cè)試

4.1 測(cè)試平臺(tái)

測(cè)試平臺(tái)采用Chipkit-WF32核心板與外圍設(shè)備擴(kuò)展板組成。Chipkit-WF32核心板集PIC32MX695F512L單片機(jī)、MRF24WG0MA WiFi模塊和Micro SD卡接口于一體,配合設(shè)計(jì)的用于連接各類傳感器、控制器和顯示設(shè)備的外設(shè)擴(kuò)展板構(gòu)成居室智能化系統(tǒng)硬件平臺(tái)。測(cè)試平臺(tái)硬件實(shí)物如圖6所示。

4.2 測(cè)試結(jié)果

通過系統(tǒng)配置的網(wǎng)絡(luò)參數(shù)對(duì)系統(tǒng)平臺(tái)進(jìn)行登陸訪問,系統(tǒng)參數(shù)配置以及通過傳感器(溫度)實(shí)時(shí)采集的信息實(shí)時(shí)更新到客戶機(jī)前端,通過配置界面或者控制界面也可對(duì)系統(tǒng)的配置進(jìn)行更改和外設(shè)模塊的控制。另外實(shí)時(shí)數(shù)據(jù)也可以被記錄到系統(tǒng)后臺(tái)數(shù)據(jù)文件中,可單獨(dú)或批量調(diào)出,方便查看。系統(tǒng)的所有配置,數(shù)據(jù)詳情以及控制日志等數(shù)據(jù)均進(jìn)行相應(yīng)存儲(chǔ),并可進(jìn)行基本的管理。圖7為通過PC端IE瀏覽器訪問系統(tǒng)的部分結(jié)果。

5 結(jié)束語

采用PIC32 MCU移植TCP/IP協(xié)議和FAT32文件系統(tǒng),通過WiFi網(wǎng)絡(luò)實(shí)現(xiàn)的居室智能化信息平臺(tái)可方便實(shí)現(xiàn)居室智能化系統(tǒng)本地?cái)?shù)據(jù)的管理及控制,也可通過網(wǎng)絡(luò)將數(shù)據(jù)與云端同步,并實(shí)現(xiàn)遠(yuǎn)程控制。大幅降低了智能控制類家居系統(tǒng)的設(shè)計(jì)成本和運(yùn)行成本,也在一定程度上提高了系統(tǒng)的易用性和易維護(hù)性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉