王洋洋,郭 斌,孫 偉
(新疆農業大學 計算機與信息工程學院,新疆 烏魯木齊 830052)
目前在家庭中使用的開關大多為墻壁開關,墻壁內埋線工程非常復雜,出現問題不易解決,且老人、兒童、殘疾人使用起來不方便。光線是自然醒的必要條件,通過燈光喚醒,人們逐漸從熟睡過渡到淺睡,直到醒來。而物聯網技術可以使用無線方式實現物與物之間的感知、通信和相互控制,可以解決上述問題,并給人們帶來更多的便利。
近年來,物聯網技術喚起了信息技術行業的第三次浪潮[1],國內外政府和一些企業都特別重視物聯網的構建。它包含了傳感器,通信,計算機等多項技術,用途十分廣泛[2],涉及到門禁管理,工業檢測,環境保護,智能交通,城市管理,溯源管理等各方面的應用[3]。在家居使用中,海爾正在推廣U-home物聯網智能家居戰略,通過使用ZigBee協議使冰箱、攝像頭、空調等與Haier設備相連[4]。目前,基于物聯網技術通信和控制開關的研究也相對較少,由于房屋中使用頻率最高的電器設備大多是照明系統,所以本設計以控制照明系統為研究對象,實現多種無線控制方式,為后期的基于物聯網技術的家居智能設備的研發奠定基礎。
系統主要由藍牙接收模塊、GSM接收模塊、驅動繼電器模塊、變壓模塊、定時設置模塊等部分組成。通過藍牙、GSM接收模塊向單片機傳送指令,1602液晶顯示屏顯示時間,揚聲器給予時間提醒,經各模塊相互配合工作實現無線控制燈光的控制功能,燈光控制系統功能如圖1所示。

圖1 燈光控制系統的功能圖Fig.1 Function diagram of light control system
本系統以STC12C5A60S2單片機為系統的主控芯片,DS12C887+時鐘芯片配合其工作,采用SP2338DP多串口擴展芯片作為藍牙模塊、GSM模塊與單片機串口相連的橋梁。利用單片機對接收到的指令進行判斷,該系統還增加了芯片組PT2262/2272,經放大電路配合常開型繼電器完成相應的控制,通過串聯IN4007二極管,用以完成電壓的變化,從而起到調節燈光的亮度狀態,實現了無線控制燈光系統的功能。原理圖設計如圖2所示。

圖2 系統的原理圖Fig.2 The schematic diagram of the system
藍牙和GSM模塊使用串口與單片機通信,本系統中STC12C5A60S2單片機僅提供一個UART串口,利用SP2338DP多串口擴展器,可以解決藍牙模塊、GSM模塊不能同時與單片機串口相連的問題。
藍牙模塊是無線控制系統的重要組成部分,其通信協議采用藍牙V2.0協議標準,核心模塊使用HC-07從模塊,引出接口包括 STATE、EN、VCC、GND、TXD、RXD 連接單片機串口[5]。藍牙模塊RXD端連接SP2338DP的TX0端;藍牙模塊TXD端連接SP2338DP的RX0端;藍牙模塊5 V端連接電源模塊的5 V端;藍牙模塊GND端連接電源模塊的GND端。
GSM模塊通過RS-232接口與設備相連,經過單電源電平轉換芯片MAX232芯片處理后,將信號傳給多串口擴展芯片SP2338DP,其中MAX232的T2IN端連接SP2338DP的TX1端;MAX232的R2OUT端連接SP2338DP的RX1端。詳細連接方式如圖3所示。
在通過手機藍牙方式發送指令之前,手機需要安裝Arduino連接程序,打開安裝好的APP并與藍牙模塊連接,藍牙模塊上的LED指示藍牙連接狀態,閃爍時表示沒有連接,常亮時表示藍牙已經連接成功并打開了端口。當該用戶首次連接時,手機會彈出要求輸入配對密碼窗口,手動輸入密碼就可以連接藍牙模塊,以后再次連接則會自動配對。在手機端輸入 ‘on’、‘high’、‘low’、‘off’、‘y5’、‘y30’‘open’、‘close’等字符,系統即可實現控制燈光的狀態,其中8個字符分別用于控制A燈的打開、強光、弱光、關閉、延時5秒后自動關閉、延時30秒后自動關閉、打開B燈、關閉B燈。單片機接收到數據之后將原數據返回給手機APP并在屏幕顯示,以確認指令是否發送成功。若此時手機藍牙發送端與系統的藍牙接收模塊的距離超出可接收信號的范圍,可通過編輯短信發送指令至GSM接收模塊,執行相應的操作。
通過芯片組PT2262/2272紅外遙控的無線控制方式與燈光系統直接相連,采用鎖存輸出PT2272解碼芯片,只要接收端成功的接收到相應指令,系統設備就能一直保持對應的電平狀態,直到再次接收到不同的指令,才發生電平狀態的改變。在遙控端按下‘A’、‘B’、‘C’、‘D’4 個按鈕中的一個,系統即可實現控制燈光的狀態,其中四個字符分別用于控制A燈的打開、強光、弱光、關閉。

圖3 藍牙模塊、GSM模塊與單片機連接示意圖Fig.3 Bluetooth module,GSM module and MCU connection diagram
設計采用DS12C887+時鐘芯片,該芯片可用于產生日期、星期、時間等信息,控制芯片可通過自動采集它的時間信息來控制定時。利用模塊上的S1、S2、S3、S4 4個按鍵,系統即可實現定時控制的設定[6]。當系統到達定時提醒時刻,處理器立即向P2.3輸出低電平,經放大電路驅動揚聲器進行聲音提醒,并同時向P2.6輸出低電平,經放大電路驅動B燈工作,此時燈光與蜂鳴器同時工作,若只需要關閉揚聲器報警可通過手機APP端發送相應的字符如:‘shut’、‘douse’或通過按下設備上S5按鍵關閉燈光和揚聲器報警。
依據功能,系統軟件可劃分為如下模塊:
1)系統初始化,包括串口初始化模塊,數據初始化模塊,定時器初始化模塊,藍牙初始化模塊和GSM初始化模塊,如圖4所示。
系統初始化函數如下:


圖4 系統初始化流程圖Fig.4 Flow chart of the system initialization

2)短信發送指令模塊設計:通過手機編輯短信的形式發送相應的指令字符到GSM接收端,經過GSM模塊的RS232串口將接收到的指令提取出來傳給單片機并執行相應的操作。
3)藍牙接收指令模塊設計:藍牙模塊將接收到的指令經模塊的RXD、TXD傳給串口擴展芯片SP2338DP,最終傳給單片機待處理,若單片機成功接收到指令,則通過程序判斷后執行相應的驅動繼電器操作,并選擇SP2338DP的RX0、TX0接收串口后,將接收到的指令重新發送給手機APP。如圖5所示。

圖5 接收指令流程圖Fig.5 Flow chart of the receive instruction
4)定時控制模塊設計:包括按鍵掃描、中斷控制的設計,若有按鍵按下,則開始設置提醒時間,設定成功并退出后屏幕顯示當前時間,若到達預訂時刻,則啟動相應繼電器照明,如圖6所示。

圖6 定時控制流程圖Fig.6 Flow chart of the timing control
本系統在控制方面共由藍牙控制模塊,GSM控制模塊,紅外控制模塊和定時控制模塊4個部分組成。手機藍牙模塊控制燈光系統的有效距離大約10 m,只需簡單發送一個指令就可以很方便的在有效范圍內進行操作。若超出藍牙設備的可接收范圍,GSM方式則可以彌補藍牙方式傳輸距離的不足。紅外控制模塊可以防止因手機發生故障時而無法操作設備,并且可以很方便的移植到家庭遙控器上,是以上兩種設備功能上的補充。用戶可根據需要對燈的光照強弱進行調整,也可通過設置延時的時長來減少關燈的操作,給夜晚起床的人們帶來了許多方便之處。通過使用定時功能,可以以聲、光等形式準時的喚醒人們。本設計不但實現了燈光與定時器的結合,同時也實現了智能家居中的多種無線燈光控制,由此可推廣到操作房屋內所有需要控制的設備,也為下一步開發更方便的基于物聯網的控制設備奠定了基礎。
[1]李金瑩,張日升,楊宏業,等.基于物聯網技術的設施農業自動控制系統[J].電子設計工程,2014(21):97-100.
[2]葛東,張國海,胡國棟,等.物聯網技術的現狀及應用[J].價值工程,2012(12):182-183.
[3]程曼,王讓會.物聯網技術的研究與應用[J].地理信息世界,2010(5):22-28.
[4]荊艷艷.面向智慧家庭情境感知的物聯網信息融合技術研究[D].哈爾濱:哈爾濱工業大學,2012.
[5]朱宇,李靜,岳勇.基于藍牙4.0的設備通信方案設計與實現[J].電子設計工程,2014(19):150-152,155.
[6]王洋洋,古麗米拉·克孜爾別克,張婧婧.基于單片機的智能時鐘控制裝置的設計[J].現代計算機,2013(8):65-68.