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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SIM300的無線LED顯示屏控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          基于SIM300的無線LED顯示屏控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2016-09-08 來源:網(wǎng)絡(luò) 收藏

            在自定義的STCP 通信協(xié)議中,制定了一系列管理無線 顯示屏控制器的通信指令,主要為上位機(jī)軟件的編程提供具體的通信結(jié)構(gòu)和規(guī)范。通信包格式如表1所示:

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

            表1 通信包格式

            

           

            注:

            完整數(shù)據(jù)長度: 整型字節(jié)(4 個(gè)字節(jié)長度),整個(gè)通信包的長度;

            命令字: 根據(jù)無線 顯示屏控制器通信指令表,見表2;

            顯式控制字: 0-無;1-上移;2-下移;3-左移;4-右移;5-靜止;6-閃爍;7-刪除;

            數(shù)據(jù)內(nèi)容:需要顯示信息內(nèi)容;

            校驗(yàn)和: 全部數(shù)據(jù)累加校驗(yàn)和;

            根據(jù)無線 顯示屏控制器實(shí)際運(yùn)用需要,制定了發(fā)送、刪除、顯示、連接、斷開指令等。這些指令的代碼和主要作用如表2 所示。

            表2 通信指令表

            

           

            上位機(jī)軟件通過Internet 網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到無線LED 顯示屏控制器后,LED 顯示屏控制器需要對收到的數(shù)據(jù)進(jìn)行處理。根據(jù)指令的不同,可以控制LED 顯示屏的顯示內(nèi)容及顯示模式(例如上移、下移、左移、右移、靜止、閃爍、刪除等)。

            4 軟件設(shè)計(jì)

            本系統(tǒng)的軟件設(shè)計(jì)包括兩部分: 上位機(jī)軟件和AVR 單片機(jī)的控制程序。上位機(jī)軟件完成與GPRS 模塊的通信, 控制LED 顯示屏上顯示的數(shù)據(jù)信息;AVR單片機(jī)的控制軟件主要完成系統(tǒng)初始化,GPRS 網(wǎng)絡(luò)連接,接收上位機(jī)發(fā)送的信息,分析接收信息內(nèi)容,完成指令, 并按需將發(fā)布信息轉(zhuǎn)換為點(diǎn)陣信息, 送到LED顯示屏進(jìn)行顯示。

            4.1 AVR 單片機(jī)的控制程序

            AVR 單片機(jī)的控制程序主要完成以下功能:連接GPRS 網(wǎng)絡(luò)、數(shù)據(jù)傳輸、控制LED 屏顯示。

            (1)初始化系統(tǒng)及 模塊,連接GPRS 網(wǎng)絡(luò);(2)依照顯示屏控制器與上位機(jī)的通信協(xié)議,與上位機(jī)通信握手,接收指令,解析指令,并將顯示數(shù)據(jù)等信息存儲(chǔ)與處理;(3)通過串口驅(qū)動(dòng)LED 屏,進(jìn)行信息的顯示等。

            下面簡單介紹 模塊與上位機(jī)實(shí)現(xiàn)TCP/IP無線通信流程。

            AT+CGDCONT=1,“IP”,“CMNET” --注冊中國移動(dòng)網(wǎng)絡(luò)

            OK

            AT+CGCLASS? --顯示GPRS 信息移動(dòng)的類型

            +CGCLASS: “B”

            OK

            AT+CGATT? --GPRS 服務(wù)附加/分離

            +CGATT: 1

            OK

            AT+CGACT=1,1 --環(huán)境激活

            OK

            AT +CIPSTART = “TCP”,“202.196.87.7”,“2020” -- 啟動(dòng)

            TCP 連接(上位機(jī)IP 地址及端口號(hào))

            OK

            CONNECT OK --連接成功

            AT+CIPSEND --通過TCP 發(fā)送數(shù)據(jù)

            > HELLO

            SEND OK --發(fā)送成功

            4.2 上位機(jī)軟件

            本系統(tǒng)的上位機(jī)軟件主要采用VC 設(shè)計(jì)一個(gè)通信界面,實(shí)現(xiàn)與LED 遠(yuǎn)程控制器通信。用戶界面部分采用MFC 框架基于Dialog 實(shí)現(xiàn)。在利用Visual C++進(jìn)行通過TCP/IP 協(xié)議網(wǎng)絡(luò)傳輸數(shù)據(jù)開發(fā)時(shí), 采用IOCP 框架來實(shí)現(xiàn)Windows Socket 的完成端口模型。

            IOCP 即I/O 完成端口(I/O Completion Port),是一個(gè)異步I/O 的API,它可以高效地將I/O 事件通知給應(yīng)用程序。一個(gè)套接字在被創(chuàng)建后,與一個(gè)完成端口進(jìn)行關(guān)聯(lián)。當(dāng)一個(gè)事件發(fā)生的時(shí)候,此完成端口就將被操作系統(tǒng)加入一個(gè)隊(duì)列中, 然后應(yīng)用程序可以對核心層進(jìn)行查詢以得到此完成端口。當(dāng)某項(xiàng)I/O 操作一旦完成, 某個(gè)可以對該操作結(jié)果進(jìn)行處理的工作線程就會(huì)收到一則通知。在此應(yīng)用程序中創(chuàng)建一定數(shù)量的工作線程來處理重疊I/O 請求的通知。

            IOCP 框架的啟動(dòng)流程如圖6 所示。

            

           

            IOCP 框架的實(shí)現(xiàn)步驟如下:

            (1)初始化Winsock 工作環(huán)境,并創(chuàng)建完成端口,創(chuàng)建完成端口線程,建立一個(gè)監(jiān)聽套接字,使套接字與完成端口關(guān)聯(lián)起來;

            (2)監(jiān)聽套接字開始工作,當(dāng)監(jiān)聽套接字接收到客戶端TCP 的連接請求時(shí),IOCP 會(huì)獲取并處理該消息,創(chuàng)建對應(yīng)的Socket 對象進(jìn)行接收處理,完成連接工作;

            (3)當(dāng)客戶端完成TCP 連接后,可以開始數(shù)據(jù)通信,由I/O 線程來負(fù)責(zé)分發(fā)I/O 請求,通過線程池來分配邏輯處理環(huán)境;

            (4)在接收數(shù)據(jù)后,將微軟提供的一個(gè)I/O 數(shù)據(jù)結(jié)構(gòu)(WSAOVERLAPPED)進(jìn)行擴(kuò)展,完成協(xié)議解析和數(shù)據(jù)處理。

            此外,這里的線程池只是一個(gè)管理隊(duì)列,用于處理線程資源的管理, 用最少的線程完成最大業(yè)務(wù)邏輯的處理。真正執(zhí)行的線程函數(shù)也不完成詳細(xì)的業(yè)務(wù)處理,僅僅完成對I/O 請求的再調(diào)用,而由虛函數(shù)實(shí)現(xiàn)I/O 請求的再處理。

            為了提高軟件的友好性, 框架采用Windows 的消息機(jī)制,與UI 進(jìn)行交互,通過窗口消息將框架的相關(guān)信息傳遞給UI 窗口。因此在框架中保留了一個(gè)指針成員, 并在需要的時(shí)候通過該指針調(diào)用消息響應(yīng)函數(shù)向窗口發(fā)送消息,UI 根據(jù)消息反映框架的運(yùn)行信息。

            5 結(jié)語

            根據(jù)近年來GSM/GPRS 數(shù)據(jù)通信技術(shù)等發(fā)展的趨勢,本文提出了基于GPRS 網(wǎng)絡(luò)的、使用低成本模塊的無線LED 屏控制器的設(shè)計(jì)方案, 該系統(tǒng)利用TCP/IP 協(xié)議實(shí)現(xiàn)了基于GPRS 網(wǎng)絡(luò)的無線數(shù)據(jù)的傳送。上位機(jī)將文字或圖片信息數(shù)據(jù)通過GPRS 網(wǎng)絡(luò)傳輸?shù)竭h(yuǎn)程LED 屏終端, 也可以接收客戶端發(fā)送的數(shù)據(jù),再根據(jù)數(shù)據(jù)的內(nèi)容相應(yīng)地完成各種命令,控制LED屏顯示相應(yīng)的信息。該系統(tǒng)設(shè)計(jì)經(jīng)測試取得了良好的效果。


          上一頁 1 2 下一頁

          關(guān)鍵詞: SIM300 LED

          評(píng)論


          相關(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); })();