摘要: 文章主要介紹了一種基于機智云iot開發平臺的空調遠程控制模塊的應用開發,模塊功能是通過智能手機的用戶界面遠程控制空調的工作,包括工作條件的設置和溫度環境監測,開發內容包含了硬件和軟件兩部分,硬件開發部分主要解決空調控制模塊的設計,軟件開發部分主要解決互聯網通訊問題。
引言
機智云IoT開發平臺是面向個人、企業開發者的一站式智能硬件開發及云服務平臺,平臺提供了從定義產品、設備開發調試、應用開發、產品檢測、云端開發、運營管理、數據服務等覆蓋智能硬件接入到運營管理的全周期全鏈條服務,也是智能家居產品開發應用的理想服務平臺。查看更多關于智能家電家居的方案,可到機智云官網行業方案查閱。機智云IoT開發平臺的接入流程如圖1所示。
1,系統設計
空調遠程智能控制系統是一款基于機智云IoT開發平臺的智能家居產品的嵌入式系統,設計原理是客戶端1(空調控制器)通過互聯網向服務器(機智云IoT開發平臺)發出通訊請求,服務器響應請求后與客戶端2(手機APP)建立聯系,即建立數據接口,從而建立多客戶端間的通訊,最終達到用手機APP實時檢測和控制空調的目的。
系統架構如圖2所示,空調控制器利用無線通信模塊與機智云服務器連接進行通訊,空調控制器負責發送產品序列號和密鑰,在機智云IoT開發平臺訂閱設備,手機客戶端利用機智云平臺提供的軟件開發工具包來開發具有個性化的手機APP,同時使用工具包中提供的方法建立與機智云服務器的通訊,發送序列號和密鑰,訂閱對應的設備。
系統設計采用機智云的Gizwits Agent(WIFI模塊/GPRS模塊串口標準協議)和Open API(開放的應用編程接口),不需要研究底層協議,大大減少了開發周期及成本。
1.1系統硬件設計
系統硬件設計主要是空調控制器的設計,其工作原理是傳感器采集環境的溫濕度信號,MCU實時顯示環境溫濕度并根據設定閾值進行調節,同時把數據通過網絡傳送到手機端供客戶遠程控制。部分硬件模塊電路如圖3所示,MCU選用STM32F103C8T6單片機,它使用STM32Cube MX軟件來生成所需要的外設代碼,摒棄了傳統的固件庫,利用圖形化的優勢,更直觀地配置外設,節省前期底層的代碼編寫,也縮短了編譯時間。
無線通信模塊采用esp8266系列芯片,是一款32位泰思立達處理器,具有性能穩定、功耗低的特點。溫濕度采集模塊采用DHT11溫濕度傳感器,它是一款性價比較高的單總線型溫濕度傳感器,性能滿足設計需求。顯示模塊采用市場通用的OLED液晶顯示屏,該顯示屏可以實現彩色、柔軟顯示,具有體積小巧、厚度輕薄、攜帶方便、抗震能力強等優點。
圖2系統架構
圖3 空調控制器部分模塊
1.2系統軟件設計
系統軟件的設計包括空調控制器程序開發、手機APP開發兩個部分[1]。機智云IoT開發平臺為開發者提供了開放的網絡開發平臺,機智云官網為https://www.gizwits.com/。用戶進入相關界面,只需注冊登入便可以添加屬于自己的產品,添加產品時,平臺自動分配產品標識碼與密鑰。在產品創建完成后,根據提示添加自己所需要的數據點,內容如表1所示。
1.2.1控制器程序開發
設備(空調)控制器程序開發方法是借用機智云提供的軟件包完成,步驟如下:(1)根據產品密鑰下載相應的軟件工具包,內容包括官方提供的移植手冊和設備控制程序。(2)用戶需將MCU的通信接口參數配置好,同時將機智云所提供的系統固件程序燒錄進無線通信模塊芯片中,固件封裝了設備與云端通信的協議以及通信流程,減少了開發者研究相關網絡協議而花費的精力。
(3)設備MCU進行設備控制程序的代碼移植[2]。這一步是關鍵,代碼移植成功后馬上調試單片機控制無線通信模塊實現網絡通信,過程比較復雜,無線通信模塊必須先進行配網,以Air Link模式為例,設備MCU向無線通信模塊發送指令進入配網模式,手機在連接WIFI路由的前提下,打開機智云提供的調試APP選擇配網模式,APP會發送一個UDP(用戶數據報協議)廣播數據包,包中存放了WIFI路由器的賬號和密碼,無線通信模塊接收到該包后對內容進行解析,獲得WIFI路由器的賬號和密碼,然后配置本地無線通信模塊直接連接WIFI路由器[3]。
(4)無線通信模塊配網成功后,編寫設備本地控制程序并調試。設備與云端通訊成功,手機調試APP會顯示設備的名稱與工作狀態,網頁端調試日志中也會顯示設備已上線,這樣設備MCU可以通過本地控制程序讀寫最初設置的數據點,實現設備與云端數據的交互,達到實現遠程控制的目的。
1.2.2手機APP開發
機智云IoT開發平臺為開發者提供了多種適合于快速開發的移動端開源框架,但框架存在耦合性過高、各類推送煩瑣、云廣告干擾頻繁等缺陷,因此本系統采用Android studio開發環境,使用Java語言自行開發APP,同時采納機智云平臺所提供的SDK(軟件開發工具包)進行APP開發設計,APP開發流程如圖4所示。
APP首先完成GUI(圖形界面)框架的搭建,GUI創建采用由Android studio內置的Base模板,引入騰訊推出的QMUI第三方庫可以進行界面美化,最終設計界面如圖5所示。
框架構建完成后,參考機智云官網提供的Android SDK集成指南通過Giz Wifi SDK類初始化SDK。具體方法是參考機智云官網提供的Android SDK集成指南,先對工程代碼進行移植,將SDK中jar包以及應用程序二進制接口文件導入安卓工程中,再在安卓工程目錄下對AndroidManifest.xml文件進行本地環境配置,配置參數說明如表2所示。由于Android 6.0新增了運行時權限動態檢測,GizWifiSDK在使用權限的時候需要先進行判斷,開發者還應在build.gradle中寫入權限申請的動態檢測代碼,最后完成程序編寫。
表1 數據點分析
圖4移動端APP開發流程
圖5設備控制頁面
2 系統測試
軟硬件開發完畢后進入聯調聯試階段。測試開始時,首先設備需要入網,使設備進入配網模式,通過機智云提供的測試APP對設備進行配網,配網成功后,在測試APP的設備列表中會出現新的設備,此時可以使用測試軟件來對硬件系統的數據接收與發送,以確保每個模塊都能成功接收到云指令。
在軟件測試部分中,可以使用開發者中心的虛擬設備收發數據來測試開發的APP是否能訪問云服務器,通過此方式調試還可以確定數據的準確性。最后,將設備、機智云、APP整合完畢,就能夠實現精確的數據上傳及下發,從而實現智能家居的遠程控制功能。
表2 權限說明
3 結語
該嵌入式系統是智能家居系統的典型應用,采用了M2M算法模型(一種模仿人類思維方式與解決問題方法的全新算法設計模型),可實現自動采集數據并上傳到云端,打破時間與空間的束縛,真正做到遠程的操控,為家庭提供24 h全方位的保障。
|