投稿

5月, 2021の投稿を表示しています

Scratch × Firmata ×Python 自作ブロック ~ Arduino制御

イメージ
  今回はScrach 3.0の 拡張機能 を作ることで、自作のブロックを用意できるようなので試していきたいと思います。 Firmataや Python の詳細な使い方に関しては今回の記事では説明しないので 以前の記事 1・ 以前の記事 2を合わせて読んで頂けるとよりわかりやすいと思います。 最初はScratch側から「Jony-Five」というパッケージを使ってFirmataで通信したかったのですが、パッケージをインストールしてインポートすると、依存関係でScratchが起動しなくなってしまい、どうしても解決できませんでした。なのでScratchからは簡単にURLをたたくだけにして、 Python サーバを挟んで Arduino を操作する少し遠回りな方法で解決することにしました。 記事内容がとても長くなっていますが、ブロックの作成までのプロセスを知りたい方は、第4項 ブロックの説明 まで読んで頂ければ十分です。 環境 OS 名: Microsoft   Windows  10 Home モデル: Surface  Laptop 3 システム:x64-ベース PC Node.JS バージョン:14.06.0 LTS (3/28時点の推奨版) 準備&動作確認 私の場合は公式サイトに載っている方法のままで動作したので、その手順に則って必要な操作を載せていきます。 細かい説明が必要な場合は公式サイト↓を確認してください。本記事では途中で名前の付け方やブロックの動作などオリジナルな部分が出てくるので両方を見比べるとわかりやすいかもしれません。 ja.scratch-wiki.info ダウンロード&起動 まずは コマンドプロンプト でGit Hubからコードをもらってきて、そのあと npm link します。 私は知らなかったのですが npm link した後に、 npm install とするとリンクが削除されてしまうようで、Jony-Five導入テストの時にこれで躓いてしまいました。 git clone --depth 1 https://github.com/llk/scratch-vm.git git clone --depth 1 https://github.com/llk/scratch-gui.git cd scratch-vm npm i np