Python で Arduino を操作する試み。
PC と通信するための Firmata と呼ばれる汎用プロトコルを使って Arduino の GPIO を操作してみました。
1. Arduino側の設定
Arduino で Firmata を使うため「スケッチの例」の中にある「StandardFirmata」を Arduino にアップロードします。
Arduino 側でやることはこれだけです。
2. パソコン側の設定
Python がインストールされている前提で、Firmata プロトコルが使えるようにライブラリをセットアップします。
ダウンロードした ZIP ファイルを展開してインストールします。
python-firmata-mastersetup.py install
3. やっぱり「L チカ」
通信速度は 57600 がデフォルトです。
通信ポートは「ポート番号ー1」を指定します。
test.py
from firmata import *
arduino = Arduino(7,baudrate=57600) # 7 = port 8
arduino.pin_mode(13,firmata.OUTPUT)
arduino.delay(2)while True:
arduino.digital_write(13,firmata.HIGH)
arduino.delay(1)
arduino.digital_write(13,firmata.LOW)
arduino.delay(1)
Firmata プロトコルは Microsoft Visual Studio でも利用可能なので、C# などのメジャーな言語を使えばエレガントにプログラムが作れそうです。
次回は、C# で Arduino を操作してみようかと思います。
Bluetooth ドングルで接続された Arduino を Windows10 デバイスから操作できるので、あとはちょっとした周辺回路を作るだけで、アマチュア無線で各種遠隔操作ができるようになると思います。