鐘輝宏 何虎 羅堯 何松濤 汪瑩瑩 成都理工大學
引言:如今隨著生活水平的不斷提高,智能手機被越來越多的人使用,幾乎成為了生活必需品,大大改變了人們的生活方式,智能家居技術也由此而生。人們對生活用品操作的方便性要求越來越高,普通的照明技術已經不能滿足廣大消費者的需求,因此越來越關注智能家居的研究。智能臺燈是以傳統臺燈技術為背景,實現智能手機客戶端控制的效果。
本設計以STM32單片機作為控制系統的核心,ESP8266 WIFI模塊作為Android客戶端和單片機的通信媒介,與STM32進行串口通信。Android客戶端用來實現用戶需求的界面功能,根據用戶選擇的功能發送指令,WIFI用于數據傳輸模塊,LED控制端接收指令用于實現對 LED 燈的基本操作,如開燈、關燈、調光。圖1.1為基于Android的智能臺燈系統框圖。
本設計采用STM32芯片作為主控芯片,3W LED燈驅動電路來驅動LED燈,電源電路主要用來提供12V電壓,7805穩壓塊提供5V電壓為單片機供電,ESP8266-01模塊作為Android客戶端與單片機響應的橋梁。
軟件主要部分包括兩個終端:單片機程序和Android程序。單片機主程序主要有對串口及WIFI模塊的初始化,等待外部中斷并且判斷接收的數據,從而進行相應操作。把接收的數據存儲到單片機緩存中,單片機到緩存中讀取,完成這些操作就可實現控制LED燈。字符判斷的思路是先讀取緩沖器的第一個字符“:”,提醒單片機有命令要發過來。單片機讀取第二字符命令“C”,提示單片機要數據要發過來,若接收到的數據符合設置判斷的命令,則單片機控制LED燈進行相關操作。總程序流程圖如圖1所示。

圖1 總程序流程圖
Android App是在eclipse環境下開發的,編寫Android程序的思路是將每一個控件都定義不同的字符,當控件發生響應時將其傳送給WIFI模塊,最后由STM32根據字符來進行判斷作出響應。利用串口助手,可看到每個控件定義的字符成功發送,說明APP正常使用。打開控制端APP,利用Socket通信發送給WIFI模塊,WIFI模塊接收APP傳遞的數據,分析并向端口發送指令來改變其PWM,對LED燈實現調光效果。
本設計使用Android APP 與LED驅動電路無線控制,因此WIFI模塊作為其中間橋梁。首先應將CH_PD引腳與VCC引腳相連接,CH_PD是用來選擇AT指令模式的引腳,只有提前接入高電平,才可以響應其AT指令。STM32芯片發送AT指令對WIFI模塊進行初始化,配置其WIFI賬號、密碼、波特率等,為APP與單片機通信做好準備。
基于Android的智能臺燈在在未來生活領域應用是很廣泛的。在智能手機進入家家戶戶的今天,正在改變著人們傳統的生活方式,朝向智能化、便利化的方向發展。本設計的APP適用性強,可以移植到任何帶有安卓系統的設備上,只要連接上WIFI,就可以對LED燈進行控制。在隨著人們對于傳統生活方式的要求越來越高,未來智能家居技術也會越發成熟,其應用也會越來越廣泛。