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

BLE5で遊んでみた!

8b0e9a3684bd29ecece29db2582e38ae?s=47 Norippy
February 17, 2021

 BLE5で遊んでみた!

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

8b0e9a3684bd29ecece29db2582e38ae?s=128

Norippy

February 17, 2021
Tweet

Transcript

  1. BLE5 で遊んでみた︕ IoTLT Vol.72 2021/02/16 norippy @ rino products

  2. norippy (Norio Ikedo) ◦平日は某自動車の会社でコネクティッドカーの開発エンジニア ◦余暇の時間はrino products代表(副業) • ガジェットの筐体、電子回路、組み込みFW等の設計・開発・販売 • Alexaスキルの開発

    • M5Stick C用 Vibrator Hat 再販開始!! • 今年は自動車パーツの開発〜販売をします!!! Twitter:norippy Web page
  3. Bluetooth low energyについて 3 ESP32便利ですよね。このESP32で利⽤できるBluetooth バージョンご存知ですか︖ Ver 4.2 5じゃない︕︕ 4.2を卒業してBluetooth

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

    ・RN0402みたいな感じで使える BGM13S22 特徴 ・BLEが使えるSoCの開発ができる。 ・独⾃のIDEで開発。 ・Bluetooth Meshや AoA(Angle of Arrival)の開発もできる ・コード書くの難しい。BLEの仕組みをしっかり理解してないと厳しい BGX13Pで遊んでみました︕︕
  5. 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をしなくても、 ローカル通信だけでセンシングシステムを 構築する事ができる まだスマートフォンが対応していない・・・ スマートフォンは対応している︕
  6. 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で書きましたが、コードはこれだけ。とてもシンプルです
  7. BGX13Pの利⽤⽅法 7 BGX13PとAtmega328Pを使った⾃動⾞のスマートフォンキーシステムを開発中 マイコンの制御がメインで、ちょっとBLEを使いたいというシステムにBGX13Pを使うのはオススメ 技適も取れているので、販売することも可能 スマートフォンがLong Range対応したら、さらに便利になりそう

  8. まとめ 8 • Bluetooth 5になり新しくできる事が増えました。 • BGX13Pで簡単にBLEを試す事ができる(無線UART) • BGX13PはRaspberry pi

    picoなどのMCUと 組み合わせて使える