【導讀】在信息、通訊不斷發展的今天,隨著人類社會的進步和科學技術的迅猛發展,及國內消費者生活水平的不斷提高,人們更加注重生活質量,對生活的舒適度有了更高的要求。我愛方案網小編為大家介紹智能家庭S3C2440網關設計方案。
而家電的性能對人們生活的舒適度有著直接的影響。家電遠程控制系統使人們可異地控制家庭內部設備,拓展了人們的生活空間,為人們管理家庭設備提供了方便的手段。但由于很多普通家電卻不具備智能控制所需的條件,為了實現對普通家電的智能控制,需要設計一個中間設備--家庭網關。
本系統應用現階段流行的ARM9 系列微處理器芯片和嵌入式Linux 操作系統進行了家庭網關的軟硬件設計,利用人們隨身攜帶的手機與家庭網關進行短信通信,并在家庭網關的控制下,實現對家電的遠程控制。
1 家庭網關整體結構
遠程家電控制系統一般可以劃分為外部網,家庭網關和內部網三個部分。而家庭網關是家庭內部網與外部網的連接樞紐,也是整個系統的核心設備,整個系統構成圖如圖 1 所示。用戶使用手機發送家電控制短信到家庭網關,經過家庭網關的處理將其轉換為遙控器紅外指令,發送給各個分控節點驅動紅外發射器發送紅外指令對該設備進行控制,從而實現手機遠程控制家電的功能。
圖1 系統構成圖
2 家庭網關的實現
家庭網關中央處理器的選擇有多種方案,但考慮到家庭網關的功能、成本以及以后的升級,本課題決定采用三星公司的S3C2440A 處理器作為家庭網關的中央處理單元。S3C2440 主要面向手持設備以及高性價比、低功耗的應用,S3C2440A 提供一組完整的系統外圍設備,從而大大減少了整個系統的成本,省去了為系統配置額外器件的開銷,通過外擴存儲器(SDRAM/Flash)、觸摸屏、短信接收模塊、遙控器自學習模塊、Zigbee 模塊來構建家庭網關的硬件平臺,其系統結構如圖 2 所示。家庭網關所具有的功能包括:
遙控器紅外指令的對碼學習、短信的接收及處理、家庭內部網的主節點。
圖2 家庭網關系統結構圖
2.1 遙控器自學習模塊
家庭中的家電普遍采用紅外遙控設備,要控制家電就要知道所對應的紅外遙控碼。遙控器紅外脈沖碼一般由引導碼、地址碼、數據碼、數據碼反碼和結果碼組成。由于各個公司生產的紅外編/解碼芯片采用的編/解碼方式和脈寬周期不同,導致了市場上的各類遙控器的功能互不兼容。為了能擁有各種遙控器的遙控功能,首先必須要正確地原樣接收并存儲遙控器的紅外脈沖碼,為此設計了紅外遙控接收模塊,接收遙控器的紅外指令并保存在SQlite 數據庫。
2.1.1 硬件設計
一般紅外遙控接收電路要包括紅外接收二極管(光敏二極管)、前置放大電路、濾波器、檢波解調電路等處理電路。但是隨著技術發展,紅外接收專用集成電路逐漸被紅外接收頭所代替,紅外接收頭是一種三端集成器件,它將紅外接收二極管、前置放大電路以及解調電路等集成在同一芯片上。本設計采用紅外一體化接收頭TL538,它具有寬電壓適應、功耗低、成本低、高接收靈敏度以及優良的抗干擾特性,是通用接收紅外信號并解調的元件,不需要任何外接元件,就可以完成從紅外線接收到輸出TTL 電平的數字信號,目前廣泛的應用于家用電器及玩具等各種紅外遙控和紅外接收裝置中。
紅外一體化接收頭接收到的紅外脈沖信號解調成合適電平的數字脈沖基帶信號,直接送到S3C2440A 的GF2 引腳進行采集,紅外接收電路原理圖如圖3 所示。
圖3 紅外信號接收電路原理圖
2.1.2 軟件實現
系統軟件實現紅外脈沖信號的接收和存儲,GF2是個復用端口,要把它設置為外部中斷功能,中斷設置模式為雙沿中斷,實現紅外脈沖信號的接收。程序流程圖如圖 4 所示。
圖4 紅外接收程序流程圖
設計采用定時器對信號高低電平計時的方法來采集數據,TL538 在無紅外信號時一直處于高電平,當紅外信號到來時,有一個下降沿,觸發外部中斷,系統啟動內部定時器,當再次觸發外部中斷時,讀取計數器的值,然后依次讀取計數器的值。由于一條紅外指令的長度不會超過220ms,如果采集到編碼信號的長度大于220ms,就認為編碼采集已經結束,觸發定時器溢出中斷,關閉定時器,計算計時器每兩個計數的差值(紅外脈沖信號的脈寬值),這樣紅外脈沖信號就被原封不動的全部記憶。
為了方便調用遙控器的紅外脈沖信號,要將其接收到紅外碼保存,而保存數據就需要一個嵌入式的數據庫,在目前Linux 下常用的數據庫產品中,Oracel、BIMDB 等功能強大,但系統寵大,需付費使用,適用于大型商業型數據庫。而MysQL 在保持中等體積的情況下,提供了較為適用的功能己成為中小規模數據庫應用的首選,但商業應用也需付費,而且對于嵌入式系統來說空間占用仍然太大。小型數據庫msQL 適用于嵌入式系統,但只有30 天的使用期限,并非完全開源。而在開源的數據庫中,PostgreSQL 功能完善,但體積較大。而Berkeley DB 則是開發難度比較大。
SQlite 則在體積與功能之間做到了較好的平衡,是“理想的嵌入式數據庫”。此系統創建文件名為dc_main.
db 的sqlite3 數據庫文件,并在以創建的dc_main.db中創建一張數據表study 用來存儲各個房間各遙控器的紅外指令,SQL 命令為:
create table study(
id integer primary key autoincrement,--id 號,自動產生
room varchar(10), --房間名稱
appliance varchar(10), --電器名稱
key varchar(10), --按鍵名稱
command varchar(500)); --紅外脈沖信號
為了用戶方便與系統進行交互,采用QT4 設計遙控器自學習界面,Qt 是Trolltech 公司開發的一個多平臺的C++圖形用戶界面應用程序框架。包括直觀的API 和豐富C++ 類庫、用于GUI 開發和國際化的集成工具,支持使用JavaTM 和C++ 語言進行開發。該圖形系統最大的優點是采用面向對象設計,移植性好,基于X Window 的Qt 桌面應用程序可以非常方便的移植到嵌入式系統上。在對硬件和容量都有限制的嵌入式環境上,Qt 可以直接在Framebuffer 上顯示圖形。
Qt 的這種特性在一定程度上提高了嵌入式GUI 程序的執行效率,這對硬件和容量都有限制的嵌入式環境非常重要。同時Qt4 為數據庫訪問提供的QtSQL 模塊實現了數據庫與Qt 應用程序的無縫集成。
此系統用Qt4 和SQLite3 技術實現了遙控器自學習系統的前臺界面及數據的存儲,遙控器自學習界面如圖 5 所示。
圖 5 遙控器自學習界面
為了存儲時能將按鍵與其紅外指令對應,在遙控器自學習前臺界面要輸入房間、電器、按鍵的名稱,因此設計了鍵盤進行內容輸入,用戶在界面輸入房間、電器、按鍵,之后對著紅外一體化接收頭按下遙控器的對應按鍵接收紅外指令,按確認后,將房間、電器、按鍵信息以及所對應的遙控器紅外指令存入sqlite3 數據庫。
2.2 短信接收模塊
短信接收模塊實現的功能包括接收短信,以及根據短信內容調取數據庫中的紅外指令發送給Zigbee 模塊。
2.2.1 硬件設計
短信接收模塊采用GR64 模塊,通過串口連接到中央處理器,GR64 模塊是一款帶有GSM/GPRS 全套語音和數據功能的工業級無線調制解調模塊。集射頻電路和基帶處理器于一體,提供豐富的外設及接口,其硬件原理圖如圖 6 所示。
圖6 GR64 原理圖
2.2.2 軟件實現
短信接收軟件提供短信的接收以及處理,GR64模塊支持兩種模式收發短信:Text 模式、 PDU 模式。
Text 模式是純文本方式,不支持中文,可使用不同的字符集,主要用于歐美地區;PDU 模式被所有手機及工業級模塊支持,可以使用任何字符集,目前最為常用。家庭網關采用PDU 模式接收數據,以便能夠正確的顯示漢字。
用戶根據遙控器對碼學習的格式編寫控制家電的短消息,其格式為:房間,電器,按鍵例如:客廳,空調,打開發送至家庭網關,家庭網關使用AT 命令接收短消息,AT 命令集具有標準的硬件接口(串口)并且可以通過一組AT 命令完成對GR64 的配置和控制,接收短信用到的AT 命令為:
AT+CMGF=0 設置短信格式為PDU 格式
AT+CMGL=1 讀取未讀短消息
短信處理子程序流程圖如圖 7 所示。
圖7 短信處理子程序流程圖
家庭網關接收到的手機短信是unicode 碼值,要將其轉換為GB2312 編碼顯示為漢字,之后進行身份驗證(手機號碼驗證),通過之后將短信內容提取出來作為條件查詢數據庫,調取數據庫中所對應的遙控器紅外指令,發送至Zigbee 模塊。
2.3 Zigbee 模塊
Zigbee 模塊作為家庭內部網的主節點能夠實現的功能包括接收遙控器紅外指令,以及通過Zigbee 網絡將此紅外指令發送給各個分控節點。
2.3.1 硬件設計
硬件部分的設計如圖 8 所示。采用無線SoC 單片機CC2430 構建Zigbee 模塊,具有超低功耗、高靈敏度、出眾的抗噪聲及抗干擾能力,并且包括的許多強大的外設資源。通過串口與中央處理器相連。
圖8 Zigbee 模塊原理圖。
2.3.2 軟件實現
通過軟件實現紅外指令的接收及發送,程序流程圖如圖 9 所示。
圖9 Zigbee 模塊程序流程圖
Zigbee 模塊首先使用串口接收紅外指令,然后通過射頻通信,將紅外指令發送到各個分控節點。
隨著Intemet 技術的發展以及32 位微處理器時代的來臨,信息家電、信息家庭的概念已開始深入人心。
提出以ARM9 的32 位微處理器S3C2440A 作為家庭網關的中央處理器,軟件上以嵌入式Linux 為平臺,實現了短信接收、遙控器自學習、紅外指令發送等功能。該家庭網關成本較低,易于升級,便于推廣應用。
相關文章
小米多功能網關的Zigbee和WiFi兼容性解決方案
【2015我愛方案秀】Intel Quark處理器的智能網關方案
基于Intel的智能網關解決方案