隨著網絡設備的增加,網絡的布線顯得十分復雜,為了解決這種矛盾,無線網卡應運而生。無線網卡以其無需布線、健康安全、長距離工作等優點得到廣泛應用,然而,在嵌入式領域,由于受操作系統的限制,無線網卡被嵌入式系統拒之門外。英創公司經過技術攻關,突破了這一限制,使無線網卡在嵌入式領域得到方便應用。但是,由于WinCE的硬件驅動不像在臺式機機上安裝硬件驅動那么方便,英創公司只提供支持特定型號——RT2870無線網卡的驅動。
無線網卡RT2870是USB接口,如圖1所示,可以直接插在英創嵌入式主板的USB接口。RT2870也有板卡式產品,可以固定在底板上。RT2870插到嵌入式主板后,燈會一直閃爍,說明RT2870工作正常。英創公司已經把無線網卡的驅動做到了內核,用戶使用的時候,只需建立與AP節點的連接,就可以把嵌入式主板接入局域網。下面介紹基于英創嵌入式模塊通過無線網卡接入局域網的方法。
EM9000配置網卡IP地址等信息已經在《基于WinCE的無線網卡應用方案》中介紹過,本文主要介紹沒有WINCE標準界面的ARM9嵌入式主板(EM9160、EM9260、EM9360等)無線網卡的配置方法。
英創公司提供了登陸無線AP節點工具——WiFiConfig,其命令格式為:
WiFiConfig AP節點名 密碼
下面以EM9260為例詳細說明:
把WiFiConfig.exe拷貝到Nandflash下,用telnet工具登錄開發板。并運行WiFiConfig,注意,AP節點的名字要區分大小寫。連接成功后,運行IPCONFIG命令,可以看到無線網卡的信息。由于無線網卡的ip地址為自動獲得,所以,在局域網內,要有DHCP服務器。如果沒有DHCP服務器,無線網卡的ip地址為全0,接下來的文章將介紹通過軟件設置固定IP的方法,注意,無線網卡的名字為RT2870。
如果需要設置靜態IP地址等信息,可以通過程序更改配置。為了方便用戶使用,我們提供了NetIP.lib庫,頭文件定義如下。
///////////////////////////////////////////////////////////////////////////////////////
// 功能描述:將IP地址字符串形式轉化為DWORD值,在NETWORK_ADPT_INFO中
// 需要代//入IP地址的DWORD值。
// 輸入參數: IPAddressString: IP地址的字符串,如: _T(‘192.168.201.182’)
// 輸出參數:IPAddressValue: IP地址的DWORD值。
// 返回值 = TRUE: 操作成功
// = FALSE: 操作失敗
///////////////////////////////////////////////////////////////////////////////////////
BOOL StringToIPAddr(TCHAR *IPAddressString, DWORD *IPAddressValue);
///////////////////////////////////////////////////////////////////////////////////////
// 功能描述:設置本地網絡適配器的相關參數,包括IP、子網掩碼、網關等。
// 輸入參數:pAdptInfo: 需要設置的NETWORK_ADPT_INFO結構參數。
// 返回值 = TRUE: 操作成功
// = FALSE: 操作失敗
///////////////////////////////////////////////////////////////////////////////////////
BOOL SetNetWorkAdapterInfo(LPTSTR szAdapterName, PNETWORK_ADPT_INFO pAdptInfo );
根據頭文件中的API函數,填充NETWORK_ADPT_INFO結構體后,調用設置函數SetNetWorkAdapterInfo就可以把無線網卡的IP地址設置為靜態IP。具體示例如下:
NETWORK_ADPT_INFO AdptInfo;
TCHAR AdpName[30];
_tcscpy( AdpName, _T( ‘RT28701’ ) ); // 無線網卡名字為RT28701
AdptInfo.fUseDHCP=false; // 不使用DHCP
AdptInfo.szAdapterName=AdpName; // 網卡名字
StringToIPAddr( _T(‘192.168.201.193’), &AdptInfo.IPAddr ); // 網卡IP地址
StringToIPAddr(_T(‘192.168.201.19’), &AdptInfo.Gateway ); // 網關
StringToIPAddr(_T(‘255.255.255.0’), &AdptInfo.SubnetMask );// 子網掩碼
SetNetWorkAdapterInfo( AdpName, &AdptInfo ); // 設置生效
。
-
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35295
發布評論請先 登錄
相關推薦
評論