国产电影一区二区三区,,欧美大片免费观看,伊人久久大香线蕉av,国产日韩成人内射视频

嵌入式設備配網:從基礎到實戰!

當下,很(hen)多嵌入式(shi)設備都需(xu)要通過配網(wang)來與網(wang)絡連接(jie),從而實現遠程(cheng)控制、數據傳(chuan)輸(shu)等(deng)功能。

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

一、熱門配網方案(an)解析(xi)

配網方式有(you)多種,常見的(de)有(you):

1、smartconfig

smartconfig配網(wang)(wang)的(de)原理(li)是(shi)利用手機(ji)等終端設備將(jiang)網(wang)(wang)絡信息(xi)(SSID 和密(mi)碼等信息(xi))通過廣播的(de)方式(shi)發送(song)出去,嵌入(ru)式(shi)設備通過監聽周圍的(de)無線信號(hao),解析出網(wang)(wang)絡信息(xi),從而(er)實現配網(wang)(wang)。

smartconfig配網設備創建熱(re)點(dian),設備直接從周圍(wei)的無線環境(jing)中獲取網絡信(xin)息,操作更加簡便。

  • 優點(dian):操作(zuo)簡單,用(yong)戶體驗好(hao);適(shi)用(yong)于(yu)各(ge)種(zhong)復雜的網(wang)絡環境。
  • 缺點:對設備的無線接收能力(li)要求較(jiao)高,可能存在(zai)信息解(jie)析失敗的情況。
  • 適用場景:廣泛應用于各類智(zhi)(zhi)能設備,如(ru)智(zhi)(zhi)能攝像頭(tou)、智(zhi)(zhi)能音箱等。

2、SoftAP

AP(Access Point)模(mo)(mo)式配(pei)網,也稱為熱點(dian)模(mo)(mo)式配(pei)網。其原(yuan)理是(shi)嵌入式設(she)備自身創建一個無(wu)線(xian)熱點(dian),用戶通過手機或其他(ta)終(zhong)端(duan)(duan)設(she)備連接到(dao)這(zhe)個熱點(dian),然后(hou)在終(zhong)端(duan)(duan)設(she)備上(shang)輸入目標網絡(luo)(如家庭 WiFi)的(de)信(xin)息(xi),設(she)備接收到(dao)這(zhe)些信(xin)息(xi)后(hou),就會嘗試(shi)連接到(dao)目標網絡(luo)。

  • 優(you)點:簡(jian)單直(zhi)接,不需要額外的(de)網絡(luo)環境支持。
  • 缺點:每次(ci)配網(wang)都需要設備進入(ru) AP 模式,操(cao)作相對繁瑣;設備創建的熱(re)點覆蓋范圍(wei)有限。
  • 適用(yong)場景:適用(yong)于小型、簡單的嵌入(ru)式設(she)備(bei),如(ru)智能插座、智能燈泡等。

3、Combo配網模式

Combo 配(pei)(pei)網(wang)模式融合了多(duo)種配(pei)(pei)網(wang)方式的(de)優勢(shi),其中 WiFi、藍(lan)牙(ya)(ya)配(pei)(pei)網(wang)方式憑借其獨特(te)的(de)組(zu)合,為(wei)用戶帶來了高效且(qie)穩定的(de)配(pei)(pei)網(wang)體驗。其核心在于設備同時搭(da)載 WiFi 及藍(lan)牙(ya)(ya)模塊,APP 借助藍(lan)牙(ya)(ya)將設備所需(xu)連接的(de)路由器 SSID 及密碼發送給設備。

  • 優點:藍牙(ya)技(ji)術在近距離(li)通信上具(ju)有穩定性高、功耗低的(de)特點,能有效(xiao)避免無線信號(hao)干(gan)擾(rao),確保網(wang)絡(luo)信息(xi)準確傳(chuan)輸;而 WiFi 則負責設(she)備后(hou)續的(de)高速網(wang)絡(luo)連接,保障數據(ju)傳(chuan)輸效(xiao)率。兩者結(jie)合,不僅提(ti)升了配網(wang)成功率,還降低了用戶手動輸入信息(xi)的(de)錯誤率,簡化了操作步驟。
  • 缺點(dian):設備需集(ji)成兩種通信模塊,增加(jia)了硬(ying)件成本和(he)設備功耗,同時也對(dui)軟件的(de)兼容性(xing)和(he)穩(wen)定性(xing)提出了更高(gao)要求(qiu)。
  • 適(shi)用場景:適(shi)用于對(dui)配網穩定性和(he)用戶體驗(yan)要求較(jiao)高(gao)的中高(gao)端嵌入式設(she)(she)備(bei),智(zhi)(zhi)能家庭中樞(shu)、智(zhi)(zhi)能穿(chuan)戴設(she)(she)備(bei)等。

4、其它

NFC 配(pei)網:利用(yong) NFC(Near Field Communication)技術,通過(guo)近距離(li)接觸來傳(chuan)(chuan)輸網(wang)絡信息。用(yong)戶(hu)只(zhi)需將(jiang)支持(chi) NFC 的(de)手(shou)(shou)機(ji)(ji)靠近嵌(qian)入式設備(bei),手(shou)(shou)機(ji)(ji)就會將(jiang)網(wang)絡信息傳(chuan)(chuan)輸給設備(bei),實現快速配網(wang)。例如(ru),一些智能門鎖就支持(chi) NFC 配網(wang),用(yong)戶(hu)在安裝(zhuang)門鎖時,通過(guo)手(shou)(shou)機(ji)(ji)的(de) NFC 功能即可輕松完成配網(wang)。

聲(sheng)波識別配網:將網絡(luo)信(xin)(xin)息編(bian)碼(ma)成特(te)定頻率的聲波,通過手機等(deng)設備播(bo)放(fang)出來,嵌入式(shi)設備通過麥克風(feng)接(jie)收聲波并解析(xi)出網絡(luo)信(xin)(xin)息。這種方(fang)式(shi)在(zai)一(yi)些對無線信(xin)(xin)號敏感的環境中具有一(yi)定的優(you)勢,如醫院、工(gong)廠等(deng)。

二、WiFi相關知識(shi)

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

1、802.11 協議(yi)標準

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

不同后(hou)綴的標準在(zai)工(gong)(gong)作(zuo)(zuo)頻(pin)(pin)段(duan)和傳輸(shu)速(su)率上存在(zai)差(cha)異。例如(ru),802.11a 工(gong)(gong)作(zuo)(zuo)在(zai) 5G 頻(pin)(pin)段(duan),傳輸(shu)速(su)率最(zui)(zui)高可達 54Mbps;802.11b 工(gong)(gong)作(zuo)(zuo)在(zai) 2.4G 頻(pin)(pin)段(duan),傳輸(shu)速(su)率最(zui)(zui)高可達 11Mbps。

802.11 協議(yi)族部分成員(yuan)關系:

2、WiFi 相關術語

WiFi 相關(guan)術(shu)語很多,相互關(guan)聯構成(cheng)完(wan)整體系。

  • LAN(Local Area Network):局(ju)域網,是(shi)在有限范(fan)圍(wei)內(如一(yi)(yi)個辦公室、一(yi)(yi)棟樓)建立的計算機(ji)網絡,用于實現設備之間的通信和資源(yuan)共享。
  • WAN(Wide Area Network):廣(guang)域網,覆蓋范(fan)(fan)圍較大,通常用于連接不同的局域網,實現更大范(fan)(fan)圍的網絡(luo)通信(xin)。
  • Band(頻段):指(zhi) WiFi 工作的頻(pin)率范圍,常(chang)見的有 2.4G 頻(pin)段和 5G 頻(pin)段。
  • Channel(信(xin)道):在頻段內劃分的不同(tong)頻率范(fan)圍,用于無線信號的傳輸。
  • Channel Width(信(xin)道寬度):指信道占用的頻率帶寬,不同的 802.11 標(biao)準(zhun)支持不同的信道寬度(du),如 20MHz、40MHz、80MHz 等。
  • 無線 AP(Access Point):無線(xian)接入(ru)點,是一種無線(xian)網絡設備,用于將無線(xian)客戶端連接到有線(xian)網絡,起到橋梁的作用。
  • Station(STA):無線(xian)(xian)客戶端,如手機(ji)、筆記(ji)本電腦(nao)等(deng)設備(bei),通過無線(xian)(xian)方式連接到無線(xian)(xian) AP。
  • SSID(Service Set Identifier):服(fu)務集標識符,即無線(xian)網(wang)絡(luo)(luo)的名(ming)稱,用(yong)戶(hu)通(tong)過搜(sou)索 SSID 來找到并(bing)連接到相應的無線(xian)網(wang)絡(luo)(luo)。
  • BSSID(Basic Service Set Identifier):基本(ben)服務集標(biao)識符,是無(wu)(wu)線 AP 的 MAC 地址(zhi),用于(yu)唯(wei)一標(biao)識一個無(wu)(wu)線 AP。
  • BSS(Basic Service Set):基(ji)本服務集,由一個無(wu)線(xian) AP 和與其連接的(de)所有無(wu)線(xian)客戶(hu)端組成的(de)網絡。
  • MAC(Media Access Control):媒體(ti)訪問控(kong)制,是(shi)網絡設(she)備(bei)的物理地址,用(yong)于在(zai)數(shu)據鏈(lian)路層(ceng)進行設(she)備(bei)識別(bie)。

3、WiFi 信道與頻段

三、配網(wang)實踐

SmartLink是一個(ge)在Linux下實現的(de)smartconfig。手機發送UDP廣播報(bao)文(wen),待配網設(she)備掃描所有的(de)可用無(wu)線信(xin)道,找(zhao)到發送smartConfig的(de)報(bao)文(wen),并鎖定在這一信(xin)道上開始接受(shou)數據。

倉庫鏈接(jie):

//github.com/jolin90/smartconfig

1、相(xiang)關知識補(bu)充

(1)網卡工作模式

  • 廣(guang)(guang)播模式:物理地址(MAC)是0Xffffff的(de)幀為廣(guang)(guang)播幀,工作(zuo)在廣(guang)(guang)播模式的(de)網卡接收廣(guang)(guang)播幀。
  • 多(duo)(duo)播(bo)(bo)模(mo)(mo)式(shi)(shi):如果將網(wang)卡設(she)置為(wei)多(duo)(duo)播(bo)(bo)模(mo)(mo)式(shi)(shi),它(ta)可(ke)以接收所有的多(duo)(duo)播(bo)(bo)傳(chuan)送(song)幀,而不論他是(shi)(shi)不是(shi)(shi)組內(nei)成員。
  • 直接(jie)(jie)模(mo)式(shi):只(zhi)接(jie)(jie)收目的地址(zhi)是自(zi)己MAC地址(zhi)的幀。
  • 混雜模式:工作(zuo)在(zai)混雜模式下(xia)的網卡接收所有流(liu)經網卡的幀。

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

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

(2)通信方式(shi)

通信方式(shi)分類(lei):

  • 單播:單臺主機與單臺主機之間的通信;
  • 廣播:單臺主機(ji)與網絡中所有主機(ji)的通信(xin);
  • 組播(bo):單(dan)臺主(zhu)機與選定(ding)的一組主(zhu)機的通信;

IP 網絡的(de)組播一(yi)般通過組播 IP 地(di)址(zhi)(zhi)來(lai)實現,組播 IP 地(di)址(zhi)(zhi)就是 D 類 IP 地(di)址(zhi)(zhi),即(ji) 224.0.0.0 至 239.255.255.255 之間的(de)IP地(di)址(zhi)(zhi)。

2、SmartLink使用

下載得到:

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

make CC=arm-linux-gnueabihf-gcc

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

./smartlink wlan0

然后執行如下(xia)命令重新(xin)編譯:

make cleanmake

生成(cheng)的mcast_app可執行(xing)程序(xu)在pc上運(yun)行(xing),模擬手機APP發送(song)。運(yun)行(xing)時需(xu)要(yao)傳入WiFi名稱(cheng)及密碼。如:

./mcast_app Tenda_552F18 0987654321

測試(shi)時(shi)需要(yao)先運行mcast_app,再運行smartlink。smartlink收到WiFi名(ming)稱及(ji)密(mi)碼時(shi)會(hui)打印出來。

運(yun)行(xing)結(jie)果如:

這(zhe)里,使用(yong)mcast_app來(lai)模擬手(shou)機(ji)APP。smartlink也(ye)提供了一個簡易(yi)的安卓(zhuo)手(shou)機(ji)APP,也(ye)可(ke)以(yi)使用(yong)APP進(jin)行測(ce)試:

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

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

APP發(fa)送特定協議的組播包(bao)數據給設備,設備收到后進行(xing)解析獲取(qu)路由器SSID及密(mi)碼。其協議如:

每個數據包6個字節,

  • 第1~3字節:組播(bo)包地址,為固定值0x01 0x00 0x5e。
  • 第4字節:數據(ju)包序號。
  • 第5字節:指(zhi)定數據。
  • 第6個字(zi)節:指(zhi)定數據。

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

SSID為(wei)(wei)"TP-LINK_hys" ,PSW為(wei)(wei)"12345678",發(fa)送組(zu)播(bo)地址如下:

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

其中(zhong):

(1)第(di)1~3包數據,為特征碼包,后三個字(zi)節由組播(bo)IP映射為為組播(bo)MAC。取組播(bo)IP的(de)后23位(wei)作為MAC,映射圖如:

圖片來源:jasonj33的博客(ke)

組播(bo)地址(zhi)相關介紹可閱讀(du)博文:

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

這(zhe)里,手機(ji)APP設置的(de)組(zu)播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 */

組(zu)播(bo)IP映(ying)射為組(zu)播(bo)MAXC,得(de)到:

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

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

(4)第16包數據為(wei)校驗碼,采(cai)用連續異或校驗的方式:

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