Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BLE5で遊んでみた!

Avatar for Norippy Norippy
February 17, 2021

 BLE5で遊んでみた!

IoTLT Vol.72で発表した資料です。
BGX13PというBLE5モジュールについて紹介しました。

Avatar for Norippy

Norippy

February 17, 2021
Tweet

More Decks by Norippy

Other Decks in Technology

Transcript

  1. Bluetooth low energyについて 3 ESP32便利ですよね。このESP32で利⽤できるBluetooth バージョンご存知ですか︖ Ver 4.2 5じゃない︕︕ 4.2を卒業してBluetooth

    5を覚えないと、時代に置いていかれる︕︕ ちなみに、Bluetooth 4.1以前のデバイスは2020年夏からSIG認証が取れなくなりました。
  2. BLE5の開発ができるモジュール 4 BGX13P 勉強のために2種類のモジュールを買ってみました 特徴 ・モジュールとはUART通信でコミュニケーションをとる ・UART経由で設定を変更できる ・Bluetooth Meshには対応していない ・BLEがとりあえず試せる︕

    ・RN0402みたいな感じで使える BGM13S22 特徴 ・BLEが使えるSoCの開発ができる。 ・独⾃のIDEで開発。 ・Bluetooth Meshや AoA(Angle of Arrival)の開発もできる ・コード書くの難しい。BLEの仕組みをしっかり理解してないと厳しい BGX13Pで遊んでみました︕︕
  3. BGX13Pは何ができるのか︖ 5 1.UARTでマイコンと簡単に通信ができる︕︕ Bluetoothの部分の開発は不要︕送りたいデータをBGX 13Pに渡せば双⽅向通信ができる。 TX TX RX RX PC,

    MCU (ESP32 etc) BLE通信 2.BLE5から対応した2M PHYや CODED PHYに対応︕︕ 2M PHY 〜Bluetooth 4.2 の通信速度の2倍の速度で通信ができる 利⽤シーン︓画像データを送る, 動画を送る CODED PHY Long Range の通信が可能。 アンテナにもよりもりますが、数百メートル、 数キロ先のデバイスと通信ができる その代わり通信できるデータ量が少ない (125kbps or 500kbps の 2種類が選べる) 利⽤シーン︓LTEを使ってIoTをしなくても、 ローカル通信だけでセンシングシステムを 構築する事ができる まだスマートフォンが対応していない・・・ スマートフォンは対応している︕
  4. BGX13Pで通信をしてみる 6 せっかくなのでRaspberry pi pico を使ってBLE経由でLチカしてみました int main() { Uart_init(UART_ID,

    BAUD_RATE); uart_init(UART1_ID, BAUD_RATE); gpio_set_function(UART_TX_PIN, GPIO_FUNC_UART); gpio_set_function(UART_RX_PIN, GPIO_FUNC_UART); gpio_set_function(UART1_TX_PIN, GPIO_FUNC_UART); gpio_set_function(UART1_RX_PIN, GPIO_FUNC_UART); const uint LED_PIN = 25; // preset led gpio_init(LED_PIN); gpio_set_dir(LED_PIN, GPIO_OUT); int data[10]; while (true) { if(uart_is_readable(UART_ID) > 0){ uart_puts(UART1_ID, uart_is_readable(UART_ID)); for (int i = 0; i < uart_is_readable(UART_ID); i++) { data[i] = uart_getc(UART_ID); } } if(data[0] == true ){ gpio_put(LED_PIN, true); }else{ gpio_put(LED_PIN, false); } } } Cで書きましたが、コードはこれだけ。とてもシンプルです