99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)Linux主板4G通訊斷線重連的自動(dòng)管理

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

掃碼添加小助手

加入工程師交流群

在工控主板使用的現(xiàn)場(chǎng)環(huán)境中,可能會(huì)有一部分不能夠提供以太網(wǎng)的情形,所以3G和4G網(wǎng)絡(luò)以其便捷的使用方式,得到越來越廣泛的應(yīng)用。但是在使用無線通訊的時(shí)候,為了保證通訊的穩(wěn)定性,斷線重連機(jī)制是必須在程序中實(shí)現(xiàn)的。

為了讓客戶能夠更加便捷的進(jìn)行開發(fā),英創(chuàng)公司在Linux主板上實(shí)現(xiàn)了自動(dòng)撥號(hào)和斷線重連的管理功能,并以庫(kù)文件的形式放在主板文件系統(tǒng)中提供給客戶。通過撥號(hào)管理庫(kù)提供的API函數(shù),客戶就能夠方便的實(shí)現(xiàn)自動(dòng)撥號(hào)以及斷線重連的功能,下面就詳細(xì)介紹針對(duì)英創(chuàng)Linux主板的撥號(hào)管理庫(kù)及導(dǎo)出的API函數(shù)。

英創(chuàng)公司提供的撥號(hào)管理庫(kù)文件名為libautodial.so,在編譯應(yīng)用程序的時(shí)候,需要鏈接這個(gè)庫(kù)文件,如果客戶使用光盤資料中提供的eclipse工具進(jìn)行開發(fā),在編譯之前需要對(duì)工程進(jìn)行設(shè)置,設(shè)置方法為選擇對(duì)應(yīng)的工程,通過右鍵菜單進(jìn)入properties,點(diǎn)擊右側(cè)C/C++ Build子欄目,選擇其中Settings這一項(xiàng),在C++ Linker子項(xiàng)中添加庫(kù)文件和路徑,如下圖:

工程設(shè)置

Windows開發(fā)環(huán)境和Ubuntu開發(fā)環(huán)境下面的eclipse設(shè)置方法相同。對(duì)運(yùn)行環(huán)境的英創(chuàng)主板,其根文件系統(tǒng)/lib路徑下已經(jīng)做好了相應(yīng)設(shè)置,客戶不需要再做任何操作,直接運(yùn)行編譯好的程序即可。

撥號(hào)管理庫(kù)文件libautodial.so一共提供了三個(gè)API函數(shù),分別實(shí)現(xiàn)連接,查詢和斷開的功能,函數(shù)接口定義如下:

/**
* 啟用撥號(hào)管理線程
*
* 函數(shù)會(huì)創(chuàng)建一個(gè)線程用來進(jìn)行撥號(hào)管理
* 實(shí)現(xiàn)自動(dòng)撥號(hào),以及斷線重連
*
* 返回值說明:
* 0 表示成功開啟撥號(hào)管理線程。
* -1 表示在當(dāng)前環(huán)境無法運(yùn)行。
*
*/
intpppconnt_start();
/**
* 查詢連接狀態(tài)
*
* 返回值說明:
* 0 表示運(yùn)行連接正常。
* -1 表示連接斷開。
* -2表示信號(hào)太差或者沒有讀取到SIM卡導(dǎo)致連接失敗。
* -3表示連接模塊無響應(yīng),建議檢查硬件連接和驅(qū)動(dòng)是否加載成功。
*
*/
intpppconnt_check();
/**
* 關(guān)閉連接
*
* 關(guān)閉撥號(hào)管理功能,并關(guān)閉已建立的連接。
*
*/
voidpppconnect_stop();

pppconnt_start()函數(shù)會(huì)創(chuàng)建一個(gè)線程來對(duì)整個(gè)撥號(hào)的流程實(shí)現(xiàn)自動(dòng)管理,管理線程一開始便會(huì)自動(dòng)判斷接入的模塊型號(hào),根據(jù)模塊型號(hào)調(diào)用對(duì)應(yīng)的撥號(hào)腳本,然后進(jìn)行撥號(hào)和斷線重連。所以對(duì)于客戶來說,只需要調(diào)用一次pppconnt_start()函數(shù),就會(huì)創(chuàng)建出一個(gè)實(shí)現(xiàn)撥號(hào)管理的線程,不需要再執(zhí)行其他任何操作。

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

pppconnt_stop()函數(shù),這個(gè)函數(shù)會(huì)關(guān)閉撥號(hào)管理線程,以及已經(jīng)建立好的連接。在客戶需要關(guān)閉撥號(hào)連接或是對(duì)模塊進(jìn)行復(fù)位等操作時(shí),建議先調(diào)用pppconnt_stop()函數(shù)釋放相關(guān)資源。

客戶在主板上電后,需要先加載4G模塊對(duì)應(yīng)的驅(qū)動(dòng),因?yàn)樾枰?qū)動(dòng)加載成功后,才能通過虛擬串口使用程序與模塊之間進(jìn)行交互,加載驅(qū)動(dòng)可以放在程序或者腳本中進(jìn)行,驅(qū)動(dòng)加載的方法可以參考文章:《英創(chuàng)Linux主板基于3G和4G的無線通訊方案》中的說明。驅(qū)動(dòng)加載成功后,系統(tǒng)會(huì)生成對(duì)應(yīng)的虛擬串口,這時(shí)就可以調(diào)用撥號(hào)管理庫(kù)中提供的pppconnt_start()函數(shù)進(jìn)行撥號(hào)連接了。根據(jù)上面的介紹和對(duì)API函數(shù)的描述,我們使用以下代碼進(jìn)行簡(jiǎn)單的測(cè)試:

int i1;
//先調(diào)用一次pppconnt_stop,關(guān)閉連接
pppconnt_stop();
//通過代碼加載驅(qū)動(dòng),測(cè)試使用華為ME909s,VID=0x12d1,PID=15c1
system("insmod /lib/modules/4.1.15/usbserial.ko vendor=0x12d1 product=0x15c1");
//開啟撥號(hào)管理
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,說明檢測(cè)不到信號(hào),可能是沒有檢測(cè)到SIM卡,這里執(zhí)行退出
else if(i1 == -2) {
printf("singal is weak, please check SIM card!\n");
break;
}
//返回值為-3,說明模塊無響應(yīng),這里執(zhí)行退出
else if(i1 == -3) {
printf("there is no response, please check hardware!\n");
break;
}
}
sleep(1);
}
//退出循環(huán),調(diào)用pppconnt_stop,釋放相關(guān)資源
pppconnt_stop();
return 0;

例程中對(duì)于查詢到的狀態(tài),我們只是做了簡(jiǎn)單的打印,方便觀看效果,在遇到?jīng)]有讀取到SIM卡和模塊無響應(yīng)的情況下就退出,在實(shí)際使用中可以加入硬件復(fù)位和重新上電等操作。應(yīng)用處理由sleep函數(shù)代表,可更換為其他處理代碼。例程測(cè)試效果如下:

建立連接

可以看到系統(tǒng)通過程序加載驅(qū)動(dòng)后,生成了相應(yīng)的虛擬串口,然后啟用了撥號(hào)管理功能,start_connect()函數(shù)讀出模塊為ME909s,根據(jù)模塊型號(hào)調(diào)用了對(duì)應(yīng)的撥號(hào)腳本,連接成功后,檢測(cè)線程打印出connected,說明連接已經(jīng)成功。為了測(cè)試效果我們通過終端關(guān)閉撥號(hào)連接,模擬斷線的情況,來測(cè)試是否能夠?qū)崿F(xiàn)自動(dòng)重連:

斷開模塊

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

重連過程

根據(jù)打印信息可以看出,在斷開連接以后,10s左右的時(shí)間便重新連接上了,重新連接的過程是在撥號(hào)管理線程內(nèi)部進(jìn)行的,當(dāng)檢測(cè)程序提示了connected,就說明重連成功。

成功連接后,會(huì)生成ppp0網(wǎng)口,可以使用ifconfig命令查看,如果要使用ppp0網(wǎng)絡(luò),采用linux標(biāo)準(zhǔn)的網(wǎng)絡(luò)編程就可以了,即創(chuàng)建套接字綁定ppp0,然后進(jìn)行需要的設(shè)置和操作,關(guān)于這部分的說明,可以參考我們提供的編程應(yīng)用手冊(cè)以及例程step3_tcpserver、step4_tcpclient。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3613

    瀏覽量

    91394
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6101

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    4G開關(guān)量對(duì)傳模塊:不限距離無線通訊,PLC遠(yuǎn)程控制

    4G全網(wǎng)通+云端對(duì)傳技術(shù),將PLC的開關(guān)量信號(hào)(DI/DO)無線延伸至全球任意角落,零布線、零距離限制、毫秒級(jí)響應(yīng),徹底重構(gòu)工業(yè)設(shè)備控制邊界! 一、 關(guān)鍵特性 通訊距離:4G覆蓋即可達(dá)
    的頭像 發(fā)表于 06-24 15:36 ?135次閱讀

    科普|信創(chuàng)是什么?一文讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國(guó)家推動(dòng)IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國(guó)家網(wǎng)絡(luò)安全、推動(dòng)產(chǎn)業(yè)升級(jí)和實(shí)現(xiàn)數(shù)字主權(quán)的重任。簡(jiǎn)單來
    的頭像 發(fā)表于 06-13 10:06 ?1951次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一文讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    4G DTU 無線數(shù)傳模塊:RS232/485轉(zhuǎn)4G,穩(wěn)定不宕機(jī)

    4G DTU(Data Transfer Unit)是一種工業(yè)級(jí)物聯(lián)網(wǎng)數(shù)據(jù)傳輸設(shè)備,主要用于將串口(如RS232/RS485)數(shù)據(jù)通過4G網(wǎng)絡(luò)無線傳輸?shù)竭h(yuǎn)程服務(wù)器或云平臺(tái)。它是工業(yè)自動(dòng)化、遠(yuǎn)程監(jiān)控
    的頭像 發(fā)表于 05-29 14:58 ?300次閱讀

    創(chuàng)浪潮下,國(guó)產(chǎn)主板有什么新的發(fā)展機(jī)遇?

    信息技術(shù)應(yīng)用創(chuàng)新浪潮的推動(dòng)下,國(guó)產(chǎn)主板迎來了諸多新的發(fā)展機(jī)遇。信創(chuàng)產(chǎn)業(yè)旨在實(shí)現(xiàn)信息技術(shù)領(lǐng)域的自主可控,這一戰(zhàn)略目標(biāo)為國(guó)產(chǎn)主板的發(fā)展提供了廣
    的頭像 發(fā)表于 05-09 09:24 ?215次閱讀
    信<b class='flag-5'>創(chuàng)</b>浪潮下,國(guó)產(chǎn)<b class='flag-5'>主板</b>有什么新的發(fā)展機(jī)遇?

    工業(yè)4G路由器賦能智慧停車場(chǎng)高效管理

    服務(wù)器或管理中心,實(shí)現(xiàn)信息的集中處理和管理。智慧停車場(chǎng)車牌識(shí)別與道閘控制:當(dāng)車輛進(jìn)入停車場(chǎng)時(shí),車牌識(shí)別系統(tǒng)通過攝像頭采集車牌信息,并將數(shù)據(jù)通過工業(yè)4
    的頭像 發(fā)表于 03-26 12:03 ?301次閱讀
    工業(yè)<b class='flag-5'>4G</b>路由器賦能智慧停車場(chǎng)高效<b class='flag-5'>管理</b>

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

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

    示例篇 關(guān)于4G模組的模塊信息!

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

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?960次閱讀

    物聯(lián)網(wǎng)行業(yè)中通信斷線現(xiàn)象介紹以及如何實(shí)現(xiàn)

    斷線是指在計(jì)算機(jī)網(wǎng)絡(luò)中,當(dāng)網(wǎng)絡(luò)連接遇到異常中斷或者斷開時(shí),系統(tǒng)會(huì)自動(dòng)嘗試重新建立連接,以保證網(wǎng)絡(luò)通信的連續(xù)性和穩(wěn)定性。這是一種常見的網(wǎng)絡(luò)通信技術(shù)
    的頭像 發(fā)表于 09-21 09:56 ?1448次閱讀
    物聯(lián)網(wǎng)行業(yè)中通信<b class='flag-5'>斷線</b><b class='flag-5'>重</b><b class='flag-5'>連</b>現(xiàn)象介紹以及如何實(shí)現(xiàn)

    4G工業(yè)路由器賦能智能停車場(chǎng)遠(yuǎn)程監(jiān)控管理

    水平,結(jié)合物聯(lián)網(wǎng)技術(shù)4G工業(yè)路由器應(yīng)用,為智慧城市建設(shè)智能停車場(chǎng)的實(shí)現(xiàn)提供了有力支持。停車場(chǎng)管理4G網(wǎng)絡(luò)覆蓋廣泛:4G網(wǎng)絡(luò)已經(jīng)在全國(guó)范圍內(nèi)實(shí)
    的頭像 發(fā)表于 08-08 14:04 ?966次閱讀
    <b class='flag-5'>4G</b>工業(yè)路由器賦能智能停車場(chǎng)遠(yuǎn)程監(jiān)控<b class='flag-5'>管理</b>

    4G模塊聯(lián)網(wǎng)問題

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

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

    4G新型智能電表是一種利用第四代移動(dòng)通信技術(shù)(4G)進(jìn)行數(shù)據(jù)傳輸?shù)南冗M(jìn)計(jì)量設(shè)備。它不僅具備傳統(tǒng)電表的基本功能,如電量計(jì)量,還能實(shí)現(xiàn)遠(yuǎn)程抄表、用電監(jiān)控、故障檢測(cè)等多種智能化服務(wù)。本文旨在詳細(xì)介紹
    的頭像 發(fā)表于 07-26 19:04 ?1198次閱讀
    <b class='flag-5'>4G</b>新型智能電表是什么?

    如果ESP上的TCP客戶端與服務(wù)器斷開連接,如何啟用自動(dòng)

    ESP - TCP 客戶端 嵌入式 Linux 服務(wù)器 - TCP 服務(wù)器 如果ESP上的TCP客戶端與服務(wù)器斷開連接,如何啟用自動(dòng)?
    發(fā)表于 07-17 06:25

    N58在運(yùn)行一段時(shí)間后,發(fā)現(xiàn)連接4G網(wǎng)絡(luò)失敗,導(dǎo)致MQTT不斷的如何解決?

    N58在運(yùn)行一段時(shí)間后,發(fā)現(xiàn)連接4G網(wǎng)絡(luò)失敗,導(dǎo)致MQTT不斷的,這個(gè)時(shí)候如何讓N58新初始化一下,重新附著網(wǎng)絡(luò)。謝謝
    發(fā)表于 07-16 07:15