新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PIC32的居室智能化平臺的設計與實現

        基于PIC32的居室智能化平臺的設計與實現

        作者: 時間:2016-10-15 來源:網絡 收藏

        摘要 系統以單片機作為核心控制器,植入TCP/IP通信協議和文件系統,通過模塊和無線網絡可實時訪問存儲在SD卡設備文件中的系統參數和傳感數據,并能進行參數的配置和數據的管理,進而實現系統的遠程監控、管理和控制。系統可通過個人電腦或手機進行訪問,具有較好的人機交互功能,方便易用,功能可擴展性強,且設計運行成本低。

        本文引用地址:http://www.104case.com/article/201610/307250.htm

        關鍵詞 ;;;;

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

        1 系統組成與原理

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

        a.jpg

        2 硬件平臺設計

        2.1 WiFi模塊

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

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

        f1.jpg為中斷信號引腳,在WiFi模塊接收到數據后,負責向主控制器發出中斷處理信號以接收數據。HIBERNATE為冬眠控制引腳,主控制器可通過該引腳控制其工作模式,使其達到最佳節能效果。

        b.jpg

        MRF24WG0MA模塊需要與Mierochip的TCP/IP軟件協議棧配合使用。該軟件協議棧集成有驅動程序,其實現的API在模塊中用于命令和控制,以及管理和數據包通信。

        2.2 SD卡模塊

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

        c.jpg

        3 系統軟件設計

        3.1 系統軟件架構

        系統軟件部分,是在Microehip公司提供的TCP/IP協議棧和應用層Http協議基礎上進行應用程序的設計與開發的。整個系統架構框圖如圖4所示,其中用戶應用層的設計是本次設計的核心工作。

        d.jpg

        3.2 嵌入式服務器的設計

        該平臺下嵌入式服務器,主要是基于PC端瀏覽器和移動端APP進行設計的。因此,僅采用HTTP協議即可滿足設計要求,HTTP協議是建立在TCP/IP 協議之上的應用層協議,客戶端進行數據發送時會對報文進行格式化,因此只需在服務器端對報文格式進行解析,提取相應的控制信息和數據即可;返回數據時也需要將返回的內容格式化成HTTP協議報文格式,以便被客戶機解析。TCP/IP連接建立過程和數據收發流程如圖5所示。

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

        3.3 數據管理軟件的實現

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

        e.jpg

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

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

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

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

        4 系統測試

        4.1 測試平臺

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

        f.jpg

        4.2 測試結果

        通過系統配置的網絡參數對系統平臺進行登陸訪問,系統參數配置以及通過傳感器(溫度)實時采集的信息實時更新到客戶機前端,通過配置界面或者控制界面也可對系統的配置進行更改和外設模塊的控制。另外實時數據也可以被記錄到系統后臺數據文件中,可單獨或批量調出,方便查看。系統的所有配置,數據詳情以及控制日志等數據均進行相應存儲,并可進行基本的管理。圖7為通過PC端IE瀏覽器訪問系統的部分結果。

        g.jpg

        5 結束語

        采用PIC32 MCU移植TCP/IP協議和FAT32文件系統,通過WiFi網絡實現的居室智能化信息平臺可方便實現居室智能化系統本地數據的管理及控制,也可通過網絡將數據與云端同步,并實現遠程控制。大幅降低了智能控制類家居系統的設計成本和運行成本,也在一定程度上提高了系統的易用性和易維護性。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 文水县| 岗巴县| 北宁市| 灌云县| 台山市| 鄂托克旗| 内黄县| 岫岩| 泰州市| 台江县| 阳城县| 商丘市| 翁源县| 乐山市| 肃南| 临江市| 宁波市| 林口县| 星子县| 肥东县| 永定县| 集贤县| 永泰县| 霍邱县| 黄骅市| 迭部县| 昆明市| 新津县| 乌拉特中旗| 会同县| 兰溪市| 鸡泽县| 湛江市| 漾濞| 抚州市| 思茅市| 山阳县| 介休市| 营口市| 吉安市| 开平市|