国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

英創信息技術低成本WiFi在Linux工控主板上的編程方法

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

掃碼添加小助手

加入工程師交流群

ETA6103是由串口WiFi模塊E103(esp8266ex芯片)+ USB轉串口芯片CH340T構成的低成本無線模塊,其對外接口是miniPCIe接口,可以適用于英創ESMARC V4.0以上的所有底板,也可以通過ETA303模塊轉成USB接口,用到所有的英創底板之上。

ESMARC底板、ETA6103和ETA303模塊

工作的時候,ETA6103被虛擬成串口設備,比如/dev/ttyUSB0。對軟件來說,按串口的方式讀寫,發送AT指令即可建立互聯網連接。值得注意的是ETA6103最大能支持5個網絡連接,包括所有的TCP和UDP連接。并且,所有的配置信息、網絡數據都通過同一個串口傳輸。為方便用戶編程,適應網絡編程的習慣,增加程序的可讀性,英創公司封裝了一個CUartWifi類,提供了配置無線網絡和建立TCP/UDP傳輸的公共函數,用戶不用關心具體的AT指令。

1、加載CH340T驅動

insmod /lib/modules/(Linux versions)/usbserial.ko

insmod /lib/modules/(Linux versions)/ch340.ko

成功后會在/dev目錄下增加一個串口設備ttyUSBx,通過此串口發送AT指令,接收信息。

2、連接WiFi

CUartWifiuartWifi(devname);

ret = uartWifi.ConnectToAP("Emtronix\\.20","0987654321");//需要對特殊字符進行轉義

ret = uartWifi.SetIPInfo("192.168.201.93","192.168.201.20", "255.255.255.0");

需要注意的是ETA6103的AT指令中ssid需要對特殊字符做轉義,假如無線網絡賬號是"Emtronix.20",ETA6103的AT指令中ssid應該輸入"Emtronix\.20",而通過CUARTWifi類發送的ssid參數就應該是"Emtronix\\.20"。連接上無線網絡后,可以調用SetIPInfo設置IP地址、網關、子網掩碼,還可以使用Ping工具檢查連接狀況。

3、建立TCP服務端

charserver[] = "*";

ret = uartWifi.Open(server,6002,TCP_TRANS_TYPE,0);

inttotalConno = 0;

pthread_mutex_t totalConno_mutex;

pthread_mutex_init(&totalConno_mutex,NULL);

while(1)

{

ret = uartWifi.Accept(0);

......

threadFuncParam.pUartWifi = &uartWifi;

threadFuncParam.conno = ret;

threadFuncParam.pTotalConno = &totalConno;

threadFuncParam.pTotalConnoMutex = &totalConno_mutex;

ConnThreadCreate(&connThread[ret],(void* (*)(void*))&ConnThreadFunc1,&threadFuncParam) ;

}

ETA6103支持的最大網絡連接數是5個,包括所有的客戶端連接和服務端連接。在建立服務端連接時,首先使用Open函數開啟服務端功能,然后馬上進入Accept狀態,每收到一個連接,就為這個新連接開啟一個線程。建立新線程時傳遞參數要用到下面的結構體:

structThreadFuncParam

{

CUartWifi * pUartWifi;

intconno;

int*pTotalConno;

pthread_mutex_t *pTotalConnoMutex;

};

在此線程中調用WaitEvent等待此連接的數據或連接中斷的事件,并做對應的處理。這里對接收到的數據進行回發,使用do{}while循環是保證對應conn的接收數據緩存中的數據能全部讀出。在退出此線程時,使用指針對主程序中的TotalConno做了“減一”處理,表示conn連接關閉。

intConnThreadFunc1(void* lparam )

{

CUartWifi * pUartWifi = ((structThreadFuncParam * )lparam)->pUartWifi;

intconn = ((structThreadFuncParam * )lparam)->conno;

int* pTotalConno = ((structThreadFuncParam * )lparam)->pTotalConno;

intconnClose = 0;

...具體聲明見例程

while(connClose != 1)

{

event = pUartWifi->WaitEvent(conn,2000);

switch(event)

{

caseCONN_EVENT_TIMEOUT:

break;

caseCONN_EVENT_DATAIN:

do{

readNum = pUartWifi->Recv(conn,buf,1024);

...

pUartWifi->Send(conn,buf,readNum);

}while(readNum == 1024);//不一定是1024,

break;

caseCONN_EVENT_CLOSE:

connClose = 1;

break;

caseCONN_EVENT_ERROR:

connClose = 1;

break;

default:

break;

}

}

pthread_mutex_lock(((structThreadFuncParam * )lparam)->pTotalConnoMutex);

if(*pTotalConno > 0)

*pTotalConno = *pTotalConno - 1;

pthread_mutex_unlock(((structThreadFuncParam * )lparam)->pTotalConnoMutex);

return0;

}

4、建立TCP客戶端連接

客戶端也使用Open建立,第一個參數為IP地址,得到新連接后使用WaitEvent監聽處理此連接的事件,與服務端程序相似。

ret = uartWifi.Open(remoteIP,remotePort,TCP_TRANS_TYPE,0);

if(ret >= 0 && ret < 5)

{

intconnClose = 0;

...具體聲明見例程

while(connClose != 1)

{

event = uartWifi.WaitEvent(conn,2000);

switch(event)

{

caseCONN_EVENT_TIMEOUT:

break;

caseCONN_EVENT_DATAIN:

do{

readNum = uartWifi.Recv(conn,buf,1024);

}while(readNum == 1024);//不一定是1024,

break;

caseCONN_EVENT_CLOSE:

connClose = 1;

break;

caseCONN_EVENT_ERROR:

connClose = 1;

break;

default:

break;

}

}

}

5、關閉連接,斷開網絡

for(i1=0;i1

{

uartWifi.Close(i1);

}

uartWifi.DisconnectToAP();

至此,完成了整個通信過程,如果用戶對此感興趣,可以聯系我們。我們將提供驅動和具體的參考例程等資料。

另外,對于對硬件電路有特殊要求的用戶,可以直接使用物理串口連接獨立的E103模塊,此封裝類及以上編程方法同樣適用,只需要將/dev/ttyUSBx修改成/dev/ttySx即可。

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

    關注

    88

    文章

    11760

    瀏覽量

    219033
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6107

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    產業駛入快車道,國產工控主板成自主可控關鍵支撐

    當前,我國信產業規模大幅突破,信息技術應用創新產業迎來高速發展期。發展信,早已超越單純的技術升級范疇,成為保障國家信息安全、推動經濟高質
    的頭像 發表于 03-04 14:18 ?34次閱讀
    信<b class='flag-5'>創</b>產業駛入快車道,國產<b class='flag-5'>工控</b><b class='flag-5'>主板</b>成自主可控關鍵支撐

    arm嵌入式主板優缺點

    設備里面做控制、數據處理使用的CPU板。一般作為工控主板使用。   ARM處理器是一種16/32位的嵌入式RISC微處理器,具有低成本、高性能、低功耗的特點。ARM9系列微處理器具有以下特點:支持
    發表于 01-08 07:08

    國產金融主板:賦能智慧金融,驅動信產業升級

    隨著信息技術的飛速迭代,信產業已在全球范圍內崛起,成為拉動經濟增長、激活創新動能的核心力量。產業的關鍵布局中,智慧金融建設是重中之重,而國產金融
    的頭像 發表于 12-31 09:03 ?172次閱讀
    國產金融<b class='flag-5'>主板</b>:賦能智慧金融,驅動信<b class='flag-5'>創</b>產業升級

    國產芯筑基,飛騰主板賦能信未來

    信息技術自主可控成為國家戰略的今天,信產業正從“政策驅動”邁向“市場驅動”的高質量發展新階段。作為信產業鏈的核心硬件基石,主板的國產化
    的頭像 發表于 12-30 09:49 ?201次閱讀
    國產芯筑基,飛騰<b class='flag-5'>主板</b>賦能信<b class='flag-5'>創</b>未來

    3A6000四核龍芯工控主板,推動信工控深度融合

    當今信科技快速發展,技術的不斷演進和市場需求的變化,工控領域也進行源源不斷地創新,其中最引人注目的是國產龍芯
    的頭像 發表于 11-14 09:10 ?380次閱讀

    工控主板的設計特性

    工業自動化、智能裝備、物聯網等領域,工控主板作為核心控制單元,其設計質量直接決定了整個系統的穩定性、可靠性與運行效率。與消費級主板不同,工控
    的頭像 發表于 11-13 08:58 ?466次閱讀
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>的設計特性

    新時代的硬核基石:龍芯工控主板助力信產業新基建

    在數字技術重塑產業格局的今天,信產業已成為保障國家信息技術安全的核心戰略。作為工業自動化系統的大腦,工控主板的自主可控程度直接決定信創新基
    的頭像 發表于 11-05 13:54 ?294次閱讀

    工控主板的三大核心技術

    工業自動化的浪潮中,工控主板如同“工業大腦”的核心載體,支撐著各類設備的穩定運行與智能升級。相較于消費級主板工控
    的頭像 發表于 10-16 11:05 ?376次閱讀

    智慧新核心,龍芯主板助力信體系再升級

    信息技術飛速發展的當下,信體系的自主可控與創新升級已成為國家戰略層面的關鍵任務。作為信產業發展的重要基礎硬件支撐,國產工控
    的頭像 發表于 08-11 09:14 ?700次閱讀

    飛騰主板為信產業發展提高硬實力

    信息技術飛速發展的當下,信產業已成為我國實現科技自立自強、保障國家信息安全的關鍵領域。信,即信息技
    的頭像 發表于 07-22 18:20 ?709次閱讀

    Linux系統掛載新固態硬盤的方法,觸覺智能工控主板演示

    本文介紹Linux系統下新固態硬盤的掛載,使用觸覺智能RK3568工控主板演示(型號IDO-SBC3528)檢測固態硬盤與主板是否連接成功命令如下:fdisk-l#列出所有磁盤和分區
    的頭像 發表于 06-19 16:13 ?799次閱讀
    <b class='flag-5'>Linux</b>系統掛載新固態硬盤的<b class='flag-5'>方法</b>,觸覺智能<b class='flag-5'>工控</b><b class='flag-5'>主板</b>演示

    開源系統適配:聚徽分享國產工控平板 Linux / 鴻蒙系統下的技術優化

    工業自動化與智能化加速推進的當下,國產工控平板的系統適配成為提升設備性能與競爭力的關鍵環節。Linux 和鴻蒙作為開源系統,憑借其高度的開放性與可定制性,為國產工控平板帶來新的發展機
    的頭像 發表于 06-13 16:29 ?1064次閱讀

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

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

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

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