一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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ù)低成本W(wǎng)iFi在Linux工控主板上的編程方法

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

掃碼添加小助手

加入工程師交流群

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

ESMARC底板、ETA6103和ETA303模塊

工作的時(shí)候,ETA6103被虛擬成串口設(shè)備,比如/dev/ttyUSB0。對軟件來說,按串口的方式讀寫,發(fā)送AT指令即可建立互聯(lián)網(wǎng)連接。值得注意的是ETA6103最大能支持5個(gè)網(wǎng)絡(luò)連接,包括所有的TCP和UDP連接。并且,所有的配置信息、網(wǎng)絡(luò)數(shù)據(jù)都通過同一個(gè)串口傳輸。為方便用戶編程,適應(yīng)網(wǎng)絡(luò)編程的習(xí)慣,增加程序的可讀性,英創(chuàng)公司封裝了一個(gè)CUartWifi類,提供了配置無線網(wǎng)絡(luò)和建立TCP/UDP傳輸?shù)墓埠瘮?shù),用戶不用關(guān)心具體的AT指令。

1、加載CH340T驅(qū)動(dòng)

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

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

成功后會(huì)在/dev目錄下增加一個(gè)串口設(shè)備ttyUSBx,通過此串口發(fā)送AT指令,接收信息。

2、連接WiFi

CUartWifiuartWifi(devname);

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

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

需要注意的是ETA6103的AT指令中ssid需要對特殊字符做轉(zhuǎn)義,假如無線網(wǎng)絡(luò)賬號(hào)是"Emtronix.20",ETA6103的AT指令中ssid應(yīng)該輸入"Emtronix\.20",而通過CUARTWifi類發(fā)送的ssid參數(shù)就應(yīng)該是"Emtronix\\.20"。連接上無線網(wǎng)絡(luò)后,可以調(diào)用SetIPInfo設(shè)置IP地址、網(wǎng)關(guān)、子網(wǎng)掩碼,還可以使用Ping工具檢查連接狀況。

3、建立TCP服務(wù)端

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支持的最大網(wǎng)絡(luò)連接數(shù)是5個(gè),包括所有的客戶端連接和服務(wù)端連接。在建立服務(wù)端連接時(shí),首先使用Open函數(shù)開啟服務(wù)端功能,然后馬上進(jìn)入Accept狀態(tài),每收到一個(gè)連接,就為這個(gè)新連接開啟一個(gè)線程。建立新線程時(shí)傳遞參數(shù)要用到下面的結(jié)構(gòu)體:

structThreadFuncParam

{

CUartWifi * pUartWifi;

intconno;

int*pTotalConno;

pthread_mutex_t *pTotalConnoMutex;

};

在此線程中調(diào)用WaitEvent等待此連接的數(shù)據(jù)或連接中斷的事件,并做對應(yīng)的處理。這里對接收到的數(shù)據(jù)進(jìn)行回發(fā),使用do{}while循環(huán)是保證對應(yīng)conn的接收數(shù)據(jù)緩存中的數(shù)據(jù)能全部讀出。在退出此線程時(shí),使用指針對主程序中的TotalConno做了“減一”處理,表示conn連接關(guān)閉。

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建立,第一個(gè)參數(shù)為IP地址,得到新連接后使用WaitEvent監(jiān)聽處理此連接的事件,與服務(wù)端程序相似。

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、關(guān)閉連接,斷開網(wǎng)絡(luò)

for(i1=0;i1

{

uartWifi.Close(i1);

}

uartWifi.DisconnectToAP();

至此,完成了整個(gè)通信過程,如果用戶對此感興趣,可以聯(lián)系我們。我們將提供驅(qū)動(dòng)和具體的參考例程等資料。

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

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

    關(guān)注

    87

    文章

    11511

    瀏覽量

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

    關(guān)注

    7

    文章

    6102

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Linux系統(tǒng)掛載新固態(tài)硬盤的方法,觸覺智能工控主板演示

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

    開源系統(tǒng)適配:聚徽分享國產(chǎn)工控平板 Linux / 鴻蒙系統(tǒng)下的技術(shù)優(yōu)化

    工業(yè)自動(dòng)化與智能化加速推進(jìn)的當(dāng)下,國產(chǎn)工控平板的系統(tǒng)適配成為提升設(shè)備性能與競爭力的關(guān)鍵環(huán)節(jié)。Linux 和鴻蒙作為開源系統(tǒng),憑借其高度的開放性與可定制性,為國產(chǎn)工控平板帶來新的發(fā)展機(jī)
    的頭像 發(fā)表于 06-13 16:29 ?312次閱讀

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

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

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

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

    信息安全管理必備!Linux系統(tǒng)使用SSH登錄root賬號(hào)的方法

    Linux遠(yuǎn)程管理信息安全必備!本文介紹各類Linux開發(fā)板/主板使用SSH登錄root賬號(hào)的方法,使用觸覺智能RK3562開發(fā)板演示,關(guān)注
    的頭像 發(fā)表于 02-12 15:46 ?654次閱讀
    <b class='flag-5'>信息</b>安全管理必備!<b class='flag-5'>Linux</b>系統(tǒng)使用SSH登錄root賬號(hào)的<b class='flag-5'>方法</b>

    工業(yè)級(jí)主板工控級(jí)主板的區(qū)別?

    工業(yè)領(lǐng)域,主板的重要性是被無限放大的。大型工廠里日夜不停運(yùn)轉(zhuǎn)的自動(dòng)化生產(chǎn)線、精準(zhǔn)控制的智能電網(wǎng)系統(tǒng)、以及極端環(huán)境下依然穩(wěn)定采集數(shù)據(jù)的石油勘探設(shè)備,它們背后都依靠著工業(yè)級(jí)
    的頭像 發(fā)表于 01-02 10:01 ?523次閱讀

    香蕉派開源社區(qū)與矽昌通信共推BPI-Wifi5 低成本路由器開源方案

    香蕉派開源社區(qū)與矽昌通信共推BPI-Wifi5 低成本路由器[]() 香蕉派 BPI-Wifi5 路由器采用矽昌SF19A2890S2芯片方案設(shè)計(jì)。它是一款高性能無線路由器,適用于小微企業(yè)、家庭
    發(fā)表于 11-28 10:37

    國產(chǎn)工控主板有什么優(yōu)勢、特點(diǎn)?

    隨著國產(chǎn)工控主板的發(fā)展,國內(nèi)企業(yè)也不斷開發(fā)新的工控主板,為了滿足國內(nèi)企業(yè)的發(fā)展需求,一些國產(chǎn)工控
    的頭像 發(fā)表于 11-15 10:11 ?518次閱讀

    ?什么是國產(chǎn)工控主板,國產(chǎn)工控主板的特點(diǎn)有哪些?

    什么是國產(chǎn)工控主板呢?國產(chǎn)工控主板是工業(yè)計(jì)算機(jī)的主板,是一種計(jì)算機(jī)系統(tǒng)的硬件設(shè)備,是專門為工業(yè)控制場景設(shè)計(jì)和生產(chǎn)的電路板。它在國內(nèi)的研發(fā)和制
    的頭像 發(fā)表于 11-07 10:29 ?691次閱讀

    國產(chǎn)工控主板,信創(chuàng)產(chǎn)業(yè)發(fā)展新引擎

    在當(dāng)今科技飛速發(fā)展的時(shí)代,信創(chuàng)產(chǎn)業(yè)正成為國家戰(zhàn)略的重要支撐。而我們的國產(chǎn)工控主板,以其卓越的性能和可靠的品質(zhì),為信創(chuàng)產(chǎn)業(yè)的發(fā)展注入強(qiáng)大動(dòng)力。國產(chǎn)工控
    的頭像 發(fā)表于 11-06 10:29 ?673次閱讀

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

    近日,由中國電子信息行業(yè)聯(lián)合會(huì)主辦的第二十六屆中國國際軟件博覽會(huì)(簡稱“軟博會(huì)”)天津國家會(huì)展中心成功舉行。在此次盛會(huì)上,中國電子信息行業(yè)聯(lián)合會(huì)發(fā)布了“2024年軟件和信息技術(shù)服務(wù)企
    的頭像 發(fā)表于 10-30 11:44 ?974次閱讀

    工控主板有哪些特點(diǎn)?

    ?工控主板是用于工業(yè)控制領(lǐng)域的專用主板,具有以下特點(diǎn): 穩(wěn)定性:工控主板通常經(jīng)過嚴(yán)格的測試和優(yōu)化,具有較高的穩(wěn)定性和可靠性,能夠
    的頭像 發(fā)表于 10-10 08:55 ?848次閱讀

    工控主板工業(yè)控制中扮演什么角色

    工控主板工業(yè)控制中扮演著至關(guān)重要的角色,它是工業(yè)控制系統(tǒng)的核心組件,負(fù)責(zé)連接、控制和管理各種工業(yè)設(shè)備,實(shí)現(xiàn)自動(dòng)化生產(chǎn)和智能化管理。具體來說,工控
    的頭像 發(fā)表于 09-29 09:36 ?583次閱讀

    創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡稱,于2016年“信創(chuàng)工委會(huì)”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì))提出,目的就是要推動(dòng)我們國內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?880次閱讀

    Linux系統(tǒng)連接藍(lán)牙、WiFi方法分享,適用瑞芯微RK3562等主板產(chǎn)品

    Linux系統(tǒng)連接藍(lán)牙、WiFi方法分享,適用瑞芯微RK3562、RK3568、RK3588等開發(fā)板
    的頭像 發(fā)表于 09-12 10:24 ?1286次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)連接藍(lán)牙、<b class='flag-5'>WiFi</b><b class='flag-5'>方法</b>分享,適用瑞芯微RK3562等<b class='flag-5'>主板</b>產(chǎn)品