基于Android平臺的電熱水器遠程控制系統

3 服務器及控制器軟硬件設計
服務器及控制器共用一個MCU,硬件上可以集成在一起,以減小系統體積。MCU選用STM32F103,該單片機采用Cortex—M3的內核架構,具有功耗低、實時性好、IO口豐富等特點,十分適用于本系統的GPRS通信、開關控制和溫度采集等功能。
為搭建服務器,MCU外接高性能工業級GPRS模塊SIM900A,其工作頻段為900/1800MHZ雙頻段,支持RS232串口和LVTTL串口,并帶硬件流控制,支持5V~24V的超寬工作范圍,經電平轉換后可以非常方便地與STM32進行連接,從而提供短信和GPRS數據傳輸等功能。模塊采用串口通信發送和接收來自MCU的指令。
控制器由光電隔離開關電路和溫度采集電路兩部分構成,光電隔離開關電路采用光電耦合器與可控硅構成,用于控制加熱器的開關,實現弱電對強電的控制;溫度采集電路使用高精度的數字溫度傳感器DS18B20,經防水設計后接入STM32的GPIO口。主要硬件電路如圖3所示。

STM32的軟件采用Keil開發,主要包括溫度讀取、開關控制和建立GPRS通信三個模塊。其中,DS18B20溫度讀取程序和IO口開關控制程序十分常見和簡單,不在此贅述。現僅對GPRS通信程序進行說明,利用STM32控制SIM900A建立服務器需要的步驟和指令,見表2。按照表中所示順序利用串口向SIM900A發送AT指令,即可建立小型數據服務器。

4 運行結果
系統在實驗室中進行了調試與試驗,利用容積2L的電熱杯模擬電熱水器。如圖4所示。圖中上半部分為服務器和控制器,STM32和SIM900A構成服務器,可控硅模塊控制電熱杯加熱器的通斷。左下所示為用經過防水處理的DS18B20作為傳感器進行溫度采集。圖右下所示,用一臺三星Android智能手機作為客戶端,設定水溫及開關動作。并獲取當前水溫,在手機屏幕上顯示。

試驗表明,服務器可以正確接收手機遠程控制指令,加熱器開關狀態與手機遠程所設相同;水溫值能夠實時準確地顯示在遠端手機上,供用戶查看;水溫控制準確,誤差在±1℃,對家用沐浴用水來說精度足夠。
5 結語
本系統基于Android平臺,設計了一套遠程水溫控制系統,具有隨時控制、實時監控、安裝方便的特點。通過調用Android提供的控件和網絡服務實現系統界面設計和人機交互實現家用電熱水器的智能遠程控制。由于采用GPRS通信方式,系統在長期工作時比短信模式更加節省通信費用,運行成本大大降低。
經測試,系統方案可行,電路穩定,控制精度滿足要求,遠程監控可靠,測試結果滿足本文設計要求。
系統還有需要完善的地方,如果要對多個家電甚至多個建筑中的電器實現同時遠程控制,則需要性能更高的MCU增加處理速度,并引入數據庫技術,提升數據交換的能力。這些有待進一步研究和討論。
評論