Scrach と Python の連携


Scrach は、初心者向けのプログラミング言語学習環境です。
ブロックを組み合わせてプログラムを作る ビジュアルプログラミング言語 の代表格です。

注意
Scrach の最新版は バージョン 2.0 ですが。
この記事は バージョン 1.4 について述べています。
Scratch のサイト からダウンロードできます。

遠隔センサー
Scrach 1.4 には、遠隔センサー (Remote Sensors) という機能があります。
仕様は Scratch Wiki に記述されています。
Remote Sensors Protocol

日本語で解説している記事もあります。
Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する

簡単に説明すると。
ポート 42001 を使ったソケット通信です。
メッセージの形式は、本文のサイズ (4バイト)+本文 (nバイト) です。
メッセージは2種類あり、broadcast と sensor-update です。

Python との連携
Python では、遠隔センサーを使うための py-scratch というモジュールが公開されています。
今回は、これを使用しますが。
プログラム本体は、150行とコンパクトなので、自分なりに改版して使うのも良さそうです。

py-scratch のインストール
(1) サイト からモジュールをダウンロードする

(2) インストールする

$ sudo python setup.py install
...
Finished processing dependencies for scratch==0.0.1a

動作確認1 : Python から Scratch へ
Python から broadcast メッセージを送信し、Scratch の猫を移動させる。
メッセージは、アルファベット1文字です。
c : 中心に移動する
l : 左に移動する
r : 右に移動する
u : 上に移動する
d : 下に移動する
20160801_python_to_scrach

動作確認2 : Scratch から Python へ
Scratch の画像をクリックすると、broadcast メッセージを送信し、Python にてメッセージを表示する。
画像とメッセージの対応。
ねこ : cat
いぬ : dog
うま : horse
20160801_scrach_to_python

プログラム
作成したプログラムは Github で公開しました。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です