當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM-Linux和GPRS技術(shù)的家庭智能控制終端設(shè)計(jì)

    摘  要:利用GPRS技術(shù),結(jié)合嵌入式系統(tǒng)的ARM-Linux平臺(tái),設(shè)計(jì)實(shí)現(xiàn)了一種智能家居控制器。通過(guò)使用手機(jī)短信和互聯(lián)網(wǎng)等方式解決了用戶在異地對(duì)家庭智能系統(tǒng)的遠(yuǎn)程查詢,控制等問(wèn)題。同時(shí)采用RS485拓?fù)淇偩€結(jié)構(gòu)解決了家庭設(shè)備布線及控制問(wèn)題。硬件上介紹了系統(tǒng)構(gòu)成及接口的轉(zhuǎn)換和擴(kuò)展;軟件上則詳細(xì)闡述了GPRS的無(wú)線通訊在ARM-Linux下的實(shí)現(xiàn)和RS485總線協(xié)議設(shè)計(jì)的具體流程。為家庭智能系統(tǒng)實(shí)施無(wú)線遠(yuǎn)程控制提供了一種實(shí)際的可行方案。
關(guān)鍵詞:智能家居控制器; GPRS; ARM-Linux; RS485總線
1  引言
     隨著網(wǎng)絡(luò)技術(shù)和通信技術(shù)的不斷發(fā)展,人們希望即使在工作或外出時(shí)也能通過(guò)某種方式及時(shí)了解和控制家中的情況,同時(shí)伴隨著數(shù)字化家庭的普及,實(shí)現(xiàn)智能家居的遠(yuǎn)程控制已經(jīng)成為一種趨勢(shì)。家庭智能控制系統(tǒng)通過(guò)家庭總線技術(shù),把家庭中各種家用電器、家庭保安裝置和各種計(jì)量設(shè)備連接到一起組成一個(gè)家庭內(nèi)部網(wǎng)絡(luò),由家庭智能控制器進(jìn)行統(tǒng)一管理[1]。遠(yuǎn)程控制就是通過(guò)某種通訊方式將智能家庭控制器與外界相連,使人們能夠在本地或異地對(duì)家庭系統(tǒng)進(jìn)行集中的監(jiān)視、控制。本文中介紹的方案,結(jié)合了GPRS(General Packet Radio Service)技術(shù)永遠(yuǎn)在線,速度快,接入范圍廣,體積小,功耗低等優(yōu)點(diǎn)[2],采用RS485工業(yè)總線,設(shè)計(jì)實(shí)現(xiàn)了一種基于嵌入式系統(tǒng)的家庭智能控制器。用戶可以通過(guò)短信及互聯(lián)網(wǎng)等方式現(xiàn)遠(yuǎn)程無(wú)線監(jiān)控,在手機(jī)和互聯(lián)網(wǎng)相當(dāng)普及的今天,為用戶提供了更簡(jiǎn)單、方便的選擇。同時(shí)由于該控制器RS485接口的特殊設(shè)計(jì),外掛節(jié)點(diǎn)可以由原來(lái)的32個(gè)擴(kuò)展到64個(gè),解決了家用設(shè)備的布線組網(wǎng)以及控制等問(wèn)題。
2  系統(tǒng)設(shè)計(jì)
     從結(jié)構(gòu)上看主要分為用戶,控制器,和RS485總線的家用設(shè)備控制三個(gè)部分。用戶通過(guò)手機(jī)短信或網(wǎng)絡(luò)方式向控制器的GPRS模塊發(fā)送命令,而控制器也通過(guò)GPRS模塊向用戶反饋信息或發(fā)出報(bào)警通知。從而實(shí)現(xiàn)了用戶和控制器無(wú)線互聯(lián),實(shí)現(xiàn)遠(yuǎn)程控制。
3  硬件設(shè)計(jì)
     硬件部分的結(jié)構(gòu)框圖如圖1所示,控制器是整個(gè)系統(tǒng)的核心部分,經(jīng)過(guò)串口擴(kuò)展與GPRS模塊相連;通過(guò)電平轉(zhuǎn)換芯片提供RS485總線接口與家用設(shè)備相連接;同時(shí)還提供LCD,鍵盤等交互接口。控制器的主控芯片采用三星S3C44B0,使用ARM7TDMI核,工作頻率在66MHz[1]。處理器外接 4MFlash(用于存儲(chǔ)控制器的啟動(dòng)代碼和系統(tǒng)代碼以及當(dāng)天事件的文本日志)分配到存儲(chǔ)器Bank0空間和4M×16的SDRAM,分配到存儲(chǔ)器的 Bank6空間。
 


    GPRS 模塊外圍電路:GPRS模塊采用西門子公司的MC35模塊,支持?jǐn)?shù)據(jù)、語(yǔ)音、短消息和傳真等多種通信方式可以通過(guò)AT命令對(duì)其實(shí)現(xiàn)控制。串行線通過(guò) MAX3238電平轉(zhuǎn)換后可直接和RS232串口相連。串口擴(kuò)展:44B0通過(guò)外接雙通道的通用異步收發(fā)器ST16C2550為GPRS modem撥號(hào)上網(wǎng)提供完整的9線串口。其主要特點(diǎn)是接收﹑發(fā)送各有16字節(jié)的FIFO(先入先出) 緩沖區(qū),獨(dú)立的波特率產(chǎn)生器可提供50bps到4Mbps的收發(fā)時(shí)鐘。用戶可方便地通過(guò)芯片的狀態(tài)寄存器來(lái)進(jìn)行錯(cuò)誤定位和對(duì)操作狀態(tài)進(jìn)行判斷。該芯片內(nèi)存空間使用保留的存儲(chǔ)空間bank4。采用總線方式控制。RS485接口設(shè)計(jì):采用TI公司的RS485接口芯片75L BC184,可實(shí)現(xiàn)了44B0串行口的TTL電平與RS485電平之間的轉(zhuǎn)換,該芯片的輸入阻抗為RS485標(biāo)準(zhǔn)輸入阻抗的2倍(≥24KΩ),故可以在總線上連接64個(gè)節(jié)點(diǎn)(相當(dāng)于原來(lái)的兩倍)。且它有一個(gè)獨(dú)特的設(shè)計(jì),當(dāng)輸入端開(kāi)路時(shí),其輸出為高電平,這樣可保證接收器輸入端電纜有開(kāi)路故障時(shí),不影響系統(tǒng)的正常工作。
4 RS485總線協(xié)議設(shè)計(jì)
      用RS-485總線進(jìn)行系統(tǒng)通訊需要對(duì)其傳輸協(xié)議做規(guī)定,最重要的就是幀結(jié)構(gòu)的設(shè)計(jì)。本系統(tǒng)數(shù)據(jù)幀的構(gòu)造包括:起始,地址,類型,數(shù)據(jù)長(zhǎng)度,數(shù)據(jù),校驗(yàn)和及結(jié)束幀七個(gè)部分,除數(shù)據(jù)幀為N字節(jié)外(根據(jù)從機(jī)傳送的數(shù)據(jù)而定),其余均占1個(gè)字節(jié)。類型字定義如表1所示, 類型幀中的“SEN DDATA”幀為數(shù)據(jù)幀,用于存放從機(jī)設(shè)備的狀態(tài)信息,其它4種為指令幀,用于存放主機(jī)發(fā)送給從機(jī)的命令字[3]。

   主機(jī)發(fā)查詢請(qǐng)求 主機(jī)發(fā)讀請(qǐng)求 從機(jī)準(zhǔn)備好接收 從機(jī)處于忙碌 主/從機(jī)發(fā)送數(shù)據(jù)
     本系統(tǒng)采用LRC幀校驗(yàn)的方法。LRC值由傳輸設(shè)備來(lái)計(jì)算并放到消息幀中,接收設(shè)備在接收消息的過(guò)程中計(jì)算LRC,并將它和接收到消息中LRC域中的值比較,如果兩值不等,說(shuō)明有傳輸錯(cuò)誤。除了幀結(jié)構(gòu)的定義以外,整個(gè)系統(tǒng)的通信還需要遵守下面的規(guī)則:(a)主機(jī)查詢方式:由主機(jī)輪詢各從機(jī),并要求從機(jī)提交狀態(tài)信息,從機(jī)不能主動(dòng)發(fā)出請(qǐng)求。(b)當(dāng)主機(jī)發(fā)出“ASK”命令后,若從機(jī)反饋“BUSY”幀,則主機(jī)啟動(dòng)計(jì)時(shí)和計(jì)數(shù),超時(shí)3次,則任務(wù)執(zhí)行失敗。(c)主機(jī)接收到從機(jī)發(fā)回的“READY”信號(hào)后,向從機(jī)發(fā)送“GETDATA”指令,進(jìn)入接收狀態(tài),同時(shí)開(kāi)啟超時(shí)控制。若在規(guī)定時(shí)間未接收到從機(jī)發(fā)回的數(shù)據(jù),則計(jì)數(shù)器加1,并繼續(xù)發(fā)出“GETDATA”信號(hào)。如果超時(shí)3次,則取消這次查詢。(d)從機(jī)等待主機(jī)發(fā)送指令,并根據(jù)具體指令作相應(yīng)操作。如果接受到的指令幀錯(cuò)誤,則會(huì)直接丟棄該幀。[!--empirenews.page--]
5 軟件設(shè)計(jì)
      軟件部分的設(shè)計(jì)主要是基于ARM-Linux,因?yàn)樵摬僮飨到y(tǒng)具有完整的 TCP/IP協(xié)議,同時(shí)還支持許多其他網(wǎng)絡(luò)協(xié)議,可以為GPRS modem連接互聯(lián)網(wǎng)提供完整的協(xié)議支持,并且該操作系統(tǒng)具有良好的穩(wěn)定性和實(shí)時(shí)性可以滿足家庭智能控制器對(duì)系統(tǒng)可靠性的要求,另外Linux的源代碼開(kāi)放,可移植性強(qiáng),為系統(tǒng)開(kāi)發(fā)中的問(wèn)題提供了良好的技術(shù)支持。本系統(tǒng)的軟件設(shè)計(jì)主要是應(yīng)用程序的兩個(gè)部分: GPRS的無(wú)線數(shù)傳;RS485總線控制控制。
5.1  RS485總線控制
基于上一部分RS485的總線協(xié)議,主從控制主要分為:輪詢、查詢、控制三部分。(1)輪詢:主機(jī)定時(shí)對(duì)各從機(jī)進(jìn)行查詢,如果發(fā)現(xiàn)報(bào)警信息,保存后及時(shí)觸發(fā)報(bào)警并反饋給用戶。如果出現(xiàn)超時(shí)或幀錯(cuò)誤等狀態(tài)時(shí)主機(jī)放棄此次查詢,并將該事件存儲(chǔ)在主機(jī)中。(2)查詢:查詢的工作流程和輪詢大致相同,但是只對(duì)指定的從機(jī)和指定狀態(tài)進(jìn)行查詢。(3)控制:把控制指令發(fā)到指定從機(jī),并要求從機(jī)反饋執(zhí)行結(jié)果。
5.2  GPRS的無(wú)線數(shù)據(jù)傳輸
5.2.1接收和發(fā)送SMS短信
(1)編碼轉(zhuǎn)換:要發(fā)送中文短信就需要使用PDU模式的16-bit編碼。在Linux系統(tǒng)中默認(rèn)用GB2312保存中文字符。發(fā)送短信前,要先進(jìn)行編碼轉(zhuǎn)換,要將GB2312轉(zhuǎn)換為Unicode編碼,再將Unicode編碼轉(zhuǎn)換為 PDU 的16-bit 編碼。這里使用Linux中的iconv () 函數(shù),該函數(shù)可以實(shí)現(xiàn)Linux支持的任意的兩種編碼之間的轉(zhuǎn)換。實(shí)現(xiàn)的方法:首先用iconv_open(),打開(kāi)一個(gè)轉(zhuǎn)換句柄,指定兩種轉(zhuǎn)換前的編碼和轉(zhuǎn)換后的編碼。然后用 icnov() 作轉(zhuǎn)換。最后用 iconv_close()關(guān)閉句柄,釋放資源。完成轉(zhuǎn)換后,即可以正確的發(fā)送。(2)發(fā)送:向MC35模塊發(fā)送一條AT指令,得到OK響應(yīng),則表示控制器與GPRS模塊通訊正常,通過(guò)“AT+CSCA=“***”及AT+CSCA=0命令設(shè)置設(shè)置短信中心號(hào)碼及短信格式(PDU)。然后發(fā)送 AT+CMGS = "電話號(hào)碼",得到提示符號(hào)“>”,此時(shí)可以向MC35模塊發(fā)送編輯好的PDU編碼并以“CTRL+Z”結(jié)束。得到響應(yīng)OK,則發(fā)送成功;如果收到 ERROR則表示發(fā)送失敗,重新初始化MC35模塊,發(fā)送信息[4]。(3)接收:當(dāng)收到短信時(shí),發(fā)送”“AT+CMGR=X”從SIM卡讀取短消息并調(diào)用短信處理程序作相應(yīng)轉(zhuǎn)換。
5.2.2 GPRS聯(lián)網(wǎng)在Linux下的實(shí)現(xiàn)
     GPRS聯(lián)網(wǎng)是Linux的PPP協(xié)議實(shí)現(xiàn)的。因此在編譯內(nèi)核時(shí)需要增加Linux內(nèi)核的PPP支持[5]。然后根據(jù)程序中提供的配置信息,包括移動(dòng)的APN*/為“CMNET”,通訊協(xié)議IP,撥號(hào)號(hào)碼 “*99***1#”,串口設(shè)備號(hào)/dev/ttyS2,波特率9600,用戶名,密碼等信息配置PPP協(xié)議需要的5個(gè)腳本和配置文件:ppp-on、 ppp-off、options.gprs、dialer.gprs、pap-secrets。完成設(shè)置后,運(yùn)行ppp-on,就可以進(jìn)行GPRS撥號(hào);運(yùn)行ppp-off斷開(kāi)連接。
    GPRS聯(lián)網(wǎng)流程(控制器作為客戶端):(a)當(dāng)用戶希望通過(guò)網(wǎng)絡(luò)訪問(wèn)GPRS模塊時(shí)可以通過(guò)短信方式向主機(jī) GPRS模塊發(fā)送聯(lián)網(wǎng)命令,包括用戶的IP地址和相關(guān)配置信息。(b)主機(jī)根據(jù)用戶短信獲得GPRS上網(wǎng)連接的配置信息,并生成對(duì)應(yīng)的撥號(hào)腳本文和配置文件。調(diào)用ppp-on腳本進(jìn)行PPP撥號(hào)。(c)判斷PPPD是否撥號(hào)成功,標(biāo)志是能否生成ppp0網(wǎng)絡(luò)設(shè)備。(d)在數(shù)據(jù)傳輸過(guò)程中通過(guò)看門狗實(shí)時(shí)觀測(cè)網(wǎng)絡(luò)連接狀態(tài),網(wǎng)絡(luò)掉線時(shí),主機(jī)保存當(dāng)前數(shù)據(jù)狀態(tài),重新啟動(dòng)GPRS模塊并恢復(fù)連接。(e)結(jié)束本次任務(wù)時(shí),用戶在網(wǎng)上發(fā)送命令,讓控制器調(diào)用ppp- off,斷開(kāi)連接。
5.3系統(tǒng)軟件流程
   軟件流程如圖2所示,系統(tǒng)上電啟動(dòng)后,首先對(duì)包括串口,LCD,鍵盤, GPRS模塊以及網(wǎng)絡(luò)配置文件等做相應(yīng)的初始化。并檢測(cè)GPRS模塊和主機(jī)是否通訊正常。然后開(kāi)始對(duì)從機(jī)進(jìn)行輪詢,發(fā)現(xiàn)警情時(shí),讀取并存儲(chǔ)報(bào)警信息,啟動(dòng)報(bào)警器并將相應(yīng)的報(bào)警信息通過(guò)撥號(hào)和短信的方式通知用戶。當(dāng)收到用戶命令時(shí),先判斷用戶的控制方式,再做出做出回應(yīng)。
6  總結(jié)與展望
    本文介紹了一種基于ARM-Linux和GPRS技術(shù)的家庭智能控制終端,并通過(guò)RS485總線解決了家用設(shè)備的布線及控制器對(duì)設(shè)備的控制問(wèn)題。文中給出了詳細(xì)的系統(tǒng)架構(gòu)方案。從軟、硬件兩方面給出了詳細(xì)的設(shè)計(jì)思路和實(shí)現(xiàn)方法。整套方案對(duì)家庭智能控制器系統(tǒng)實(shí)現(xiàn)中存在的主要問(wèn)題提出詳細(xì)的解決方案,并且在實(shí)踐中證明了其可實(shí)施性。此外,由于該控制器具備GPRS控制器的基本功能,只需在應(yīng)用程序部分做相應(yīng)修改,可用作其它無(wú)線遠(yuǎn)程控制設(shè)備,具有通用性和可擴(kuò)展性。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉