前回は RaspberryPi pico の C/C++ 開発環境を導入しましたが、MicroPython によるインタプリタも利用することができます。公式では Python の統合環境として Thonny が推奨されていて解説もたくさんありますので、ここでは VSCode と Python 拡張機能の Pymakr を使ってみます。
MicroPython を導入
公式にスクリプトが用意されていますが、いろいろインストールされて動きが分からなくなるので、とりあえず公式ページにあるビルド済バイナリを持ってくることにします。
wget https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2 cp rp2-pico-latest.uf2 /media/$USER/RPI-RP2/
コピーと同時に起動します。シリアルで制御しますので、端末を立ち上げます。
sudo minicom -D /dev/ttyACM0 -b 115200
プロンプトが確認できます。
>>> MicroPython v1.18 on 2022-01-17; Raspberry Pi Pico with RP2040 Type "help()" for more information. >>>
この時点でインタプリタは有効なので、手入力で GPIO などの動作が確認できます。(Pin(25)は基板上のLED)
>>> machine.Pin(25) Pin(25, mode=ALT, pull=PULL_DOWN, alt=31)
VSCode に Pymakr を導入
Pymakr は Pycom IoT プラットフォーム用の VSCode 拡張機能で、MicroPython とやりとりして開発することができます。Pycom 用ではありますが、pico でも利用することができます。
まず VSCode の marketplace で "pymakr" を探してインストールします。インストール状態では使えないので設定を変更します。
[Ctrl]+[Shift]+[P] で パレットを呼び出し、"Pymakr > Global settings" を開きます。
以下の項目を修正します。
{ "address": "/dev/ttyACM0" "open_on_start": false "auto_connect": false }
スクリプト作成&実行
任意のディレクトリを作成し、main.py の名前でプログラムを作成しておくと、Pymakr 起動時にプロジェクトとして認識され、設定ファイル(pymakr.conf)を自動的に作成します。ここでは仮に以下のスクリプトを main.py として置いておきます。
import utime while 1: print("Hello!") utime.sleep(1)
VSCode をディレクトリ指定で起動して最下行に "Pymakr console" が出ていればプロジェクトとして利用可能です。
"Upload" で スクリプトを pico 側に書き込みます。
書き込むと同時に実行を開始しますが、実行するまでは Pymakr がシリアルを占有しているので、一度切断して VScode を再起動して接続するか、切断して minicom を起動して 1秒間隔で表示される"Hello!" を確認します。
無限ループを使う上での注意として、一度走り始めるとPymakr のコンソールでは止めることができないことです。一旦 USB を抜いて minicom で立ち上げ直して止める必要があります。この辺りは使っていて少し癖があるように感じます(ちゃんと分かってないところも多々ありますが)。
コメント