Micro:bitをプログラミングするにはマイクロソフトのMakeCodeを使うのが一般的だが、スクラッチと繋いで、スクラッチからプログラミングすることも出来る。(使えるセンサーなどは限られる)
ただし、Scratch Link というアプリをPC側で起動させなければならず、残念ながらLinuxはサポートされていない。
Linux版 Scratch Link
Linux用のScratch Linkで検索してみると、Kawasakiさんが公開しているpyscrlinkというのを見つけたので、これを使ってみる。
LinuxはDebianを使用する。Micro:bitとPCとの間の通信はBluetoothで行われるので、PC側にBluetoothアダプターを装着して、Bluetooth操作に必要なライブラリ等も追加しておく。
$ sudo apt update
$ sudo apt install bluez libbluetooth-dev libnss3-tools libcap2-bin libglib2.0-dev
pyscrlink自体はPythonで実装されているので、Python環境の構築もしておく。インストールには、pipではなくpipxを使用したほうがスムーズにいくので、pipxもインストール。
$ sudo apt install pipx
そして、pyscrlinkをインストールする。
$ pipx install pyscrlink
Scratch Link を立ち上げるまえに、Bluetoothの設定。
$ bluepy_helper_cap
この時、管理者パスワードを聞かれるので、素直に入力。これで、設定は完了。早速サービスを立ち上げる。
$ scratch_link
2023-11-08 14:13:10,156 Certificate is ready in FireFox NSS DB: /home/user/.mozilla/firefox/kyyypxxx.default
2023-11-08 14:13:22,024 Certificate is ready in FireFox NSS DB: /home/user/.mozilla/firefox/ayyy3xxx.default-esr
2023-11-08 14:13:33,876 Certificate is ready in Chrome NSS DB: /home/user/.pki/nssdb
2023-11-08 14:13:33,913 Started scratch-link
これで、Scratch Linkが立ち上がったので、あとはmicro:bitの設定。
micro:bitの設定
micro:bitには、あらかじめスクラッチ用のfirmwareを入れないと繋がらない。
まず、スクラッチのサイトからHEXファイルをダウンロードする。次に、micro:bitをUSBでPCに繋ぐ。この時、Linuxはストレージデバイスとして認識するので、マウントして、先程ダウンロードしたHEXファイルをそのままコピーする。すると、micro:bitのLEDが点滅して、しばらくするとリセットされる。これで、micro:bit側の設定は完了。
スクラッチでテスト
スクラッチの拡張機能の追加で、micro:bitをセレクト。
micro:bitの電源をいれ、scratch_linkを立ち上げ、Bluetoothが設定されていれば、次の画面になる。
接続すれば、スクラッチ上でプログラミング出来るようになる。
スクラッチのエディターに戻ると、micro:bit用のブロックが追加されている。
ためしに、micro:bitの加速度センサーを使って、スプライトを動かすコードを作ってみる。
micro:bitを傾けると、その方向にスプライトが動くのを確認できた。