(画像:Adafruit)
近年急速に人気を伸ばしているプログラミング言語「Python(パイソン)」。その人気の理由は、なんと言ってもコードのシンプルさと新しい分野 に活用できる汎用性の高さにあります。今やPythonは、デスクトップアプリケーションやWebアプリケーションから、機械学習、データサイエンスの世 界にいたるまで、その活用範囲を広げています。最近、このプログラミング言語を融合させた、組み込みシステム開発環境がリリースされました。その名も ArduPyという、ArduinoとPythonを組み合わせたツールです。この開発環境では、人気のArduinoライブラリを MicroPythonライブラリに変換できるため、充実したArduino組み込みエコシステムを利用することが可能になります。
ArduPyは、大きく分けて2つの要素から構成されています。1つはArduPyコアで、互換性のある開発ボードの基本的なハードウェア操作をサ ポートするインターフェイスとして機能します。ArduPyは、ユニバーサルArduino APIを使用したMicroPythonを利用しているので、新しいボードへの対応も最小限の労力しか必要としません。2つ目は、Arduinoライブラ リPythonラッパーです。これは外部センサやアクチュエータ用のArduinoライブラリをMicroPython互換のコードに変換します。これに より、新しいセンサを搭載した試作品をすぐに作成できるようになり、ゼロから開発する手間が省けます。豊富なArduinoライブラリが利用できるため、 この機能は、MicroPythonユーザーに新しい組み込みシステム開発を速やかに開始する絶好の機会を提供します。
使用を開始するには、まず、ArduPyの最新版をダウンロードしてインストールします。Pythonは、Windows、Mac、Linuxに対応しており、最新版は、こちらからダウンロードで きます。Pythonを環境にインストールしたら、次にArduPy Integrated Platform(AIP)をダウンロードします。AIPとは、開発者がArduPyと互換性のあるボードと迅速かつ簡単に対話操作できるコマンドライン ユーティリティです。AIPをダウンロードしてインストールするには、コマンドラインインターフェイスを開き、次のコマンドを実行します。
#35;pip3 install ardupy-aip
最後に、Visual Studio CodeとSeeed ArduPy IDEをダウンロードしてインストールします。Visual Studio CodeはWindows、Mac、Linuxに対応しており、OSごとにこちらからダウンロードできます。インストールが終了したら、Extensions Marketで拡張機能からSeeed ArduPy IDEを検索します。検索結果のArduPy IDE を選択したら、「インストール」をクリックすると、プラグインがVisual Studioに追加されます。これで、ArduPyツールセットのすべて機能を利用する準備ができました。
それでは、ArduinoやMicroPythonと比べて、ArduPyツールセットにはどのようなメリットがあるのでしょうか。ArduPyを開発したSeeed社は、アマチュアやプロを問わず、開発者には次のようなメリットがあると説明しています。
まず、互換性のある開発ボードをUSBケーブルでコンピュータに接続します。お勧めのボードは、マウザー通販サイトで購入できるSeeed社のWio Terminal開発ボードです。詳しくはこちらを クリックください。Wio Terminalは、LCDディスプレイ、2.4GHz/5GHz Wi-Fi(802.11a/b/g/n)、Bluetooth LE 5.0、IMU、マイク、ブザー、microSDカード、ユーザー定義ボタン、光センサ、5方向スイッチ、赤外線エミッタ(IR 940 nm)などを搭載し、CryptoAuthenticationにも対応した便利で安価なマイクロコントローラ開発プラットフォームです。 Microchip社のATSAMD51P19 Arm® Cortex®-M4Fコアをベースとし、120MHz(ブースト時、最大200MHz)で動作し、4MBの外部フラッシュ、192KBのRAMも搭載しています。
Wio(またはArduPy互換ボード)をコンピュータに接続したら、コマンドラインインターフェイスを開き、次のコマンドを実行します。
#aip board
これで現在コンピュータに接続されているArduPy互換ボードの一覧が表示されます。コマンドを忘れたときや、AIPの使い方がわからないときは、以下のヘルプコマンドを実行してください。
#aip help
ヘルプコマンドは、ArduPyコマンドオンラインツールで使い方を確認できる便利なコマンドです。 このほかにも、AIPには以下のような コマンドがあります。
これでツールが開発用コンピュータに設定されたので、次に、ArduPyファームウェアを開発ボードにインストールします。ボードごとに固有の UF2 ArduPyファームウェアファイルをダウンロードしてインストールしてください。Wio Terminalを使用する場合、ファイルはこちらからダウンロードできます。次に、Wio Terminalを開発用コンピュータに接続し、電源スイッチを素早く2回スライドさせて、ブートローダモードにします。うまくいけば、青いLEDが点滅し、ARDUPYという USBフラッシュドライブがデスクトップに表示されます。
ARDUPYフォルダをダブルクリックすると、main.pyファイルが表示されます。このファイルには、デフォルトのPythonスクリプトファイルが含まれており、ファイルが更新されるたびに自動的に実行されます。ただし、ボードを起動するたびにスクリプトを実行させたい場合は、デスクトップにboot.pyというファイル名のファイルを作成します。ここで、サンプルコードを入力して、オンボード LEDを点滅させてみましょう。Visual Studio Codeを使って、boot.pyファイルを編集し、以下のコードを追加します。
import time import board from digitalio import DigitalInOut, Direction led = DigitalInOut(board.D13) led.direction = Direction.OUTPUT while True: led.value = True print("LED ON") time.sleep(1) led.value = False print("LED OFF") time.sleep(1)
boot.pyファイルを保存します。次に、コマンドラインインターフェイスから、以下のコマンドを実行します。
# aip shell -n -c "put /<your-file-path-here>/boot.py"
Wio Terminalのプラグを一度抜いて、再び差し込むと、自動的にコードの実行が開始されるはずです。これで、初めてのArduPyプロジェクトの完成です。
ArduPyは、比較的まだ新しいツールですが、新しい開発ボードやPythonライブラリに対応するなど、急速に機能を拡張させています。 ArduPyファームウェアを軽量にするために、時間、ピン、DAC、ADC、PWM、LCDなどのMicroPythonサブセットしか含んでいません が、 アプリケーションのニーズに応じて簡単に拡張することができます。さらに、あらかじめビルドされたライブラリに満足できない場合は、自分でArduPyラ イブラリを書き、ArduoPyプロジェクトに実装する手段も提供されています。 ArduPyは、Pythonプログラミング経験を活かしながら、組み込み開発について学びたいと考えている人にとって格好のツールです。また、 Arduinoエコシステムで経験を積み始めたユーザーにとっては、組み込み環境以外にも役に立つ、Pythonというプログラミング言語を学ぶ絶好の機 会となるはずです。
さて、皆さんはArduPyをもう使ってみましたか。ArduPyツールを使ってどのようなプロジェクトに挑戦されたのか、ぜひコメントをお寄せください。
マ イケル・パークス:カスタム電子機器設計スタジオ・組み込みセキュリティ研究会社Green Shoe Garage (米国メリーランド州) の共同設立者。科学的・技術的トピックに対する社会の意識向上に向けてGears of Resistance Podcastを制作。メリーランド州プロフェッショナルエンジニア (P.E.) 資格を取得、ジョンズ・ホプキンス大学にてシステム工学で修士号を取得。