精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術GPRS-串口數據透明傳輸簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-14 14:04 ? 次閱讀

GPRS通訊和串口通訊都是工控領域使用極為頻繁的數據傳輸方式,而實際工程中經常需要在GPRS和串口之間進行數據的透明傳輸,即:將串口終端設備傳輸過來的各種數據通過GPRS發送到另一設備,或者將GPRS終端設備傳輸過來的數據通過串口轉發。利用英利開發資料光盤中的GPRS、以太網和串口示例程序,可以很容易地開發這樣一個GPRS-串口數據透明傳輸的應用例程。

在英利開發資料光盤的“應用開發軟件”-“典型應用”中,有一個名為“gprs232”的文件夾,就是GPRS-串口數據透明傳輸的示例工程文件。該例程包括了串口、以太網和GPRS操作,以多線程方式實現,程序流程如下:
1、初始化串口并啟動串口數據處理線程
2、打開GPRS并建立連接
3、建立TCP連接,啟動網絡數據處理線程并進行數據透明傳輸

1、準備工作

在測試和使用該例程之前,需進行如下準備工作:

1、將英利工控主板的調試串口連接到開發主機,然后將英利工控主板的串口ttyS2(程序默認。如果使用其他串口,請參照程序代碼,在命令行帶入相關參數)與實驗用PC機的串口連接(開發主機的COM1往往和英利工控主板的調試串口連接,用于通過超級終端操作英利工控主板。因此如果開發主機還有一個完好的串口,可以將此串口連接到ttyS2;否則建議客戶另找一臺PC機連接ttyS2,以便于測試該例程。本文中的“實驗用PC機”就是指連接ttyS2的PC機)。

2、將實驗用PC機、開發主機和英利工控主板都接入實驗室內網,并確保實驗室內網和公共局域網的連接都正確無誤。

3、將ETA300與英利工控主板連接好,將實驗用SIM卡裝在ETA300上面。

4、將英利工控主板/mnt/nandflash文件夾下userinfo.txt文件中的默認網關改為0,即如下:
DefaultGateway='0'
如果不進行這個修改,則系統默認會通過以太網,而非GPRS傳輸數據。

5、通過實驗室的網關路由器,為實驗用PC機分配一個端口,并記下該網關路由器的外網IP地址。

6、將英利開發資料光盤“工具軟件”中的“串口調試助手”和文件夾“TCPTest_Linux”復制到實驗用PC機上,啟動串口調試助手和“TCPTest_Linux”中的TCPTest。TCPTest啟動以后將套接字類型選擇為服務器,服務器名稱填入實驗用PC機的內網IP地址,服務器端口填入之前為實驗用PC機分配的端口號,然后選擇偵聽,如下圖所示。

2、例程測試

以上6步準備完畢以后,在開發主機上啟動超級終端,為英利工控主板上電,啟動sourcery g++并編譯gprs232工程文件,通過超級終端將應用程序下載到英利工控主板的/mnt/nandflash文件夾中,并輸入如下命令運行程序:
[root@EM9X60 /mnt/nandflash]#./gprs232 50

由于GPRS模塊首次上電連接速度可能比較慢,因此此處設置了參數50(等待50秒。該項設置與用戶使用的SIM卡有關。如果50秒以后仍然無法連接,可以將這個時間再加長)。一旦首次連接成功以后,只要不斷開電源,再次運行該程序的時候可以不設置這個參數,直接如下運行即可:
[root@EM9X60 /mnt/nandflash]#./gprs232

此后系統自動進行初始化和連接,過程中用戶可以看到ETA300上的SYNC燈閃動,表示找到SIM卡以及連網,同時超級終端會顯示相應的運行信息。連接成功以后,超級終端最后一行信息顯示:TCP Connect Success;同時,實驗用PC機上TCP Test的消息欄也從不可編輯的灰色狀態變為可以輸入信息狀態,如下圖所示。

此后通過串口調試助手發送信息,可以看到信息顯示在TCP Test的“接收的信息”欄中,通過TCP Test發送的信息則顯示在串口調試助手的接收區中。發送/接收數據的過程中,ETA300的SYNC燈會閃動,表示數據正通過GPRS發送/接收。如果SYNC燈沒有閃動,則數據并不是通過GPRS發送/接收。此時需檢查userinfo.txt的默認網關是否配置為0。

3、程序說明

該例程的主程序參見光盤中的源文件。本例程以多線程方式實現,串口、TCP數據收發由各自獨立的線程完成,這樣不但能夠充分發揮嵌入式Linux多任務操作系統的優勢、實時處理數據,同時有利于減少系統開銷、提高系統資源利用效率。其中主程序部分需要用戶自行填寫參數的是以下兩個地方:

// 此處填寫網關路由器的外網IP地址
strcpy( ServerIP, '222.212.15.128' );
// 此處填寫通過實驗室的網關路由器為實驗用PC機分配的端口號
TCPClntManager.AddTCPClientObject( ServerIP, 7051 );

數據處理分別在串口數據處理線程ReceiveThreadFunc和TCP數據處理線程SocketThreadFunc中進行。

串口部分:

// 聲明外部變量TCPClntManager類
extern class CTCPClientManager TCPClntManager;

int CSerial::ReceiveThreadFunc(void* lparam)
{
// 得到CSerial實例指針
CSerial *pSer = (CSerial*)lparam;
.
.
.
if (ret > 0)
{
// 判斷是否讀事件
if (FD_ISSET(pSer->m_fd,&fdRead))
{
// data available, so get it!
pSer->m_DatLen = read( pSer->m_fd, pSer->DatBuf, 100 );
// 接收串口數據處理函數
if( pSer->m_DatLen > 0 )
{
pSer->PackagePro( pSer->DatBuf, pSer->m_DatLen );
}
// 處理完畢
}
}
}

// 接收串口數據處理函數
int CSerial::PackagePro( char* Buf, int len )
{
// 將接收的數據發送至TCP服務器
CTCPClient* pTCPClnt;
Buf[len] = 0;
// 檢測TCP連接是否打開
if( TCPClntManager.m_TCPClientInfo[0].ConnState == csOPEN )
{
pTCPClnt = (CTCPClient*)TCPClntManager.m_TCPClientInfo[0].pTCPClient;
// 調用CTCPClient類的發送函數將串口接收到的數據發送到TCP服務器
pTCPClnt->SendData( Buf, len );
}
return 1;
}

TCP部分:

// 聲明外部變量CSerial類
extern class CSerial m_Serial;

// TCP數據處理線程
int CTCPClient::SocketThreadFunc( void* lparam )
{
CTCPClient *pSocket;
// 得到CTCPClient實例指針
pSocket = (CTCPClient*)lparam;
.
.
.
if (ret > 0)
{
.
.
.
else
{
// 對接收的數據進行處理
pSocket->RecvBuf[pSocket->m_nRecvLen] = 0;
// printf( 'RCV:%s\n', pSocket->RecvBuf);
// 調用CSerial類的發送函數將GPRS接收到的數據發送到串口調試助手
m_Serial.WritePort( pSocket->RecvBuf, pSocket->m_nRecvLen );
// pSocket->SendData( pSocket->RecvBuf, pSocket->m_nRecvLen );
// 處理完畢
}
}
}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208950
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6085

    瀏覽量

    35225
收藏 人收藏

    評論

    相關推薦

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?391次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?337次閱讀

    物聯網行業中透明傳輸詳解以及如何實現

    一 概述 TCP透傳功能是一種數據傳輸技術,它允許在兩個TCP連接之間實現數據的無縫傳輸,保持原始連接的狀態和數據完整性。通過透傳,中間的服
    的頭像 發表于 09-20 16:07 ?1184次閱讀
    物聯網行業中<b class='flag-5'>透明</b><b class='flag-5'>傳輸</b>詳解以及如何實現

    加速鯤鵬落地!拓維信息遷移工具榮獲鯤鵬原生開發技術認證

    認證。圖/拓維·數據庫適配中間件取得鯤鵬原生開發N認證在數字化時代的大潮中,信戰略作為國家推動信息技術應用創新、保障信息安全與自主可控的關鍵舉措,其重要性日益凸顯
    的頭像 發表于 09-10 08:03 ?397次閱讀
    加速鯤鵬落地!拓維<b class='flag-5'>信息</b>信<b class='flag-5'>創</b>遷移工具榮獲鯤鵬原生開發<b class='flag-5'>技術</b>認證

    梯度科技入選2023年信息技術應用創新解決方案名單

    日前,工業和信息化部網絡安全產業發展中心(工業和信息化部信息中心)在天津舉辦2024信息技術應用創新發展大會暨解決方案應用推廣大會。會上正式公布了2023年
    的頭像 發表于 09-09 16:29 ?394次閱讀

    串口服務器是什么?4路、8路、16路串口服務器有什么區別?

    蜀瑞創新為大家科普:串口服務器是一種用于通過網絡連接兩個或多個串口設備的聯網設備。它能夠將RS-232/485/422等串口設備聯入TCP/IP網絡,實現串口與TCP/IP網絡接口的
    的頭像 發表于 08-27 14:55 ?436次閱讀

    GPRS抄表技術是什么?

    1.GPRS抄表技術概述GPRS(GeneralPacketRadioService)抄表是一種基于移動通信網絡的遠程抄表技術,它利用GPRS
    的頭像 發表于 06-17 16:11 ?390次閱讀
    <b class='flag-5'>GPRS</b>抄表<b class='flag-5'>技術</b>是什么?

    GPRS與4G網絡:技術差異與應用選擇

    在移動通信的發展歷程中,GPRS(General Packet Radio Service)和4G(Fourth-Generation)技術都扮演著舉足輕重的角色。雖然兩者都旨在提供無線數據傳輸服務
    的頭像 發表于 06-15 16:31 ?599次閱讀

    GPRS與4G網絡的技術差異與應用選擇

    在移動通信的發展歷程中,GPRS(General Packet Radio Service)和4G(Fourth-Generation)技術都扮演著舉足輕重的角色。雖然兩者都旨在提供無線數據傳輸服務
    的頭像 發表于 05-11 16:00 ?955次閱讀

    無線模塊透明傳輸原理及過程解析

    技術和機制來實現的。 無線模塊透明傳輸的原理主要基于串口數據透明
    的頭像 發表于 04-30 16:58 ?578次閱讀

    基于物聯網、大數據、云計算等現代信息技術高速公路智慧消防平臺解決方案

    安科瑞 程瑜 系統簡介 1、概述 智慧消防云平臺基于物聯網、大數據、云計算等現代信息技術,將分散的火災自動報警設備、電氣火災監控設備、智慧煙感探測器、智慧消防用水等設備連接形成網絡,并對這些設備
    的頭像 發表于 03-15 14:20 ?409次閱讀
    基于物聯網、大<b class='flag-5'>數據</b>、云計算等現代<b class='flag-5'>信息技術</b>高速公路智慧消防平臺解決方案

    什么是串口 串口傳輸和adc的關系及區別

    串口通信中,數據以位的形式逐個傳輸,一般采用異步通信方式,即不需要時鐘信號來同步數據傳輸。在每個字符的開頭和結尾會有起始位和停止位,用于標識數據
    的頭像 發表于 03-12 17:32 ?1570次閱讀

    龍芯中科三項信方案入圍工信部2023年信息技術應用創新應用示范案例名單

    近日,工業和信息化部通報了2023年信息技術應用創新解決方案征集遴選結果,本次共評選出典型解決方案173個、應用示范案例83個、單項創新案例64個。
    的頭像 發表于 03-07 16:45 ?871次閱讀
    龍芯中科三項信<b class='flag-5'>創</b>方案入圍工信部2023年<b class='flag-5'>信息技術</b>應用創新應用示范案例名單

    什么是串口 串口無法傳輸數據的原因

      串口的出現可以追溯到1980年前后,當時的數據傳輸率大約在115kbps至230kbps之間。初期,串口主要用于連接計算機的外設,如鼠標、外置Modem、老式攝像頭和寫字板等設備。
    的頭像 發表于 03-01 16:28 ?9579次閱讀
    什么是<b class='flag-5'>串口</b> <b class='flag-5'>串口</b>無法<b class='flag-5'>傳輸</b><b class='flag-5'>數據</b>的原因

    軟通動力與捷技術簽訂戰略合作協議

    近日,軟通動力信息技術(集團)股份有限公司(以下簡稱“軟通動力”)與寧波捷技術股份有限公司(以下簡稱“捷技術”)正式簽訂戰略合作協議,并
    的頭像 發表于 02-03 16:35 ?1086次閱讀