Linuxでmicro:bitとスクラッチを繋いでみた

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を傾けると、その方向にスプライトが動くのを確認できた。

タイトルとURLをコピーしました