0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

toio doをローカルで起動する

Posted at

つくると!8に出展

先日、CoderDojo香椎としてつくると!8に出展しました。

4896621c-8ca3-4a4f-be7c-e5709d3452f9.jpg

micro:bitをコントローラとしてtoioを動かし、ピン球をゴールに入れる簡易なサッカーゲームを用意しました。
toioにnanoblockのキャラクターを取り付けるためにこちらで公開されている3Dモデルを使用しました。

またtoioだけではピン球を上手く操れないので、上記のモデルに合わせたパーツを用意してもらいました。
(CoderDojo香椎を手伝ってくれている方が半日で作成してくれました。)

スクリーンショット 2025-08-12 212613.png

システム構成

toioは toio doを使って動かしています。
micro:bitの接続は micro:bit moreを使用しました。
特筆すべき構成ではありませんが、インターネット接続が前提になっています。
幸いなことに当日はネットワークトラブルもなく無事に終わることができました。

ネットワークトラブル対策

今回はトラブルはなかったものの、会場によってはネットワーク接続できないことも考えられます。toio doのサイト自体にトラブルがあり使用できないこともあるかもしれません。

不測の事態の対策としてtoio doをローカル環境でも動かせるように試してみました。

ローカル環境で動かす

toio doのソースはgithubに公開されています。

ソースを読んでみましたが実際のサイトと内容が違っていそうです。
ソースの更新日時を見ると6年前のようなので更新はされていなさそうです。

gh-pagesブランチを見るとビルドしたものがここにありそうです。

最新のv3.6.12をローカルにコピーし、WEBサーバを起動しました。

py -3 -m http.server 8000

http://127.0.0.1:8000/ にアクセスすると無事に起動しました。toioの拡張ブロックも追加されています。

スクリーンショット 2025-08-13 105040.png

micro:bit moreを追加したい

ここにmicro:bit moreの拡張があるので、ローカルでも追加できそうです。

スクリーンショット 2025-08-13 105343.png

試しに追加してみましたが、不正なエラーになりました。

スクリーンショット 2025-08-13 105357.png

エラーログに出ているstatic/assets/config.jsonをみると、localhost:8080しか許可されていないようです。

{
  "allowed_extension_urls": [
    "https://toio.github.io/",
    "https://toio.io/",
    "http://localhost:8080/",
    "https://studyapps.github.io/bidirectional-comm/bidirectional-comm.mjs",
    "https://studyapps.github.io/bidirectional-comm/bidirectional-comm-trial.mjs",
    "https://studyapps.github.io/bidirectional-comm/bidirectional-comm-basic.mjs",
    "https://studyapps.github.io/test/bidirectional-comm.mjs",
    "https://studyapps.github.io/test/bidirectional-comm/bidirectional-comm-trial.mjs",
    "https://studyapps.github.io/test/bidirectional-comm/bidirectional-comm-basic.mjs",
    "https://eqot.github.io/scratch-contents/2way2.mjs"
  ]
}

ポート:8080で起動しなおして、localhost:8080にアクセスしました。

py -3 -m http.server 8080

スクリーンショット 2025-08-13 105914.png

今度はmicro:bit moreの拡張ブロックが追加されました。

おわりに

サッカーゲームを作るときにtoio同士が衝突したときに何かさせてみたかったのですが、実際に動かしてみると衝突の判定が上手くいかず、断念しました。

toioの仕様をみると衝突判定のしきい値を変えられるようなのですが、toio doではできないようです。
ソースが更新されたら、衝突判定のしきい値を制御するブロックを試しに作ってみたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?