MIT Scratch-like ESP32 microcontroller network programming.
MIT Scratch(スクラッチ)という、グラフィック操作ベースのプログラミング環境がありますね。こんなのです。お子様向けのプログラミング学習として、世界中の小学校などで取り上げられているようです。
以下をクリックすると始められます。
いきなりプログラミング画面が現れますが、心配不要です。ウィンドウやタブを閉じればおしまいです。
マイコンのプログラミングもできたら良いのに!
さて。マイコンで LED を点滅させたり音を鳴らしたり、ということを子供向けに取り上げたいとき、これも Scratch でできたら良いのにな、と思われる方(教育関係者さん)も多いのではないでしょうか。
以前から調べていたところでは、そのようことに企業として取り組んでいるプロジェクトに、以下のようなものがありました。
- Piper Make(パイパー・メイク)
- Mind+(マインドプラス)
前者は、宇宙プロジェクトミッションみたいなシナリオを使って、マイコンを使ったプログラミングを習得できる、という秀逸なプロジェクトです。ハードウェア製品は(もちろん)有償ですが、サイトは無償で閲覧できます。残念ながら、日本語には未対応のようです。
後者は、それほど凝ったシナリオベースではありませんが、これも似たようなプロジェクトです。こちらも日本語の情報はほとんどなく、主に中国語利用者向けです。
ネットワークプログラミングもできたら良いのに!
さらにそれだけでなく、ネットワークプログラミングもできると、いわゆる IoT 的な実験ができて、アイデアが膨らみます。
調べてみると、(有名な)M5Stack 社が、UIFlow というプラットフォームで、Scratch 風のマイコンプログラミングを提供していることがわかりました。
余談: 最新の Scratch v3.0 は、従来のバージョンとは異なり、Google Blockly というライブラリを使って書き直されているそうです。この Google Blockly は Scratch とは別にライセンス、配布されているので、多くのプロジェクトで(厳密には Scratch ではないけど)Scratch 風のプログラミング環境を利用できるようになっています。UIFlow も、Blockly ベースなのではないかと思われます。
試しに、以下から M5Stack UIFlow にアクセスすると、画面中央の列にある「高度なブロック」から、各種ネットワークプログラミングの「ブロック」を利用できることが分かります。
MicroPython のコードを閲覧することもできます。
プロトコルとしては、HTTP や MQTT、必要であれば生の UDP ソケットプログラミングもできるようです。
これは面白そうです。御興味ある方は、ぜひトライしてみてください!(ファームロジックスでも取り上げるかも…)
後記(2022年11月6日)
続きの記事を書いてみました。よろしければ御参考ください。