<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于GPRS的嵌入式智能家居終端的設(shè)計與實現(xiàn)

          基于GPRS的嵌入式智能家居終端的設(shè)計與實現(xiàn)

          作者: 時間:2010-12-03 來源:網(wǎng)絡(luò) 收藏


            5.1RS485總線控制

          基于上一部分RS485的總線協(xié)議,主從控制主要分為:輪詢、查詢、控制三部分。(1)輪詢:主機(jī)定時對各從機(jī)進(jìn)行查詢,如果發(fā)現(xiàn)報警信息,保存后及時觸發(fā)報警并反饋給用戶。如果出現(xiàn)超時或幀錯誤等狀態(tài)時主機(jī)放棄此次查詢,并將該事件存儲在主機(jī)中。(2)查詢:查詢的工作流程和輪詢大致相同,但是只對指定的從機(jī)和指定狀態(tài)進(jìn)行查詢。(3)控制:把控制指令發(fā)到指定從機(jī),并要求從機(jī)反饋執(zhí)行結(jié)果。

          5.2GPRS的無線數(shù)據(jù)傳輸

          5.2.1接收和發(fā)送SMS短信

          (1)編碼轉(zhuǎn)換:要發(fā)送中文短信就需要使用PDU模式的16-bit編碼。在系統(tǒng)中默認(rèn)用 GB2312保存中文字符。發(fā)送短信前,要先進(jìn)行編碼轉(zhuǎn)換,要將GB2312轉(zhuǎn)換為Unicode編碼,再將Unicode編碼轉(zhuǎn)換為PDU的16- bit編碼。這里使用中的iconv()函數(shù),該函數(shù)可以實現(xiàn)支持的任意的兩種編碼之間的轉(zhuǎn)換。實現(xiàn)的方法:首先用 iconv_open(),打開一個轉(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模塊通訊正常,通過 “AT+CSCA=“***”及AT+CSCA=0命令設(shè)置設(shè)置短信中心號碼及短信格式(PDU)。然后發(fā)送AT+CMGS=電話號碼,得到提示符號 “>”,此時可以向MC35模塊發(fā)送編輯好的PDU編碼并以“CTRL+Z”結(jié)束。得到響應(yīng)OK,則發(fā)送成功;如果收到ERROR則表示發(fā)送失敗,重新初始化MC35模塊,發(fā)送信息[4]。(3)接收:當(dāng)收到短信時,發(fā)送”“AT+CMGR=X”從SIM卡讀取短消息并調(diào)用短信處理程序作相應(yīng)轉(zhuǎn)換。

          5.2.2GPRS聯(lián)網(wǎng)在Linux下的實現(xiàn)

          GPRS聯(lián)網(wǎng)是Linux的PPP協(xié)議實現(xiàn)的。因此在編譯內(nèi)核時需要增加Linux內(nèi)核的PPP支持[5]。然后根據(jù)程序中提供的配置信息,包括移動的APN*/為“CMNET”,通訊協(xié)議IP,撥號號碼“*99***1#”,串口設(shè)備號/dev/ttyS2,波特率9600,用戶名,密碼等信息配置PPP協(xié)議需要的5個腳本和配置文件:ppp-on、ppp-off、options.gprs、 dialer.gprs、pap-secrets。完成設(shè)置后,運行ppp-on,就可以進(jìn)行GPRS撥號;運行ppp-off斷開連接。

          GPRS聯(lián)網(wǎng)流程(控制器作為客戶端):(a)當(dāng)用戶希望通過網(wǎng)絡(luò)訪問GPRS模塊時可以通過短信方式向主機(jī)GPRS模塊發(fā)送聯(lián)網(wǎng)命令,包括用戶的 IP地址和相關(guān)配置信息。(b)主機(jī)根據(jù)用戶短信獲得GPRS上網(wǎng)連接的配置信息,并生成對應(yīng)的撥號腳本文和配置文件。調(diào)用ppp-on腳本進(jìn)行PPP撥號。(c)判斷PPPD是否撥號成功,標(biāo)志是能否生成ppp0網(wǎng)絡(luò)設(shè)備。(d)在數(shù)據(jù)傳輸過程中通過看門狗實時觀測網(wǎng)絡(luò)連接狀態(tài),網(wǎng)絡(luò)掉線時,主機(jī)保存當(dāng)前數(shù)據(jù)狀態(tài),重新啟動GPRS模塊并恢復(fù)連接。(e)結(jié)束本次任務(wù)時,用戶在網(wǎng)上發(fā)送命令,讓控制器調(diào)用ppp-off,斷開連接。

          5.3系統(tǒng)軟件流程

          軟件流程如圖2所示,系統(tǒng)上電啟動后,首先對包括串口,,GPRS模塊以及網(wǎng)絡(luò)配置文件等做相應(yīng)的初始化。并檢測GPRS模塊和主機(jī)是否通訊正常。然后開始對從機(jī)進(jìn)行輪詢,發(fā)現(xiàn)警情時,讀取并存儲報警信息,啟動報警器并將相應(yīng)的報警信息通過撥號和短信的方式通知用戶。當(dāng)收到用戶命令時,先判斷用戶的控制方式,再做出做出回應(yīng)。

          本文引用地址:http://www.ex-cimer.com/article/162617.htm

          軟件流程


          軟件流程

          6總結(jié)與展望

          本文介紹了一種基于ARM-Linux和 GPRS技術(shù)的家庭智能控制終端,并通過RS485總線解決了家用設(shè)備的布線及控制器對設(shè)備的控制問題。文中給出了詳細(xì)的系統(tǒng)架構(gòu)方案。從軟、硬件兩方面給出了詳細(xì)的設(shè)計思路和實現(xiàn)方法。整套方案對家庭智能控制器系統(tǒng)實現(xiàn)中存在的主要問題提出詳細(xì)的解決方案,并且在實踐中證明了其可實施性。此外,由于該控制器具備GPRS控制器的基本功能,只需在應(yīng)用程序部分做相應(yīng)修改,可用作其它無線遠(yuǎn)程控制設(shè)備,具有通用性和可擴(kuò)展性。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關(guān)鍵詞: ARMm Linux LCD 鍵盤

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();