性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

嵌入式設備配網:從基礎到實戰(zhàn)!

當下,很多嵌入式設備都需要通過配網來與網絡連接,從而實現(xiàn)遠程控制、數(shù)據(jù)傳輸?shù)裙δ堋?/span>

下面,我們就來深入了解一下嵌入式設備配網的相關知識。

一、熱門配網方案解析

配網方式有多種,常見的有:

1、smartconfig

smartconfig配網的原理是利用手機等終端設備將網絡信息(SSID 和密碼等信息)通過廣播的方式發(fā)送出去,嵌入式設備通過監(jiān)聽周圍的無線信號,解析出網絡信息,從而實現(xiàn)配網。

smartconfig配網設備創(chuàng)建熱點,設備直接從周圍的無線環(huán)境中獲取網絡信息,操作更加簡便。

  • 優(yōu)點:操作簡單,用戶體驗好;適用于各種復雜的網絡環(huán)境。
  • 缺點:對設備的無線接收能力要求較高,可能存在信息解析失敗的情況。
  • 適用場景:廣泛應用于各類智能設備,如智能攝像頭、智能音箱等。

2、SoftAP

AP(Access Point)模式配網,也稱為熱點模式配網。其原理是嵌入式設備自身創(chuàng)建一個無線熱點,用戶通過手機或其他終端設備連接到這個熱點,然后在終端設備上輸入目標網絡(如家庭 WiFi)的信息,設備接收到這些信息后,就會嘗試連接到目標網絡。

  • 優(yōu)點:簡單直接,不需要額外的網絡環(huán)境支持。
  • 缺點:每次配網都需要設備進入 AP 模式,操作相對繁瑣;設備創(chuàng)建的熱點覆蓋范圍有限。
  • 適用場景:適用于小型、簡單的嵌入式設備,如智能插座、智能燈泡等。

3、Combo配網模式

Combo 配網模式融合了多種配網方式的優(yōu)勢,其中 WiFi、藍牙配網方式憑借其獨特的組合,為用戶帶來了高效且穩(wěn)定的配網體驗。其核心在于設備同時搭載 WiFi 及藍牙模塊,APP 借助藍牙將設備所需連接的路由器 SSID 及密碼發(fā)送給設備。

  • 優(yōu)點:藍牙技術在近距離通信上具有穩(wěn)定性高、功耗低的特點,能有效避免無線信號干擾,確保網絡信息準確傳輸;而 WiFi 則負責設備后續(xù)的高速網絡連接,保障數(shù)據(jù)傳輸效率。兩者結合,不僅提升了配網成功率,還降低了用戶手動輸入信息的錯誤率,簡化了操作步驟。
  • 缺點:設備需集成兩種通信模塊,增加了硬件成本和設備功耗,同時也對軟件的兼容性和穩(wěn)定性提出了更高要求。
  • 適用場景:適用于對配網穩(wěn)定性和用戶體驗要求較高的中高端嵌入式設備,智能家庭中樞、智能穿戴設備等。

4、其它

NFC 配網:利用 NFC(Near Field Communication)技術,通過近距離接觸來傳輸網絡信息。用戶只需將支持 NFC 的手機靠近嵌入式設備,手機就會將網絡信息傳輸給設備,實現(xiàn)快速配網。例如,一些智能門鎖就支持 NFC 配網,用戶在安裝門鎖時,通過手機的 NFC 功能即可輕松完成配網。

聲波識別配網:將網絡信息編碼成特定頻率的聲波,通過手機等設備播放出來,嵌入式設備通過麥克風接收聲波并解析出網絡信息。這種方式在一些對無線信號敏感的環(huán)境中具有一定的優(yōu)勢,如醫(yī)院、工廠等。

二、WiFi相關知識

WiFi 的起源可以追溯到上世紀 90 年代,它是基于 IEEE 802.11 標準的無線局域網技術。

1、802.11 協(xié)議標準

802.11 協(xié)議族包含了多個成員,如 802.11a、802.11b、802.11g、802.11n、802.11ac、802.11ax(WiFi 6)等。

不同后綴的標準在工作頻段和傳輸速率上存在差異。例如,802.11a 工作在 5G 頻段,傳輸速率最高可達 54Mbps;802.11b 工作在 2.4G 頻段,傳輸速率最高可達 11Mbps。

802.11 協(xié)議族部分成員關系:

2、WiFi 相關術語

WiFi 相關術語很多,相互關聯(lián)構成完整體系。

  • LAN(Local Area Network):局域網,是在有限范圍內(如一個辦公室、一棟樓)建立的計算機網絡,用于實現(xiàn)設備之間的通信和資源共享。
  • WAN(Wide Area Network):廣域網,覆蓋范圍較大,通常用于連接不同的局域網,實現(xiàn)更大范圍的網絡通信。
  • Band(頻段):指 WiFi 工作的頻率范圍,常見的有 2.4G 頻段和 5G 頻段。
  • Channel(信道):在頻段內劃分的不同頻率范圍,用于無線信號的傳輸。
  • Channel Width(信道寬度):指信道占用的頻率帶寬,不同的 802.11 標準支持不同的信道寬度,如 20MHz、40MHz、80MHz 等。
  • 無線 AP(Access Point):無線接入點,是一種無線網絡設備,用于將無線客戶端連接到有線網絡,起到橋梁的作用。
  • Station(STA):無線客戶端,如手機、筆記本電腦等設備,通過無線方式連接到無線 AP。
  • SSID(Service Set Identifier):服務集標識符,即無線網絡的名稱,用戶通過搜索 SSID 來找到并連接到相應的無線網絡。
  • BSSID(Basic Service Set Identifier):基本服務集標識符,是無線 AP 的 MAC 地址,用于唯一標識一個無線 AP。
  • BSS(Basic Service Set):基本服務集,由一個無線 AP 和與其連接的所有無線客戶端組成的網絡。
  • MAC(Media Access Control):媒體訪問控制,是網絡設備的物理地址,用于在數(shù)據(jù)鏈路層進行設備識別。

3、WiFi 信道與頻段

三、配網實踐

SmartLink是一個在Linux下實現(xiàn)的smartconfig。手機發(fā)送UDP廣播報文,待配網設備掃描所有的可用無線信道,找到發(fā)送smartConfig的報文,并鎖定在這一信道上開始接受數(shù)據(jù)。

倉庫鏈接:

https://github.com/jolin90/smartconfig

1、相關知識補充

(1)網卡工作模式

  • 廣播模式:物理地址(MAC)是0Xffffff的幀為廣播幀,工作在廣播模式的網卡接收廣播幀。
  • 多播模式:如果將網卡設置為多播模式,它可以接收所有的多播傳送幀,而不論他是不是組內成員。
  • 直接模式:只接收目的地址是自己MAC地址的幀。
  • 混雜模式:工作在混雜模式下的網卡接收所有流經網卡的幀。

查看、設置、取消混雜模式命令如:

ifconfig wlan0 #查看wlan0是否為混雜模式
ifconfig wlan0 promisc #設置wlan0為混雜模式
ifconfig wlan0 -promisc #取消wlan0混雜模式

(2)通信方式

通信方式分類:

  • 單播:單臺主機與單臺主機之間的通信;
  • 廣播:單臺主機與網絡中所有主機的通信;
  • 組播:單臺主機與選定的一組主機的通信;

IP 網絡的組播一般通過組播 IP 地址來實現(xiàn),組播 IP 地址就是 D 類 IP 地址,即 224.0.0.0 至 239.255.255.255 之間的IP地址。

2、SmartLink使用

下載得到:

我們使用arm板子來做實驗。首先,需要交叉編譯,執(zhí)行命令:

make CC=arm-linux-gnueabihf-gcc

把編譯生成的smartlink可執(zhí)行程序傳到板子里。運行時需要跟上接口的名稱。如:

./smartlink wlan0

然后執(zhí)行如下命令重新編譯:

make cleanmake

生成的mcast_app可執(zhí)行程序在pc上運行,模擬手機APP發(fā)送。運行時需要傳入WiFi名稱及密碼。如:

./mcast_app Tenda_552F18 0987654321

測試時需要先運行mcast_app,再運行smartlink。smartlink收到WiFi名稱及密碼時會打印出來。

運行結果如:

這里,使用mcast_app來模擬手機APP。smartlink也提供了一個簡易的安卓手機APP,也可以使用APP進行測試:

3、SmartLink組播包協(xié)議分析

上面演示了SmartLink的使用,下面簡單介紹一些SmartLink的組播包協(xié)議。

APP發(fā)送特定協(xié)議的組播包數(shù)據(jù)給設備,設備收到后進行解析獲取路由器SSID及密碼。其協(xié)議如:

每個數(shù)據(jù)包6個字節(jié),

  • 第1~3字節(jié):組播包地址,為固定值0x01 0x00 0x5e。
  • 第4字節(jié):數(shù)據(jù)包序號。
  • 第5字節(jié):指定數(shù)據(jù)。
  • 第6個字節(jié):指定數(shù)據(jù)。

每次傳輸若干字節(jié)。舉例說明:

SSID為"TP-LINK_hys" ,PSW為"12345678",發(fā)送組播地址如下:

0x01 0x00 0x5e 0x00  0x48  0x35
0x01 0x00 0x5e 0x01  0x68  0x2b
0x01 0x00 0x5e 0x02  0x5c  0x31
0x01 0x00 0x5e 0x03  0x0b  0x08
0x01 0x00 0x5e 0x04  'T'  '1'
0x01 0x00 0x5e 0x05  'P'  '2'
0x01 0x00 0x5e 0x06  '-'  '3'
0x01 0x00 0x5e 0x07  'L'  '4'
0x01 0x00 0x5e 0x08  'I'  '5'
0x01 0x00 0x5e 0x09  'N'  '6'
0x01 0x00 0x5e 0x0a  'K'  '7'
0x01 0x00 0x5e 0x0b  '_'  '8'
0x01 0x00 0x5e 0x0c  'h'  0x00
0x01 0x00 0x5e 0x0d  'y'  0x00
0x01 0x00 0x5e 0x0e  's'  0x00
0x01 0x00 0x5e 0x40  0x1c  0x03

其中:

(1)第1~3包數(shù)據(jù),為特征碼包,后三個字節(jié)由組播IP映射為為組播MAC。取組播IP的后23位作為MAC,映射圖如:

圖片來源:jasonj33的博客

組播地址相關介紹可閱讀博文:

https://blog.csdn.net/wjz110201/article/details/114628203

這里,手機APP設置的組播IP固定如:

#define IPADDR_KEY0 "224.0.72.53"   /*key0:01:00:5e:00:48:35 */
#define IPADDR_KEY1 "224.1.104.43"  /*key1:01:00:5e:01:68:2b */
#define IPADDR_KEY2 "224.2.92.49"   /*key2:01:00:5e:02:5c:31 */

組播IP映射為組播MAXC,得到:

(2)第4包數(shù)據(jù)放的是SSID及PSW的長度。

(3)第5~15包數(shù)據(jù)放的則是SSID及PSW。

(4)第16包數(shù)據(jù)為校驗碼,采用連續(xù)異或校驗的方式:

Crc=Crc^0x01^(byte)0x5e^0x40
聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 3
收藏 3
關注 28
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧