藍牙Mesh 技術 一起學 入門篇(3)
還記得上次咱們講到哪裡了嗎? 對了,藍牙mesh的地址。其實,上次我們講了幾個藍牙mesh的關鍵術語。
- 一對一,多對一還是網狀網(mesh)
- 設備和節點(Devices and Nodes)
- 元素(Elements)
- 消息(Messages)
- 地址(Addresses)
大家都還記得這些內容嗎?想不起來的話翻翻前面一篇。今天還要給大家將幾個重要的內容。
(「後排說話的同學要向中間玩手機的同學學習,不要打擾前邊睡覺的同學!,對,說你呢!「)
藍牙mesh的基本概念(續)。n
- 發布和訂閱(Publish/Subscribe)
在藍牙mesh裡面發消息的動作我們叫做發布(Publish)。光從字面意思理解大家基本上就能看懂了。我想告訴別人什麼事情發生或者做什麼事情就叫做發布。誰對某些消息感興趣就可以訂閱這些內容。就像是在知乎裡面,如果是你對哪個專欄或者內容感興趣, 可以進行訂閱。所有發布到這個專欄的文章你都會收到。節點發布消息到單播地址,組播地址或者虛擬地址。節點有興趣接收這些數據的可以訂閱這些地址。
這張圖是SIG在介紹這一章節的時候使用的例子。我給這些燈和開關標了號以便於理解。在上圖中,開關1 發布信息給組播地址」廚房「, 節點燈1, 燈2, 燈3 每個都註冊到了」廚房「這個地址上, 因此他們能收到處理髮給廚房的消息。換句話說, 燈1,燈2 和燈3 都能被開關1控制開關。 開關2 發布消息到」餐廳「,只有燈3訂閱了"餐廳"這個地址,所以只有燈3能被開關2控制。在這個例子里同樣說明了每個節點可以訂閱多個確切的地址。同樣的,你一定也注意到了,開關5和開關6同樣都可以發布消息到」花園「。
使用這種方式的一個很大的好處是當需要有一些節點添加,刪除或者替換的時候,其他的節點不用重新配置。比如你新買了一個開關,把它配網以後發布到」花園「, 那麼」花園「里的燈一樣可以被這個新的開關和開關6控制。如果你之前接觸過其他的一些技術,例如MQTT_百度百科,你一定對這種發布/訂閱的方式完全不陌生。
- 狀態和屬性(States and Properties)
在藍牙mesh中,元素的不同情況叫做狀態(States),狀態是一個特定類型的值,在每個元素內部存在。除了本身的值以外,狀態還有一些相關的行為。 拿燈來說,藍牙mesh定義了一個狀態叫」Generic OnOff.「 燈收到了一個ON的狀態,理解以後就會執行相應的動作比方說 點亮燈泡的行為。
還記得屬性(Properties)嗎?在之前的BLE的規範里, 每一個Characteristic都有自己的屬性。但是Characteristic是沒有上下文含義的?(什麼意思?) 就是說他只是表明了一個量,但這個兩你可以用在很多的場合,比如一個溫度值,她並沒有體現這裡溫度值和什麼相關。
在藍牙mesh裡面的屬性它提供一個來解釋Characteristic的上下文。(完了!越說越迷糊了)。來來來,我們舉個例子。如果有一個Characteristic,叫做Temperature 8,一個8位的溫度狀態類型,它有著一些相關聯的屬性, 包含現在室內環境溫度和現在室外環境溫度。這兩個屬性允許一個感測器來發布感測器消息,收到的客戶端(關於客戶端和伺服器端的內容我們後面會講)會根據屬性得知到底是哪個溫度信息。這樣就有上下文的概念啦。
這兩天身體不適,(饅頭噎著了吧)打字有些慢,見諒啊!
推薦閱讀:
※邊緣計算是什麼,和雲計算的區別是什麼?
※如何評價Microsoft Azure IoT Suite?
※創建你自己的私有 LoRa 網路
※中國傳統製造業的變革之路——解讀馬雲在無錫物聯網大會發言中關於製造業發展的論述
※「智能城市」比拼,美國「矽谷」恐不及中國「烏鎮」
TAG:蓝牙Bluetooth | Mesh | 物联网 |