AliOS Things网络连接技术概述
摘要: AliOS Things具有非常豐富的連接組件和能力,主要包括: 自組織網(wǎng)絡(luò)協(xié)議(uMesh), 套接字適配層(SAL),TCP/IP網(wǎng)絡(luò)協(xié)議棧(LwIP)和連接協(xié)議(WiFi,BLE, LoRaWAN, GPRS和NB-IoT等)
AliOS Things 是 AliOS 家族旗下的、面向 IoT 領(lǐng)域的、輕量級(jí)物聯(lián)網(wǎng)嵌入式操作系統(tǒng)。 AliOS Things 致力于搭建云端一體化 IoT 基礎(chǔ)設(shè)施,具備極致性能、極簡(jiǎn)開(kāi)發(fā)、云端一體、豐富組件、安全防護(hù)等關(guān)鍵能力,并支持終端設(shè)備連接到阿里云 Link,可廣泛應(yīng)用在智能家居、智慧城市、新出行等領(lǐng)域。
AliOS Things不僅是一個(gè)傳統(tǒng)的RTOS,而是一個(gè)具有豐富組件的,云端一體的運(yùn)行在嵌入式MCU上的嵌入式操作系統(tǒng)。它具有豐富的連接組件和能力,主要包括:
自組織網(wǎng)絡(luò)協(xié)議(uMesh)
套接字適配層(SAL)
TCP/IP網(wǎng)絡(luò)協(xié)議棧(LwIP)
連接協(xié)議(WiFi,BLE, LoRaWAN, GPRS和NB-IoT)
自組織網(wǎng)絡(luò)(uMesh),套接字適配層(SAL)和TCP/IP網(wǎng)絡(luò)協(xié)議棧(LwIP)主要是功能和使用場(chǎng)景的介紹。連接協(xié)議部分除了功能性介紹,還會(huì)根據(jù)場(chǎng)景給出AliOSThings網(wǎng)絡(luò)組件的建議使用方法。
自組織網(wǎng)絡(luò)
AliOS Things核心組件之一uMesh提供了AliOS Things原生自組織網(wǎng)絡(luò)能力,提供了AliOS Things本地互聯(lián)互通的能力。uMesh具有自組織、自修復(fù)、多跳的特性。適用于需要大規(guī)模部署的場(chǎng)景。主要功能特性包括:
無(wú)縫支持IPv4 和IPv6
支持WiFi、BLE和802.15.4等通信媒介
支持不同通信媒介間的異構(gòu)組網(wǎng)
支持樹(shù)狀拓?fù)浜途W(wǎng)狀拓?fù)?
支持低功耗特性
使用ID2對(duì)設(shè)備進(jìn)行認(rèn)證,AES-128對(duì)數(shù)據(jù)進(jìn)行加密
uMesh自組織網(wǎng)絡(luò)協(xié)議位于MAC層之上,及IP層之下。整個(gè)協(xié)議包括三個(gè)部分,協(xié)議核心部分,連接協(xié)議抽象層,及IP協(xié)議適配層。如下圖所示。
uMesh適用于需要大規(guī)模部署的場(chǎng)景,如室內(nèi)定位,智能照明,及商業(yè)場(chǎng)景。目前,主要支持WiFi,正在開(kāi)發(fā)對(duì)低功耗和BLE mesh的支持。
套接字適配層
AliOS Things為了能夠適配不同的連接協(xié)議,和不同連接芯片的能力,提供了SAL開(kāi)發(fā)組件,來(lái)加速M(fèi)CU+通信連接芯片的應(yīng)用場(chǎng)景開(kāi)發(fā)和部署。在此類(lèi)應(yīng)用場(chǎng)景中,主控MCU芯片通過(guò)UART或SPI總線與WiFi、NB-IoT等通信芯片相連,AliOS Things操作系統(tǒng)和用戶APP運(yùn)行在主控MCU中,需要網(wǎng)絡(luò)數(shù)據(jù)訪問(wèn)時(shí),通過(guò)外接的通信芯片進(jìn)行網(wǎng)絡(luò)負(fù)載的接收和發(fā)射。主控MCU和外接通信芯片之間的通信,可以是AT Command通道,也可以是廠商私有協(xié)議通道。主要設(shè)計(jì)方案如下圖。
IP網(wǎng)絡(luò)協(xié)議棧
AliOS Things IP網(wǎng)絡(luò)協(xié)議棧是基于LwIP 2.0.0,深度定制和優(yōu)化的TCP/IP協(xié)議棧,主要功能特性包括:
IPv4
IPv6
ICMP (Internet Control Message Protocol)
UDP (User Datagram Protocol)
TCP(Transport Control Protocol)
ARP (Address Resolution Protocol)
NDP(Neighbor Discovery Protocol)
MLD (Multicast Listener Protocol)
IGMP (Internet Group Management Protocol)
DHCP client
TFTP Server
TFTP Client
除了上述提供的功能特性,還對(duì)TCP/IP協(xié)議棧在多并發(fā)連接,大數(shù)據(jù)量條件下進(jìn)行了深度優(yōu)化。
連接協(xié)議
AliOS Things支持豐富的連接芯片和協(xié)議,目前主要支持WiFi,BLE和LoRaWAN,并且在不斷添加新的支持。
WiFi
WiFi協(xié)議棧通常由芯片廠商提供,AliOS Things提供了極簡(jiǎn)的WiFi HAL層,開(kāi)發(fā)者完成HAL對(duì)接后,即可使用AliOS Things提供的豐富的應(yīng)用層功能組件。同時(shí),AliOS Things也支持外接WiFi通信芯片,由SAL(Socket Adapter Layer)完成對(duì)接和抽象。完成SAL對(duì)接后,開(kāi)發(fā)者同樣可以使用豐富的應(yīng)用層功能組件。
WiFi芯片是目前支持最廣泛的連接芯片之一。主要可以分為四種不同類(lèi)型:
集成WiFi芯片,不支持TCP/IP協(xié)議棧
集成WiFi芯片,支持TCP/IP協(xié)議棧
外接WiFi芯片,不支持TCP/IP協(xié)議棧
外接WiFi芯片,支持TCP/IP協(xié)議棧
根據(jù)這四種不同的形式,AliOS Things提供了不同的功能組件組合,如下表。LwIP和SAL是根據(jù)WiFi芯片類(lèi)型的必選項(xiàng)。WiFi配網(wǎng)和WiFi uMesh的支持是根據(jù)實(shí)際的需要。
LoRaWAN
LoRaWAN組件支持端側(cè)Class A和Class C兩種模式,開(kāi)發(fā)者可以利用LoRa接口實(shí)現(xiàn)端側(cè)與服務(wù)端數(shù)據(jù)的收發(fā)。開(kāi)發(fā)者可以使用AliOS Things的LoRaWAN sample完成與LoRa網(wǎng)關(guān)和服務(wù)器之間的基本連接和通信。
LoRa通常是MCU外接Semtech LoRa芯片。目前AliOS Things已經(jīng)集成支持sx1276,芯片開(kāi)發(fā)者可以直接使用AliOS Things提供的LoRaWAN協(xié)議棧進(jìn)行開(kāi)發(fā)。如果外接其它Semtech LoRa芯片,可以根據(jù)AliOS Things集成的LoRa radio層接口完成接口的對(duì)接。
AliOS Things LoRaWAN協(xié)議棧不僅提供端上LoRaWAN協(xié)議,同時(shí)也提供整套測(cè)試環(huán)境,開(kāi)發(fā)者使用AliOS Things LoRaWAN協(xié)議棧完成開(kāi)發(fā)后,可以利用AliOS Things提供的測(cè)試環(huán)境進(jìn)行前期測(cè)試和驗(yàn)證。應(yīng)用示例測(cè)試環(huán)境搭建和使用請(qǐng)猛戳這里。
目前,LoRaWAN開(kāi)發(fā)者可以使用LoRa協(xié)議層接口進(jìn)行開(kāi)發(fā)。我們正在根據(jù)LoRa應(yīng)用及場(chǎng)景特點(diǎn),開(kāi)發(fā)應(yīng)用層接口,讓?xiě)?yīng)用開(kāi)發(fā)者使用了AliOS Things LoRa接口后,做到極簡(jiǎn)開(kāi)發(fā),不需要過(guò)多的理解LoRaWAN協(xié)議細(xì)節(jié)。
Bluetooth
目前,BLE組件已經(jīng)在mk3239上支持Bluetooth 4.2,應(yīng)用編程框架和應(yīng)用框架接口。應(yīng)用編程框架對(duì)BLE協(xié)議細(xì)節(jié)進(jìn)行抽象,對(duì)應(yīng)用開(kāi)發(fā)者提供應(yīng)用框架接口。應(yīng)用開(kāi)發(fā)者不再需要關(guān)心BLE協(xié)議棧細(xì)節(jié),專注于業(yè)務(wù)邏輯開(kāi)發(fā),做到極簡(jiǎn)開(kāi)發(fā)。對(duì)于網(wǎng)絡(luò)開(kāi)發(fā)者,BLE組件提供完整的協(xié)議層接口,供網(wǎng)絡(luò)開(kāi)發(fā)者使用完整的BLE協(xié)議能力。
應(yīng)用框架主要提供能力包括:
BLE連接的建立
傳感器數(shù)據(jù)的讀取和更新
廣播數(shù)據(jù)
開(kāi)發(fā)者可以根據(jù)應(yīng)用開(kāi)發(fā)框架提供的接口,將外設(shè)采集到的數(shù)據(jù)由GATT服務(wù)端發(fā)送到GATT客戶端。提供應(yīng)用開(kāi)發(fā)框架最主要的原因是藍(lán)牙應(yīng)用開(kāi)發(fā)者很有可能不希望花費(fèi)精力在藍(lán)牙技術(shù)的細(xì)節(jié)上,而是希望通過(guò)極簡(jiǎn)的接口快速搭建起自己的應(yīng)用。目前,AliOS Things提供外設(shè)端的應(yīng)用開(kāi)發(fā)接口,主要解決傳感器數(shù)據(jù)的讀取和更新,開(kāi)發(fā)者可以利用這套接口在mk3239上快速搭建基于藍(lán)牙的應(yīng)用。
我們正在加速豐富應(yīng)用開(kāi)發(fā)框架,開(kāi)發(fā)Bluetooth 5.0,并擴(kuò)展藍(lán)牙芯片支持的規(guī)模,同時(shí)uMesh也正在加入BLE mesh支持,它將完全兼容SIG BLE mesh。
GPRS和NB-IoT
目前,NB-IoT和GPRS作為通信芯片外接在運(yùn)行AliOS Things主芯片上,通過(guò)SAL對(duì)接到通信芯片的AT命令集已經(jīng)可以支持。
對(duì)于NB-IoT和GPRS作為AliOS Things支持協(xié)議族一部分,直接運(yùn)行在一塊SoC的相關(guān)工作正在進(jìn)行中。
總結(jié)
AliOS Things提供了豐富的連接組件和能力。包括近場(chǎng)、遠(yuǎn)場(chǎng)通信芯片和協(xié)議的支持,網(wǎng)絡(luò)協(xié)議棧,自組織網(wǎng)絡(luò)及應(yīng)用層物聯(lián)網(wǎng)協(xié)議,并在快速持續(xù)演進(jìn)中。
總結(jié)
以上是生活随笔為你收集整理的AliOS Things网络连接技术概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Gartner:全行业投入人工智能,计算
- 下一篇: 云上更安全?亚马逊云科技宣布将持续加大在