天天看點

BLE Gateway :Smart bluetooth to WIFI Home Gateway 實作

Ble Gateway :通用型BLE to WIFI Home Gateway 實作

随着BLE 傳感器數量的增加,進行大資料的處理和分析便成了一個重要的需求。 市面的BLE to WIFI Gateway 方案很多,都是針對于特定

平台和特定晶片,例如TI 方案。Gateway 采集到BLE 節點上報的資料,将資料封裝成特定格式,上傳到cloud 雲伺服器,遠端的或者背景 終端可以對資料進行監控或者統計。 大概的模式如下圖所示。

采集到的資料封裝成 JSON格式,通過mqtt 協定 上傳到 MQTT server / IOE cloud / ALIcloud.

本人文筆不好,見得比較簡陋,借鑒了一些網友的圖檔,願文章起一個抛磚作用吧。

如有不明的地方或者需求請和我直接聯系。

需要代買可以直接我聯系。

HOME Gateway 模型

BLE Gateway :Smart bluetooth to WIFI Home Gateway 實作

本文提的實作的方案,不限定硬體平台和軟體平台。代碼可以友善的移植到其它平台上,目前在x86 ,openwrt,平台上驗證成功。

本次實驗采用

平台是 Qualcomm Dakota 4029 路由平台 / PC 機,

BLE接收器 csr4.0 ble usb tonggle 、支援ble的 bluetooth 硬體均可實作

藍牙協定棧 : bluze5.0

軟體實作的功能

1.沒有特定硬體需求

2. 支援linux,openwrt

3. 依賴BlueZ 5.0的藍牙協定庫,便有移植到 x86 ,mips ,arm等其它平台上

4. 支援多Ble 裝置 星星組網,支援 1對 多模式

5. C語言實作

6. 動态添加 ble 裝置,

7. 支援JASON

8. 支援MQTT 服務

9. 支援cli 配置

BLE Gateway service 介紹

為了便于實作通用性,選擇了 BLuez 藍牙架構。

BLE Gateway :Smart bluetooth to WIFI Home Gateway 實作

Gateway 功能框圖

BLE Gateway :Smart bluetooth to WIFI Home Gateway 實作

bluetooth 接口上dump出的資料。

BLE Gateway :Smart bluetooth to WIFI Home Gateway 實作

Gateway service

1.ble gateway 服務程式,會主動與添加到首選清單的ble 終端 進行連接配接(配對過的)

這個操作動作,可以通過配置檔案實作,也可以通過cli指令去執行,配對動作。

[whitelist]
    dev1=BC:6A:29:C0:DE:29
    dev2=00:02:5B:00:B9:17
    dev3=00:02:5B:33:B9:17
           
  1. Ble gateway 服務程式,與周圍節點進行 關聯,并注冊 readcallback ,writecallback,notifycall hook函數,

    為了實作通用性,這個服務程式,隻是采集接收資料,在服務裡目前沒有進行過濾 處理。服務将采集到所有gatt server 中的handle下的屬性值進行封包成jason格式,并 資料封包上傳到 伺服器,所有的資料在cloud端,或者 local server處理。

    {
     				"ble":	{
     					"addr":	[188, 106, 41, 192, 222, 41],              						 // ble 節點 mac address
     					"uuid":	"0000aa21-0000-1000-8000-00805f9b34fb",   		 // ble  節點 屬性 的UUID
     					"length":	4,																					 // ble   節點屬性 資料的長度
     					"data":	[122, 11, 90, 19]															 // ble   節點屬性的資料
     				}
     			}
               
  2. 與 mqtt borker 進行連接配接,連接配接成功後,便可以傳輸資料。
[cls_server]
				#配置檔案等号左右可以有空格也可以沒有
				ip=192.168.1.1
				#port=61623
				port=1883
           
  1. 上傳資料 到Mqtt broker

    目前service 裡隻實作 最流行 mqtt 物聯網傳輸協定,其它協定可以自行定制添加。

  2. 遠端終端,背景終端的資料處理。

    這裡隻是通過 手機端 的MQTT client 軟體 ,進行資料 示範

    BLE Gateway :Smart bluetooth to WIFI Home Gateway 實作
    後端進行資料顯示如下:
    BLE Gateway :Smart bluetooth to WIFI Home Gateway 實作

繼續閱讀