tweet

esp32+ BLE, Advertising パケットを受信する。




前回と同様、esp32 +BLEで、デバイス間通信で
Broadcast Networkの、Advertising を使って通信のテストしてみました。
一方向の送信のみで、GAP Profileで、最大 31 byteらしいのですが、
GATT に比べて、connect不要でも通信できそうです。


# 参考のコード
adv(配信側 / Peripheral device):
examples/bluetooth/ble_adv
https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/ble_adv

client(Central device):
前回の Gatt Client実装 参考にしています。
http://knaka0209.blogspot.jp/2017/04/esp32-7-BLE.html

# 解説
Advertising(配信):
ble_adv/main/app_bt.c
 static void hci_cmd_send_ble_set_adv_data(void) で、
 配信データを作成部、デバイス名の後ろに、
送信データを追加しておきます。(センサ値/デバイス制御コード等 )

client(受信):
 esp_gap_cb()
  adv_name = esp_ble_resolve_adv_data(scan_result->scan_rst.ble_adv,
    ESP_BLE_AD_TYPE_NAME_CMPL, &adv_name_len);
*) esp_ble_resolve_adv_dataの戻り値で、データ部(デバイス名 含む)が取得できましたので
 追加したデータ取得できました。

#Log ,client




# 参考のサイト
https://learn.adafruit.com/introduction-to-bluetooth-low-energy/gap

https://github.com/espressif/esp-idf/tree/master/examples/bluetooth/ble_adv

http://esp-idf.readthedocs.io/en/latest/api/bluetooth/esp_gap_ble.html




# 関連の esp32まとめ
http://kuc-arc-f.com/make/?p=1288




コメント

AD-parts

Shop
Bluetooth搭載
ベース基板

FACEBOOK

人気の投稿