ETA6210簡介
ETA6210是一款標準mini PCIe尺寸的WiFi通訊模塊,模塊核心芯片為NXP的iMX6UL和AP6181 WiFi芯片。ETA6210主要是與英創公司WINCE工控主板配套使用,實現高速WiFi通訊,模塊支持應用程序WinSock編程。英創工控主板是通過mini PCIe上的USB接口來操作ETA6210模塊的。在實際應用中,ETA6210是插在客戶底板的mini PCIe插座上使用。開發評估階段,可插在英創的ESMARC EVB評估底板的mini PCIe插座上使用,也可利用ETA303模塊轉換成標準USB接口使用。
ETA6210高速WiFi模塊
ETA6210本身預裝有完整的操作系統,在上電后自動進行WiFi連接。并同時打開2路虛擬串口COM17、COM18與WINCE工控主板進行通信:COM17用AT指令進行參數設置,模塊控制等;COM18用于網絡數據傳輸。
ETA6210網絡模式與常規WiFi模塊略有區別。ETA6210直接連入WiFi網絡,同時作為路由器接受嵌入式主板的連接。ETA6210將WiFi網絡中的數據直接傳給嵌入式主板,所以對于嵌入式主板而言,與直接連入WiFi網絡沒有區別,只是無法直接調用API函數獲得WiFi網絡中的IP、掩碼、網關,而是需要通過AT指令訪問ETA6210獲得。
連接到WiFi網絡后,可以使用SOCKET編程訪問網絡。
安裝
對英創ESMARC主板,ETA6210可直接插入到英創ESMARC 評估底板上的mini PCIe插座,就可進行操作。連接形式如下圖所示:
ESMARC底板 + ESM6802 + ETA6210
對其他主板,則可以通過ETA303模塊轉接標準USB接口上使用。
ETA6210 + ETA303
英創工控主板將在最新內核中支持ETA6210,用戶可以接上主板后直接使用。使用原內核的客戶可以聯系英創工程師獲得ETA6210驅動安裝程序。
ETA6210的AT指令簡介
ETA6210具有自動管理WiFi連接功能的模塊,其內部USB接口可響應WINCE 主控板的訪問。在英創的產品中,將USB連接的接口映射為兩個串口,一個用于發送AT指令,一個用于支持PPP撥號連接。
ETA6210支持的AT指令格式必須以AT大寫作為開頭,并加上’ ’作為結束符,如:“AT ”,以下為各個AT指令的響應及相應的參數說明。
指令 | 描述 |
AT | 測試AT啟動 |
AT+LINK? | 查詢WiFi連接狀態,響應為 +LINK:UP/OFF |
AT+IP? | 查詢WiFi的IP地址,響應為 +IP: string |
AT+IP=... | 設置WiFi的IP地址,參數為IP地址 |
AT+GW? | 查詢WiFi的網關地址,響應為 +GW: string |
AT+GW=... | 設置WiFi的網關地址,參數為地址 |
AT+NETMASK? | 查詢WiFi的子網掩碼,響應為 +NETMASK: string |
AT+NETMASK= | 設置WiFi的子網掩碼,參數為地址 |
AT+SSID? | 查詢WiFi的SSID,響應為 +SSID:string |
AT+SSID=…. | 設置WiFi的SSID,參數為SSID string |
AT+PSK=…. | 設置WiFi的密碼,參數為密碼 string |
AT+CSQ? | 查詢WiFi的信號強度,響應為 +CSQ:Number |
AT+CNT | 啟動WiFi的連接 |
AT+DNT | 斷開WiFi的連接 |
AT+RST | 重啟ETA6210模塊 |
使用方法
為了方便客戶的使用,英創的WINCE工控板卡在系統內部放置了兩個工具程序: RASEntry.exe和wt.exe,其中RAREntry.exe用于自動創建基于ETA6210的撥號連接,wt.exe用于對于ETA6210模塊進行WiFi的參數配置和基本的測試。這個兩個程序的運行可以通過telnet登錄連接到英創的WINCE工控板,可以在命令提示行下運行。
以下介紹在ETA6210在英創的WINCE工控板上的使用方法,這里以ESM6802作為WINCE主控板。
網絡連接
1、運行RASEntry.exe建立撥號連接,該程序目前設置的缺省狀態是建立ETA6210的連接。
此時在ESM6802的界面上可以看到建立成功的ETA6210連接。
RASEntry.exe一般只需要運行一次。
2、運行wt.exe配置ETA6210 WiFi參數。
wt.exe共支持9個命令,可以直接運行wt獲取這個9個命令的相關幫助和說明。
配置WiFi參數可以通過 “wt -c”來實現,可通過一個文本文件來配置ETA6210 WiFi的SSID和密碼,這個文本文件的格式如下:
[WIFI]
SSID="Emtronix.20"
PSK="0987654321"
這部分內容可以獨立保存為一個txt文件,也可以增加到英創板卡使用的userinfo.txt文件中,這里是將以上內容保存為一個eta6210.txt的文件,并放置到ESM6802的EDISK目錄下。
運行 >wt -c EDISKeta6210.txt
將WiFi的SSID和相應的密碼設置成功。對于在一個確定的WiFi環境下,該命令只需執行一次即可。
WiFi參數配置成功后,可調用 “wt -l” 來檢查WiFi的連接狀態,如果處于link up的狀態,即可進行后一步的撥號連接了。
運行 “wt -i” 、“wt -g” 可以獲得WiFi模塊的IP地址以及網關地址。
3、撥號連接。
撥號的方式有兩種,一種為手動模式,可以用于測試;一種是通過程序來實現。
手動方式可在ESM6802的顯示界面上雙擊ETA6210連接,即可實現WiFi模塊的自動連接。
程序實現的方式根據所建立的連接名稱(ETA6210),直接調用標準的撥號函數RasDial(…)即可,在wt工具程序中,我們提供了撥號功能以及相應的掛斷功能。
撥號連接:“wt -d”, 撥號之前建議先檢查WiFi的連接狀態,WiFi處于UP狀態才進行撥號操作。
掛斷撥號:執行“wt -h”即可掛斷當前連接。
以下為撥號連接和掛斷連接的部分代碼:
HRASCONN Dial( )
{
DWORD dwRet = 0;
DWORD dwSize;
HRASCONN hRasConn=0;
dwSize = sizeof(RASDIALPARAMS);
ZeroMemory(&RasDialParams, dwSize);
memset ((char *)&RasDialParams, 0, sizeof(RasDialParams));
RasDialParams.dwSize = sizeof(RasDialParams);
wcscpy(RasDialParams.szEntryName, L"ETA6210");
wcscpy(RasDialParams.szPhoneNumber, L"");
wcscpy(RasDialParams.szUserName, L"");
wcscpy(RasDialParams.szPassword,L"");
dwRet = RasDial( NULL, NULL, &RasDialParams, NULL, NULL, &hRasConn);
if( dwRet == 0 )
{
wprintf( L"%s RasDial successful, hRasConn = 0x%08X ", RasDialParams.szEntryName, hRasConn);
SavehRasConn( hRasConn );
return hRasConn;
}
else if( hRasConn )
RasHangUp(hRasConn);
return NULL;
}
BOOL HangUpDial( )
{
HRASCONN hRasConn=0;
hRasConn = ReadhRasConn( );
if( hRasConn )
{
wprintf( L"%s RasHangUp, hRasConn = 0x%08X ", L"ETA6210", hRasConn);
if(hRasConn)
RasHangUp(hRasConn);
DeleteFile( _T("\hRasconn.bin") );
return TRUE;
}
else
{
wprintf( L"No Ras connection ");
return FALSE;
}
}
網絡測試
ETA6210連接成功后,可以運行ipconfig來查看網絡參數:
這里我們看到ETA6210 WiFi的IP地址為“192.168.1.2”,這個地址ETA6210 WiFi模塊內部網絡的一個固定IP,并不是真正代表了通過WiFi接入網絡的IP地址,對外真正的IP是通過AT指令來獲取的。在本文上面介紹中ETA6210 WiFi 連接成功后,獲取到的IP地址為:192.168.201.102,網關地址為:192.168.201.20。
從上圖中可以看到在ENET1、ENET2均斷開的情況下,可以通過ping 網關地址來測試該網絡的通訊。同時也可以反過來通過telnet登錄“192.168.201.102”,顯示是連入到ESM6802上的。
英創可提供了RASEntry和wt這個兩個程序源代碼,客戶可以參考其中相關部分放入到自己的應用程序中,有需要的客戶可以聯系英創工程師獲得。
-
嵌入式主板
+關注
關注
7文章
6086瀏覽量
35544
發布評論請先 登錄
相關推薦
評論