1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

仮想COMポートからBLE(Bluetooth Low Energy)デバイスとシリアル通信する

Posted at

はじめに

BluetoothにはClassicとBLE(Bluetooth Low Energy)の2種類あります。Bluetooth通信ができるマイコンは後者のBLEを用いている場合が多いと思います(ESP32はどちらも使用可能)。
C#を用いてBLE通信を行う記事は存在するものの、Bluetooth Classicや有線と同様にCOMポートからシリアル通信を行う記事をあまり見つけられなかったので、備忘録として載せておきます。

仮想COMポートの作成 (Windowsの場合)

仮想シリアル(COM) ポートドライバであるcom0comをインストールします。こちらからexeファイルをダウンロードします。
Windows10+の場合はセキュアブートをオフにする必要があるかもしれません。

ble-serialのインストール

こちらのble-serialを使用します。
基本的にはREADMEに従ってインストールを行えばOKです。

ble-serialのインストール

$ pip install ble-serial

COMポートの割り当て

$ ble-com-setup.exe

デフォルトではCOM9に割り当てられます。

接続

BLEデバイスのスキャン

$ ble-scan

20:91:48:4C:4C:54 (RSSI=-56): (デバイスの名前)
...

得られた出力からMACアドレスを確認

デバイスに接続

$ ble-serial -d 20:91:48:4c:4c:54

Running main loop!と表示されればOKです。

ここで、ble-scanに表示されるにもかかわらず "Bluetooth connection failed. Device not found"と出る場合は --address-type randomとオプションをつけると接続できる場合があります。

テスト

マイコン

Adafruit Feather nRF52840 Senseでテストを行いました。

PC側のプログラム

TeraTermなどではCOMポートを認識しないので、Pythonを使う

serial_test.py
import serial

ser = serial.Serial('COM9') 
ser.write(b'hello')
ser.close()

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?