鐘輝宏 何虎 羅堯 何松濤 汪瑩瑩 成都理工大學
引言:如今隨著生活水平的不斷提高,智能手機被越來越多的人使用,幾乎成為了生活必需品,大大改變了人們的生活方式,智能家居技術也由此而生。人們對生活用品操作的方便性要求越來越高,普通的照明技術已經(jīng)不能滿足廣大消費者的需求,因此越來越關注智能家居的研究。智能臺燈是以傳統(tǒng)臺燈技術為背景,實現(xiàn)智能手機客戶端控制的效果。
本設計以STM32單片機作為控制系統(tǒng)的核心,ESP8266 WIFI模塊作為Android客戶端和單片機的通信媒介,與STM32進行串口通信。Android客戶端用來實現(xiàn)用戶需求的界面功能,根據(jù)用戶選擇的功能發(fā)送指令,WIFI用于數(shù)據(jù)傳輸模塊,LED控制端接收指令用于實現(xiàn)對 LED 燈的基本操作,如開燈、關燈、調光。圖1.1為基于Android的智能臺燈系統(tǒng)框圖。
本設計采用STM32芯片作為主控芯片,3W LED燈驅動電路來驅動LED燈,電源電路主要用來提供12V電壓,7805穩(wěn)壓塊提供5V電壓為單片機供電,ESP8266-01模塊作為Android客戶端與單片機響應的橋梁。
軟件主要部分包括兩個終端:單片機程序和Android程序。單片機主程序主要有對串口及WIFI模塊的初始化,等待外部中斷并且判斷接收的數(shù)據(jù),從而進行相應操作。把接收的數(shù)據(jù)存儲到單片機緩存中,單片機到緩存中讀取,完成這些操作就可實現(xiàn)控制LED燈。字符判斷的思路是先讀取緩沖器的第一個字符“:”,提醒單片機有命令要發(fā)過來。單片機讀取第二字符命令“C”,提示單片機要數(shù)據(jù)要發(fā)過來,若接收到的數(shù)據(jù)符合設置判斷的命令,則單片機控制LED燈進行相關操作??偝绦蛄鞒虉D如圖1所示。
圖1 總程序流程圖
Android App是在eclipse環(huán)境下開發(fā)的,編寫Android程序的思路是將每一個控件都定義不同的字符,當控件發(fā)生響應時將其傳送給WIFI模塊,最后由STM32根據(jù)字符來進行判斷作出響應。利用串口助手,可看到每個控件定義的字符成功發(fā)送,說明APP正常使用。打開控制端APP,利用Socket通信發(fā)送給WIFI模塊,WIFI模塊接收APP傳遞的數(shù)據(jù),分析并向端口發(fā)送指令來改變其PWM,對LED燈實現(xiàn)調光效果。
本設計使用Android APP 與LED驅動電路無線控制,因此WIFI模塊作為其中間橋梁。首先應將CH_PD引腳與VCC引腳相連接,CH_PD是用來選擇AT指令模式的引腳,只有提前接入高電平,才可以響應其AT指令。STM32芯片發(fā)送AT指令對WIFI模塊進行初始化,配置其WIFI賬號、密碼、波特率等,為APP與單片機通信做好準備。
基于Android的智能臺燈在在未來生活領域應用是很廣泛的。在智能手機進入家家戶戶的今天,正在改變著人們傳統(tǒng)的生活方式,朝向智能化、便利化的方向發(fā)展。本設計的APP適用性強,可以移植到任何帶有安卓系統(tǒng)的設備上,只要連接上WIFI,就可以對LED燈進行控制。在隨著人們對于傳統(tǒng)生活方式的要求越來越高,未來智能家居技術也會越發(fā)成熟,其應用也會越來越廣泛。