2019年12月18日水曜日

Raspberry PiからBluetooth経由でmicrobitに接続したGrove LEDを点滅させる

Groveシールドで様々なデバイスを利用するすることができます。
以下の手順でmicrobitのP0に接続したLEDをBluetooth経由でRaspberry Pi上のPythonプログラムから点滅させる事ができます。

1. Raspberry Piにbluepyをインストール
bluepyをRaspberry Piにインストールするの手順で、bluepyをインストールします

2. micro:bitでbluetoothサービスを使用するプログラム作成
以下のような感じで入出力端子bluetoothサービスを最初に追加します
また、ペアリングをしなくても利用できるようにします
※6桁キーでペアリングしたい場合は「6桁のキーでmicrobitとRaspberry PiをBluetoothペアリングする」を参照してください。

3. Grove LEDを点滅させるプログラム

iopin_led.py
from bluepy import btle
import time

per = btle.Peripheral("XX:XX:XX:XX:XX:XX", btle.ADDR_TYPE_RANDOM)

# IO Pin Service
svcIOPIN = per.getServiceByUUID("E95D127B-251D-470A-A062-FA1922DFA9A8")
# pin0 as Digital
chADC = svcIOPIN.getCharacteristics("E95D5899-251D-470A-A062-FA1922DFA9A8")[0]
chADC.write(b"\x00\x00\x00\x00")
# pin0 as Output
chPIOC = svcIOPIN.getCharacteristics("E95DB9FE-251D-470A-A062-FA1922DFA9A8")[0]
chPIOC.write(b"\x00\x00\x00\x00")

# Pin Data
chDATA = svcIOPIN.getCharacteristics("E95D8D00-251D-470A-A062-FA1922DFA9A8")[0]
while True:
  chDATA.write(b"\x00\x01")
  time.sleep(2)
  chDATA.write(b"\x00\x00")
  time.sleep(1)
4.Grove LEDを点滅させるプログラムの実行
python3 iopin_led.py

〇GroveシールドとLEDを接続したmicrobit

関連情報

Groveデバイスまとめ

Bluetooth Developer Studio Level 3 Profile Report


0 件のコメント:

コメントを投稿