toioDoをRaspberry Piで動かす(pyscrlinkを動かせばOK)


はじめに

 toio core cubeをビジュアルプログラミングで操作できるtoioDoですが、(2021年11月末時点で)対応環境が、Windows10、MacOS10.13、iPadOS13、Chromebookに限られています。BLEを使う都合上、PC(Windows/Mac)ではscratch-linkが必要だからという事情だとは思いますが、Raspberry PiとかJetsonとかのLinuxが動く環境でもtoioDoを使いたいですよねぇ。
 と思っていたら、なんとpythonで書いたscratch-link相当品があるとのこと。すばらしい。

 試しにRaspberry Pi OSで動かしてみたらちゃんと動いたので、インストール手順などを書いてみようと思います。

インストール手順

 基本、上記のGitHubにあるREADME.mdどおりに行えば大丈夫です。(動作した、しなかったは記事の最後の方にまとめました。)

sudo apt update
sudo apt upgrade
sudo apt install bluez libbluetooth-dev libnss3-tools libcap2-bin libglib2.0-dev
pip3 install pyscrlink

動かし方

まずscratch_linkを動かしておきます。

cd ~/.local/bin   (pip3でのインストール方法によってはパスが違うのでscratch_linkがインストールされた場所にパスを通してください)
./bluepy_helper_cap  (これは最初の1回だけでいいようです)
./scratch_link -s 1 (これはtoioDoを使う前に起動しておく必要があります)

scratch_linkが起動した状態で、chromiumブラウザ、またはfirefoxブラウザでtoioDoのページを開くことでWindows10/MacOSと同様にtoioDoで2つのtoio core cubeをコントロールできます。

右上のtoio core cubeマークに緑色のチェックマークが入り、接続できていることがわかります。

上図のScratchプログラム(といってもブロックを一つづつだけですが)を動かした状態。片方はLED点灯、片方は回転。

toioDo公式サイトのサンプルも動作します。

うまく行かない場合はscratch_linkを再起動してやりなおしてみてください。

動作確認状況

 いまのところRaspberry Pi 4B/400では Raspberry Pi OS 64bit版を使うのが良いようです。(32bit版でも動きますが、全体的に動作が遅いのでおすすめしません。)

動いた

  • Raspberry Pi 400 4GB Raspbery Pi OS 64bit版(2021-11-03)
  • Raspberry Pi 400 4GB Raspbery Pi OS 32bit版(2021-11-03)
  • Raspberry Pi 4B 4GB Raspbery Pi OS 64bit版(2021-11-03)
  • Raspberry Pi 4B 4GB Raspbery Pi OS 32bit版(2021-11-03)
  • PC(Ryzen5-2600) + USB-Bluetoothドングル(CSR8510 A10) Ubuntu 18.04 x86_64

動かなかった

  • Raspberry Pi 400 4GB Ubuntu20.04
    • toioDoの画面からtoio core cubeに接続できず。(Chrome NSS DB not found. Do not add certificate.)
  • Raspberry Pi 4B 4GB Ubuntu20.04
    • toioDoの画面からtoio core cubeに接続できず。(Chrome NSS DB not found. Do not add certificate.)
  • Jetson Xavier NX開発者キット Jetpack 4.6
    • pip3 install pyscrlinkのときにPyBluez-0.23のインストールでerror in Pybluez setup command: use_2to3 is invalid.

なんということでしょう

 Advent calender用の本記事を書いたのですがなんと、

「toio」の無料プログラミングサービス「toio Do(トイオ・ドゥ)」バージョン1.3 
2021年12月7日(火)より順次アップデート予定

またWeb BluetoothによりScratch Linkなど追加インストールが不要に。

 scratch_linkなしでも動くようになるそうです。(^^;
 まあ、リリースされたら動作確認してみます。