藍牙MESH(E104-BT10)使用記錄

0、小知識彙總


1、產品簡介

E104-BT10 藍牙 mesh 自組網模塊支持 sig mesh V1.0 標準,單網絡理論最大可容納 10922 個節點設備。設備入網後自動記憶網絡信息,入網時間 1 秒內完成。手機 APP 可任意節點代理入網,實現 mesh 網絡遠程控制。可方便實現網內廣播或任意定點數據透傳,透傳數據單包最大支持 80 字節。支持 sig標準 HSL(H: Hue , S: Saturation ,L:lightness)模型,一鍵實現燈控應用場景。非常適合物聯網信息採集,大規模組網通訊場景,智能家居等應用。

2、產品特點

  • PCB 板載天線,空曠最大通訊距離 50 米
  • 發射功率多級可調最大+8dbm
  • 串口波特率動態可配
  • 無線通訊信道 37、38、39
  • 網絡無中心節點(gateway)
  • 記憶組網信息,上電自動入網
  • 上電入網 1 秒完成
  • 支持手機 APP 入網
  • 組網最大節點數 10922
  • 支持 SIG MESH Generic 模型
  • 支持 SIG MESH HSL 燈控模型
  • 支持自定義串口數據透傳模型
  • 支持自定義低功耗(非標準低功耗)
  • 支持串口喚醒

3、MESH網絡介紹

在這裏插入圖片描述
這個模塊最大的優勢在於可中繼網絡內的任意數據,任意模塊都是中繼,中繼的同時也都可收到數據,模塊數據信號覆蓋範圍 50 米左右,下圖中繼爲功能示意圖,用戶可參考。

在這裏插入圖片描述

解讀上圖模擬應用場景:模塊 A 到模塊 C 的距離爲 70 米,超出了我們模塊的 50 米的傳輸距離,所以 A 模塊無法直接將數據發給 C 模塊,若在 A模塊和 C 模塊之間放置一個 B 模塊,那麼 數據就會被 B 中繼然後 C 收到。模塊 A 需要發送數據給整個網絡,模塊 B,C,D,E 需要收到 A 的數據,那麼 A 模塊就以廣播地址(0XFFFF)發數據就可以瞭如果 A 模塊需要指定數據發送給 E 模塊,就只需 在數據格式中地址處填寫 E 模塊的地址就行(詳情見指令格式介紹),但是 E 模塊離 A 模塊 140 米,無法將數據直接傳達,但是隻要這幾個模塊是屬於同一個網絡,數據就會以下面這個鏈路傳達到模塊 E,A 發出數據傳遞給 B ,B 再到 C,C 到 D, D 傳給 E。

4、一些基本概念

4.1、網絡密匙(Net Key)

全稱 network keys,網絡密鑰,用來保護網絡層通信的密鑰。是使用符合核心規範要求的隨機數生成器生成的密鑰。(詳見 Mesh Profile3.86)
在這裏插入圖片描述

4.2、會話密匙(App Key)

全稱 application keys,應用程序密鑰,用來保護上層傳輸層的密鑰。是使用與之兼容的隨機數生成器生成的,應用程序密鑰標識符(AID)用於標識應用程序密鑰。(詳見 Mesh Profile3.86)
在這裏插入圖片描述

4.3、設備角色

在 SIG MESH 協議中 擁有種角色分別爲 node、low power node、relay node、friend node、proxy node。相關功能介紹如下:

  • Node:整個 mesh 網絡中的邊緣節點,具有接收與發送數據的能力,但是不具備中繼(relay)功能
  • Low power node:低功耗節點,由於 friend node 的存在,低功耗節點不需要一直在廣播信道發送或者監聽數據包,只需要查詢 friend node 上有沒有數據達到就行。(暫不支持)
  • Relay node:中繼節點,是網絡層擴展網絡覆蓋範圍的核心節點,在接收到其他節點發送的數據包後,根據網絡協議的判定條件判斷是否需要轉發。
  • Friend node: low power node 可以與 friend node 建立友好連接,作爲 low powernode 的代理節點,當 lowpowernode節點的數據達到時,可以在 Friendnode 緩存,等待 lowpowernode 查詢並且獲取。
  • Proxy node:代理節點,代理節點可通過承載層(廣播承載層或 GATT 承載層)接受信息,並通過另一個廣播承載層或GATT 承載層重新發送消息。在非 mesh 低功耗藍牙設備成爲藍牙 mesh 網絡成員過程中起關鍵作用,代理節點的根本目的是執行承載層轉換。它能夠實現從廣播承載層到 GATT 承載層的轉換,反之亦然。因此,不支持廣播承載層的設備可通過 GATT 連接來收發各類藍牙 mesh 消息。E104-BT10N 支持代理節點功能,配合手機端 APP 可實現 mesh 網絡控制(資料壓縮包中包含 APP相關 SDK 供客戶自行開發)。

通常單個設備只支持一種角色,在 EBYTE 的方案中,模塊支持兩種角色,provision 節點和 mesh 節點,provision 節點即負責組網的設備,mesh 節點是收發數據和轉發數據的設備即 relay node。

SIG MESH 有四種連接方式:

  • 1、 ADV(Not Relayed):即不具備轉播能力的連接。這種情況適用於兩個節點之間互相收發消息,但不具備中繼能力不能進行數據包的轉發工作。
  • 2、 ADV(Lower power):即低功耗廣播連接。用於 low power node 和 friend node 之間收發數據包,在這個連接上low power node 會主動發起請求建立與 friendship 的連接,以及從 friend node 上查詢是否有自己的數據包。
  • 3、 ADV Bearer:廣播轉發連接。兩個節點之間可以基於廣播轉發收發廣播消息,並且可以作爲中繼轉發。(該產品就在此連接上工作)
  • 4、 GATT Bearer:用於沒有 ADVbearer 能力的結點也能參與 MESH 網絡,通過代理協議與其他的結點在 GATT 連接上收發代理 PDU。

該產品支持的設備類型有 provision 和 mesh。

  • Provision 節點: 是特殊的 node 節點,是整個網絡的發起者。也被稱作 gateway。它將未組網的設備加入到 mesh 網絡中。Provision 節點向未配網設備提供 provision 數據,其中包括 netkey、appkey,還有設備每一個 element 對應的 unicast地址。
  • Mesh 節點:該產品的mesh 節點是集 node、relay node 、friend node、proxy node 四種角色爲一體,在使用過程中方便快捷。

4.4、模型(Moule)

在 SIG MESH 有很多模型,我們的 E104-BT10 模塊一共有三個元素地址, 每一個元素地址下面可以綁定多個模型,在下表中每一行就是一個模型,其中 HSL 的模型比較特殊綁定了三個地址,這是因爲在 HSL 模型中需要控制三個東西 亮度、飽和度、色溫,所以它有三個地址。

在這裏插入圖片描述

在這裏插入圖片描述

4.5、地址(unicast)和元素(element)

Address 地址,一個地址對應一個元素,從上面 model 介紹中可以看出我們有三個元素,我們可以稱之爲元素地址,它是在 provision(組網)過程中由 provision 設備分配給 node 節點的唯一地址,在同一個 mesh 網絡中每一個 node 設備可能會有多個地址 但是,每個設備裏的一個 model 只能有一個地址,但不同 model 可綁定在一個地址上,在後續的 mesh 網絡通信過程中設備就是依靠此地址尋找其他設備。E104-BT10G 的角色是 Provision 設備,E104-BT10N 的角色是 Node 設備。

5、使用介紹

5.1、組網介紹

E104-BT10 這個 mesh 組網模塊, 分爲了 E104-BT10G, E104-BT10N,兩種型號,E104-BT10G(就是 provisioner),E104-BT10N(就是 node 節點),E104-BT10G 這是整個網絡的發起者,整個網絡有且只有一個 E104-BT10G我們所說的組網 就是用 E104-BT10G 把 E104-BT10N 加入到 E104-BT10G 的網絡中。所以要實現 mesh 組網至少需要兩個模塊,一個 E104-BT10G,一個 E104-BT10N。

軟件設置: E104-BT10G 需要設置 netkey,APPkey(詳見指令 4.3.1.1)這兩個值用戶必須自己設置(我們有默認值,但不推薦使用),不同網絡之間這兩個值不能相同,因爲在組網的時候 E104-BT10G 會給 E104-BT10N 分配 netkey,以及綁定 APPkey。

整個網絡的組建完全自動,用戶只需串口給出“添加節點入網”指令就好,組網過程最長耗時 30 秒,但是一般是 10 秒到 20秒就能成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章