1. Raspberry Piにbluepyをインストール
bluepyをRaspberry Piにインストールするの手順で、bluepyをインストールします
2. micro:bitでbluetoothサービスを使用するプログラム作成
以下のような感じでUARTサービスを最初に追加します
また、ペアリングをしなくても利用できるようにします
※6桁キーでペアリングしたい場合は「6桁のキーでmicrobitとRaspberry PiをBluetoothペアリングする」を参照してください。
3. 地磁気センサーの値を取得するプログラム
uart.py
from bluepy import btle
class MyDelegate(btle.DefaultDelegate):
def __init__(self, TX, RX):
btle.DefaultDelegate.__init__(self)
self.TX = TX
self.RX = RX
def handleNotification(self, hd, data):
print("notification: {},{}".format(hd,ord(data)))
chRX.write("pressed!\n".encode("utf-8"))
per = btle.Peripheral("XX:XX:XX:XX:XX:XX", btle.ADDR_TYPE_RANDOM)
# UART Service
svcUART = per.getServiceByUUID("6E400001-B5A3-F393-E0A9-E50E24DCCA9E")
# TX Characteristics
chTX = svcUART.getCharacteristics("6E400002-B5A3-F393-E0A9-E50E24DCCA9E")[0]
ch_cccd=chTX.getDescriptors(forUUID=0x2902)[0]
ch_cccd.write(b"\x03\x00", False)
# RX Characteristics
chRX = svcUART.getCharacteristics("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")[0]
dg = MyDelegate(chTX, chRX)
per.setDelegate( dg )
chRX.write("start!\n".encode("utf-8"))
while True:
if per.waitForNotifications(0.1):
continue
4. Bluetooth経由のUARTでmicrobitと通信するプログラムの実行
$ python3 python3 uart.py
notification: 39,66
notification: 39,65
〇参考情報
・Bluetooth Developer Studio Level 3 Profile Report
0 件のコメント:
コメントを投稿