注意:這裡需要記錄米家藍牙溫溼度計2代的 MAC 地址,後面需要用到
第二步:通過第一步,掃描周圍的藍牙設備,找到需要連接的米家藍牙溫溼度計2代的設備進行連接,點擊CONNECT按鍵就可以進行連接了,當連接完成後,會進入設備提供的Service列表,如下圖:米家溫溼度計2代提供的service看到提供的Device Information這個Service,嘗試讀取數據,驗證一下數據讀取是否有限制。讀取米家溫溼度2代的產品名稱讀取溫溼度數據的UUID
1讀取的原始數據:
2E6 0A 36 B4 0A
3
4溫度換算方法
5溫度 = 0x0AE6 = 2790
6溼度 = 0x36 = 54
7電量 = 0x0AB4 =2740
8
9實際顯示:
10溫度:27.9 C
11溼度:54%
12電量: 2.742 V (讀數後使用萬用表測量電池)
1msh />rw007_ble init central
2msh />rw007_ble scan
RW007掃描米家藍牙溫溼度計2代的設備
第二步:RW007模塊連接上米家藍牙溫溼度計2代的設備,後會收到來自米家藍牙溫溼度計2代的設備的NOTIFY數據,內容剛好是溫溼度及電量數據。1msh />rw007_ble connect A4:C1:38:35:52:94
通過上面的命令進行連接米家藍牙溫溼度計2代的設備。
RW007接收到來自米家溫溼度計2代的數據第三步:在接收到數據的位置添加解析數據的功能,由於連接上米家藍牙溫溼度計2代的設備後就能接收到包含溫溼度及電量數據的NOTIFY,在接收數據的位置,添加解析數據的功能即可,在rw007_ble_ntf_handle的函數中進行以下的修改。 1case RW007_BLE_NTF_TYPE_NOTIFY_RX:
2 {
3 struct rw007_ble_gap_event_notify_rx *notify_rx;
4
5 rt_kprintf("RW007_BLE_NTF_TYPE_NOTIFY_RX\n");
6
7 notify_rx = (struct rw007_ble_gap_event_notify_rx *)data;
8 rt_kprintf("conn_handle:%d, attr_handle:%d, rcv (%s) length:%d, data:\n",
9 notify_rx->conn_handle, notify_rx->attr_handle,
10 notify_rx->indication ? "indication":"notification", notify_rx->length_data);
11 hex_dump((const rt_uint8_t *)(notify_rx + 1), notify_rx->length_data);
12 int32_t temp = 0xffff;
13 int hum = 0xff;
14 int32_t v_bat = 0xffff;
15
16 rt_uint8_t *ptr = (const rt_uint8_t *)(notify_rx + 1);
17
18 //Here to get mi tempture data
19 temp = 0xffff & ptr[1];
20 temp = temp<<8;
21 temp = temp | ptr[0];
22 hum = ptr[2];
23 v_bat = 0xffff & ptr[4] ;
24 v_bat = v_bat << 8 ;
25 v_bat = v_bat | ptr[3];
26 rt_kprintf("temp=%d mC,hum=%d%,v_bat=%dmV\n",temp,hum,v_bat);
27 break;
28 }
第四步:編譯燒錄程序,驗證功能。
RW007_解析數據RW007_顯示的數據驗證功能成功!
四、總結通過這次的RW007 模塊連接米家藍牙溫溼度計2代設備,主要體驗了如何通過 BLE 調試助手調試米家藍牙溫溼度計2代設備的過程,還有 RW007 BLE 主機功能的操作,以及如何把米家藍牙溫溼度計2代設備的溫溼度數據進行換算的流程,總的來說 RW007 BLE 主機功能使用還算方便,比較麻煩和多坑的是解析溫溼度數據,開始一直沒弄清楚哪一個 UUID 和 溫溼度數據有關的,也是折騰了不少時間,幸好在朋友的幫助下才順利解析到溫溼度數據。🔗RW007資料連結:
奶牛網盤 https://realthread.cowtransfer.com/s/274a38fde4b543
🔗RW007購買連結:
https://item.taobao.com/item.htm?&id=587364858221
口令(複製至X寶打開):5嘻6bLxXVYVZEv嘻 https://m.tb.cn/h.4rai8N8?sm=35e672 RW007 高速WIFI模塊 SPI 物聯網 透傳模塊 無線模塊