91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

英創信息技術Linux主板4G通訊斷線重連的自動管理

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-11 17:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在工控主板使用的現場環境中,可能會有一部分不能夠提供以太網的情形,所以3G和4G網絡以其便捷的使用方式,得到越來越廣泛的應用。但是在使用無線通訊的時候,為了保證通訊的穩定性,斷線重連機制是必須在程序中實現的。

為了讓客戶能夠更加便捷的進行開發,英創公司在Linux主板上實現了自動撥號和斷線重連的管理功能,并以庫文件的形式放在主板文件系統中提供給客戶。通過撥號管理庫提供的API函數,客戶就能夠方便的實現自動撥號以及斷線重連的功能,下面就詳細介紹針對英創Linux主板的撥號管理庫及導出的API函數。

英創公司提供的撥號管理庫文件名為libautodial.so,在編譯應用程序的時候,需要鏈接這個庫文件,如果客戶使用光盤資料中提供的eclipse工具進行開發,在編譯之前需要對工程進行設置,設置方法為選擇對應的工程,通過右鍵菜單進入properties,點擊右側C/C++ Build子欄目,選擇其中Settings這一項,在C++ Linker子項中添加庫文件和路徑,如下圖:

工程設置

Windows開發環境和Ubuntu開發環境下面的eclipse設置方法相同。對運行環境的英創主板,其根文件系統/lib路徑下已經做好了相應設置,客戶不需要再做任何操作,直接運行編譯好的程序即可。

撥號管理庫文件libautodial.so一共提供了三個API函數,分別實現連接,查詢和斷開的功能,函數接口定義如下:

/**
* 啟用撥號管理線程
*
* 函數會創建一個線程用來進行撥號管理
* 實現自動撥號,以及斷線重連
*
* 返回值說明:
* 0 表示成功開啟撥號管理線程。
* -1 表示在當前環境無法運行。
*
*/
intpppconnt_start();
/**
* 查詢連接狀態
*
* 返回值說明:
* 0 表示運行連接正常。
* -1 表示連接斷開。
* -2表示信號太差或者沒有讀取到SIM卡導致連接失敗。
* -3表示連接模塊無響應,建議檢查硬件連接和驅動是否加載成功。
*
*/
intpppconnt_check();
/**
* 關閉連接
*
* 關閉撥號管理功能,并關閉已建立的連接。
*
*/
voidpppconnect_stop();

pppconnt_start()函數會創建一個線程來對整個撥號的流程實現自動管理,管理線程一開始便會自動判斷接入的模塊型號,根據模塊型號調用對應的撥號腳本,然后進行撥號和斷線重連。所以對于客戶來說,只需要調用一次pppconnt_start()函數,就會創建出一個實現撥號管理的線程,不需要再執行其他任何操作。

pppconnt_check()函數提供了查詢功能,如果在使用過程中客戶想獲取連接狀態,可以通過調用該函數的返回值來判斷,0為正常連接,-1為連接斷開,-2為信號弱或者無信號,可能是由于沒有接天線或者沒有讀取到SIM卡造成的,-3為模塊無響應,可能是由于沒有識別到外部模塊或者沒有加載驅動造成的。如果一直無法連接成功,客戶可以根據查詢的返回值判斷原因,還可以增加硬件復位和重新上電等操作來保證模塊的正常工作。

pppconnt_stop()函數,這個函數會關閉撥號管理線程,以及已經建立好的連接。在客戶需要關閉撥號連接或是對模塊進行復位等操作時,建議先調用pppconnt_stop()函數釋放相關資源。

客戶在主板上電后,需要先加載4G模塊對應的驅動,因為需要驅動加載成功后,才能通過虛擬串口使用程序與模塊之間進行交互,加載驅動可以放在程序或者腳本中進行,驅動加載的方法可以參考文章:《英創Linux主板基于3G和4G的無線通訊方案》中的說明。驅動加載成功后,系統會生成對應的虛擬串口,這時就可以調用撥號管理庫中提供的pppconnt_start()函數進行撥號連接了。根據上面的介紹和對API函數的描述,我們使用以下代碼進行簡單的測試:

int i1;
//先調用一次pppconnt_stop,關閉連接
pppconnt_stop();
//通過代碼加載驅動,測試使用華為ME909s,VID=0x12d1,PID=15c1
system("insmod /lib/modules/4.1.15/usbserial.ko vendor=0x12d1 product=0x15c1");
//開啟撥號管理
i1 = pppconnt_start( );
printf("i1 = %d\n", i1);
while(1)
{
i1 = pppconnt_check();
if(!i1) {
printf("connected!\n");
//main processing
//...
sleep(5);
}
else {
//返回值為-,說明連接斷開
if(i1 == -1)
printf("disconnect!\n");
//返回值為-2,說明檢測不到信號,可能是沒有檢測到SIM卡,這里執行退出
else if(i1 == -2) {
printf("singal is weak, please check SIM card!\n");
break;
}
//返回值為-3,說明模塊無響應,這里執行退出
else if(i1 == -3) {
printf("there is no response, please check hardware!\n");
break;
}
}
sleep(1);
}
//退出循環,調用pppconnt_stop,釋放相關資源
pppconnt_stop();
return 0;

例程中對于查詢到的狀態,我們只是做了簡單的打印,方便觀看效果,在遇到沒有讀取到SIM卡和模塊無響應的情況下就退出,在實際使用中可以加入硬件復位和重新上電等操作。應用處理由sleep函數代表,可更換為其他處理代碼。例程測試效果如下:

建立連接

可以看到系統通過程序加載驅動后,生成了相應的虛擬串口,然后啟用了撥號管理功能,start_connect()函數讀出模塊為ME909s,根據模塊型號調用了對應的撥號腳本,連接成功后,檢測線程打印出connected,說明連接已經成功。為了測試效果我們通過終端關閉撥號連接,模擬斷線的情況,來測試是否能夠實現自動重連:

斷開模塊

從打印信息可以看到,在我們通過終端關閉撥號連接后,檢測程序打印的信息提示disconnect,說明此時撥號連接已經斷開。pppconnt_check()函數檢測到連接斷開但是硬件正常,于是返回-1,根據測試代碼,就會打印disconnect信息。接下來我們查看撥號管理線程是否會自動重連,打印信息如下:

重連過程

根據打印信息可以看出,在斷開連接以后,10s左右的時間便重新連接上了,重新連接的過程是在撥號管理線程內部進行的,當檢測程序提示了connected,就說明重連成功。

成功連接后,會生成ppp0網口,可以使用ifconfig命令查看,如果要使用ppp0網絡,采用linux標準的網絡編程就可以了,即創建套接字綁定ppp0,然后進行需要的設置和操作,關于這部分的說明,可以參考我們提供的編程應用手冊以及例程step3_tcpserver、step4_tcpclient。

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

    關注

    4

    文章

    3614

    瀏覽量

    91410
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6102

    瀏覽量

    36306
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    4G開關量對傳模塊:不限距離無線通訊,PLC遠程控制

    4G全網通+云端對傳技術,將PLC的開關量信號(DI/DO)無線延伸至全球任意角落,零布線、零距離限制、毫秒級響應,徹底重構工業設備控制邊界! 一、 關鍵特性 通訊距離:4G覆蓋即可達
    的頭像 發表于 06-24 15:36 ?145次閱讀

    科普|信是什么?一文讀懂“信息技術應用創新”戰略

    什么是信?信,即“信息技術應用創新”,是國家推動IT系統自主可控、安全可控的重要戰略工程。它不僅是技術層面的創新,更承載著保障國家網絡安全、推動產業升級和實現數字主權的重任。簡單來
    的頭像 發表于 06-13 10:06 ?2010次閱讀
    科普|信<b class='flag-5'>創</b>是什么?一文讀懂“<b class='flag-5'>信息技術</b>應用創新”戰略

    4G DTU 無線數傳模塊:RS232/485轉4G,穩定不宕機

    4G DTU(Data Transfer Unit)是一種工業級物聯網數據傳輸設備,主要用于將串口(如RS232/RS485)數據通過4G網絡無線傳輸到遠程服務器或云平臺。它是工業自動化、遠程監控
    的頭像 發表于 05-29 14:58 ?304次閱讀

    浪潮下,國產主板有什么新的發展機遇?

    信息技術應用創新浪潮的推動下,國產主板迎來了諸多新的發展機遇。信產業旨在實現信息技術領域的自主可控,這一戰略目標為國產主板的發展提供了廣
    的頭像 發表于 05-09 09:24 ?219次閱讀
    信<b class='flag-5'>創</b>浪潮下,國產<b class='flag-5'>主板</b>有什么新的發展機遇?

    4G DTU未來發展趨勢與展望

    在工業物聯網蓬勃發展的當下,4G DTU 作為關鍵的數據傳輸設備,正深刻地改變著各行業的數據交互模式。從工業自動化到智能交通,從環境監測到智慧農業,4G DTU 憑借其高效、靈活的無線數據傳輸能力
    的頭像 發表于 04-22 18:44 ?159次閱讀

    工業4G路由器賦能智慧停車場高效管理

    服務器或管理中心,實現信息的集中處理和管理。智慧停車場車牌識別與道閘控制:當車輛進入停車場時,車牌識別系統通過攝像頭采集車牌信息,并將數據通過工業4
    的頭像 發表于 03-26 12:03 ?302次閱讀
    工業<b class='flag-5'>4G</b>路由器賦能智慧停車場高效<b class='flag-5'>管理</b>

    飛騰助力首屆教育信息技術應用創新大賽圓滿落幕

    近日,由中國教育技術協會主辦,教育部教育管理信息中心教育信實驗室、公安部第三研究所、中國電子工業標準化技術協會信
    的頭像 發表于 12-24 09:57 ?516次閱讀

    用txb0102給華為4g模塊串口通訊,輸入波形失真嚴重的原因?

    我用txb0102給華為4g模塊串口通訊,一端接華為4g模塊,另一端接轉換線(ttl轉usb)連接電腦,華為me909s-821.串口輸出是1.8v電平,轉換線芯片用的pl2303,輸出電平
    發表于 12-12 06:22

    示例篇 關于4G模組的模塊信息

    今天我會把4G模組的模塊信息做出詳細介紹,做出示例,展示給大家,如果覺得有用的話請點贊收藏。
    的頭像 發表于 11-12 12:07 ?898次閱讀
    示例篇  關于<b class='flag-5'>4G</b>模組的模塊<b class='flag-5'>信息</b>!

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

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

    物聯網行業中通信斷線現象介紹以及如何實現

    斷線是指在計算機網絡中,當網絡連接遇到異常中斷或者斷開時,系統會自動嘗試重新建立連接,以保證網絡通信的連續性和穩定性。這是一種常見的網絡通信技術
    的頭像 發表于 09-21 09:56 ?1459次閱讀
    物聯網行業中通信<b class='flag-5'>斷線</b><b class='flag-5'>重</b><b class='flag-5'>連</b>現象介紹以及如何實現

    4G工業路由器賦能智能停車場遠程監控管理

    水平,結合物聯網技術4G工業路由器應用,為智慧城市建設智能停車場的實現提供了有力支持。停車場管理4G網絡覆蓋廣泛:4G網絡已經在全國范圍內實
    的頭像 發表于 08-08 14:04 ?970次閱讀
    <b class='flag-5'>4G</b>工業路由器賦能智能停車場遠程監控<b class='flag-5'>管理</b>

    4G模塊聯網問題

    最近在調試4G模塊,4G模塊驅動調試成功,也可以ping通外網(比如www.baidu.com)。我的電腦連接路由器,也可以上網,但是用4G模塊ping不通電腦,不知道該問題出在哪里,該怎么解決
    發表于 08-01 19:01

    4G新型智能電表是什么?

    4G新型智能電表是一種利用第四代移動通信技術(4G)進行數據傳輸的先進計量設備。它不僅具備傳統電表的基本功能,如電量計量,還能實現遠程抄表、用電監控、故障檢測等多種智能化服務。本文旨在詳細介紹
    的頭像 發表于 07-26 19:04 ?1204次閱讀
    <b class='flag-5'>4G</b>新型智能電表是什么?
    主站蜘蛛池模板: 又粗又长又大又黄的日本视频 | 寄宿日记免费看 | 可以免费看黄色的网站 | 中文字幕有码在线视频 | 国产高清在线免费 | 97就要鲁就要鲁夜夜爽 | 亚洲免费黄色网址 | 女人张开双腿让男人桶爽免 | 永久免费看| 国产在线一区二区三区四区 | 美女毛片在线观看 | 亚洲国产女人aaa毛片在线 | 欧美一区二区三区综合色视频 | 午夜免费网址 | 国产精品久久久久久久免费大片 | 手机看片国产免费永久 | 免费看又爽又黄禁片视频1000 | 有一婷婷色 | 六月综合网| 欧美精品一区二区三区视频 | 国产成人影视 | 一级毛片西西人体44rt高清 | 亚洲一区二区三区在线播放 | 国产高清在线 | 黄蓉h肉辣文大全 | 欧美性猛片xxxxⅹ免费 | 久久欧洲视频 | 中文字幕日韩三级 | 三级视频国产 | 美女扒开尿口给男人桶爽视频 | 男人操女人免费视频 | 日本最色网站 | 色综合视频在线观看 | 国产综合色在线视频区色吧图片 | 特黄特色网站 | 天堂网在线最新版www | 69日本xxxxxxxxx98| 朱元璋传奇1998王耿豪版 | 美女把尿口扒开让男人桶出水 | 黄色日本视频 | 一区二区三区四区精品 |