Matter 是基于(yú)互聯网(wǎng)協议 (Internet Protocol, IP) 定(dìng)義的(de)通(tòng)用(yòng)應(yìng)用(yòng)层(céng)。因(yīn)此(cǐ),無論底层(céng)采用(yòng)何種(zhǒng) IP 网(wǎng)絡協议,Matter 應(yìng)用(yòng)层(céng)都能(néng)夠保證设備間(jiān)的(de)互操作(zuò)性(xìng)。在(zài)即将发布(bù)的(de)第(dì)一(yī)版 Matter 協议中(zhōng),它(tā)将首先(xiān)支持(chí)以(yǐ)太网(wǎng)、Wi-Fi 和(hé) Thread 网(wǎng)絡協议。

Matter 的(de)協议层(céng)结构
以(yǐ)太网(wǎng)和(hé) Wi-Fi 都是众所(suǒ)周知的(de)网(wǎng)絡協议,而(ér) Thread 則是一(yī)个(gè)比較新(xīn)的(de)概念。
簡單来(lái)说(shuō),Thread 是一(yī)套(tào)基于(yú) IPv6 的(de)低(dī)功耗 mesh 网(wǎng)絡協议,常用(yòng)于(yú)物(wù)聯网(wǎng)产品。Thread 協议是基于(yú) IEEE 802.15.4 技術(shù),因(yīn)此(cǐ) Thread 网(wǎng)絡中(zhōng)的(de)设備無法直(zhí)接與(yǔ) Wi-Fi 或(huò)以(yǐ)太网(wǎng)设備通(tòng)信(xìn)。为(wèi)了(le)使 Thread 设備與(yǔ)其(qí)他(tā)网(wǎng)絡中(zhōng)的(de)设備互聯,我(wǒ)们(men)需要(yào)在(zài) Matter 的(de)拓撲结构中(zhōng)增加一(yī)个(gè)特(tè)殊设備:Thread 邊(biān)界路(lù)由(yóu)器。
下(xià)图(tú)展(zhǎn)示了(le)典型的(de) Matter 協议拓撲结构:

Matter 拓撲结构
在(zài)本(běn)地(dì)网(wǎng)絡中(zhōng)實(shí)现设備的(de)端到(dào)端通(tòng)信(xìn)是 Matter 的(de)關(guān)鍵特(tè)点之(zhī)一(yī)。它(tā)支持(chí)设備跨以(yǐ)太网(wǎng)、Wi-Fi 和(hé) Thread 网(wǎng)絡進(jìn)行通(tòng)信(xìn)。例如(rú),一(yī)个(gè) Thread Matter 開(kāi)關(guān)可(kě)以(yǐ)控制一(yī)个(gè) Wi-Fi Matter 燈(dēng)泡;同理(lǐ),一(yī)个(gè) Wi-Fi Matter 開(kāi)關(guān)也(yě)可(kě)以(yǐ)控制一(yī)个(gè) Thread Matter 燈(dēng)泡,而(ér)且(qiě)这(zhè)些过(guò)程均無需借助手(shǒu)機(jī) App、雲(yún)或(huò)其(qí)他(tā)特(tè)别操作(zuò)。
接下(xià)来(lái),我(wǒ)们(men)将通(tòng)过(guò)一(yī)个(gè)由(yóu) Thread 邊(biān)界路(lù)由(yóu)器連(lián)接 Wi-Fi 和(hé) Thread 设備的(de)例子,介紹 Thread 邊(biān)界路(lù)由(yóu)器如(rú)何支持(chí) Matter 協议中(zhōng)的(de) (a) 双(shuāng)向(xiàng)連(lián)接和(hé) (b) 服(fú)務(wù)发现功能(néng)。
双(shuāng)向(xiàng)連(lián)接
Thread 邊(biān)界路(lù)由(yóu)器負責在(zài) Wi-Fi 和(hé) Thread 网(wǎng)絡之(zhī)間(jiān)轉(zhuǎn)发 IP 幀。與(yǔ)网(wǎng)關(guān)/橋(qiáo)接设備不(bù)同的(de)是,Thread 邊(biān)界路(lù)由(yóu)器僅需專注于(yú)處(chù)理(lǐ) IP 层(céng)的(de)通(tòng)信(xìn),而(ér)無需考慮應(yìng)用(yòng)层(céng)的(de)數據(jù)內(nèi)容,或(huò)處(chù)理(lǐ)應(yìng)用(yòng)层(céng)交互。
Thread 网(wǎng)絡的(de)單播尋址有(yǒu)三(sān)个(gè)作(zuò)用(yòng)域:
- Link-Local:僅用(yòng)于(yú)單跳通(tòng)信(xìn)
- Mesh-Local:用(yòng)于(yú)本(běn)地(dì) Thread 网(wǎng)絡內(nèi)的(de)通(tòng)信(xìn)
- Global:用(yòng)于(yú)與(yǔ) Thread 网(wǎng)絡之(zhī)外(wài)的(de)设備通(tòng)信(xìn)
Thread 邊(biān)界路(lù)由(yóu)器为(wèi)其(qí)所(suǒ)在(zài) Thread 网(wǎng)絡配置 OMR (Off-Mesh Routable) Prefix,每个(gè) Thread 设備相應(yìng)添加一(yī)个(gè) OMR 地(dì)址作(zuò)为(wèi)全(quán)局(jú)單播地(dì)址。Thread 邊(biān)界路(lù)由(yóu)器通(tòng)过(guò)向(xiàng) Wi-Fi 网(wǎng)絡发送包(bāo)含 IPv6 Route Information Option (RIO) 的(de) Router Advertisement (RA) 數據(jù)幀,来(lái)宣布(bù)此(cǐ) OMR Prefix 可(kě)抵达(dá) Thread 网(wǎng)絡。
同理(lǐ),Thread 邊(biān)界路(lù)由(yóu)器也(yě)会(huì)通(tòng)知 Thread 网(wǎng)絡设備,通(tòng)往 Wi-Fi 网(wǎng)絡的(de)路(lù)由(yóu)信(xìn)息。这(zhè)个(gè)过(guò)程中(zhōng),路(lù)由(yóu)信(xìn)息是通(tòng)过(guò) Thread Network Data 在(zài) Thread 网(wǎng)絡中(zhōng)傳播,而(ér)非(fēi)使用(yòng) IPv6 Neighbor Discovery 協议。

Thread 邊(biān)界路(lù)由(yóu)器的(de)双(shuāng)向(xiàng)連(lián)接
此(cǐ)时(shí),Thread 和(hé) Wi-Fi 网(wǎng)絡中(zhōng)的(de)设備都已经知道(dào)可(kě)以(yǐ)通(tòng)过(guò) Thread 邊(biān)界路(lù)由(yóu)器轉(zhuǎn)发, 並(bìng)通(tòng)往对(duì)方(fāng)网(wǎng)絡的(de)路(lù)由(yóu)信(xìn)息。
服(fú)務(wù)发现
Matter 采用(yòng)标(biāo)準的(de)基于(yú) DNS 的(de)服(fú)務(wù)发现 (DNS-Based Service Discovery, DNS-SD) 協议,進(jìn)行服(fú)務(wù)廣播和(hé)发现。在(zài) Wi-Fi 和(hé)以(yǐ)太网(wǎng)絡中(zhōng),DNS-SD 協议使用(yòng)多(duō)播 DNS (mDNS) 方(fāng)式。
然而(ér),多(duō)播和(hé)廣播在(zài) Thread 等低(dī)功耗 mesh 网(wǎng)絡中(zhōng)的(de)效率並(bìng)不(bù)高(gāo)。因(yīn)此(cǐ) Thread 特(tè)别引入(rù)了(le)服(fú)務(wù)注册(cè)協议 (Service Registry Protocol, SRP),通(tòng)过(guò)單播進(jìn)行服(fú)務(wù)发现。

Thread 邊(biān)界路(lù)由(yóu)器的(de)服(fú)務(wù)发现
通(tòng)常情(qíng)況下(xià),Thread 邊(biān)界路(lù)由(yóu)器充當 SRP 服(fú)務(wù)器和(hé)代(dài)理(lǐ) (Advertising Proxy):Thread 设備向(xiàng) Thread 邊(biān)界路(lù)由(yóu)器注册(cè)自(zì)己的(de)服(fú)務(wù),接着 Thread 邊(biān)界路(lù)由(yóu)器通(tòng)过(guò)多(duō)播 DNS 向(xiàng) Wi-Fi 网(wǎng)絡廣播所(suǒ)有(yǒu) Thread 设備的(de)服(fú)務(wù)信(xìn)息。
Thread 邊(biān)界路(lù)由(yóu)器还實(shí)现了(le) DNS-SD 发现代(dài)理(lǐ) (Discovery Proxy),这(zhè)樣(yàng) Thread 设備也(yě)可(kě)以(yǐ)发现 Wi-Fi 网(wǎng)絡中(zhōng)的(de)服(fú)務(wù)。
乐(lè)鑫 Thread 邊(biān)界路(lù)由(yóu)器解(jiě)決方(fāng)案(àn)
乐(lè)鑫自(zì) Matter 发起(qǐ)之(zhī)初就(jiù)積极(jí)加入(rù)並(bìng)開(kāi)发 Matter 項目,现已能(néng)夠为(wèi)用(yòng)戶提(tí)供全(quán)功能(néng)的(de) Matter 協议解(jiě)決方(fāng)案(àn),包(bāo)括使用(yòng) Wi-Fi/Thread 連(lián)接的(de) Matter 終(zhōng)端设備,以(yǐ)及(jí)使用(yòng)乐(lè)鑫 SoC 组合搭建的(de) Thread 邊(biān)界路(lù)由(yóu)器/Zigbee 橋(qiáo)接设備。
Thread 邊(biān)界路(lù)由(yóu)器示例和(hé) SDK 现已对(duì)用(yòng)戶開(kāi)放(fàng)。本(běn)示例中(zhōng),用(yòng)戶需要(yào)通(tòng)过(guò) UART 或(huò) SPI 将一(yī)颗 Wi-Fi 芯片(piàn)和(hé)一(yī)颗 802.15.4 芯片(piàn)相連(lián)。

