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

BLE5で遊んでみた!

Norippy
February 17, 2021

 BLE5で遊んでみた!

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

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で書きましたが、コードはこれだけ。とてもシンプルです