Scratch で通信

久しぶりにScratchを取り上げます。今回はScratch以外のプログラムと通信をするテストをしました。Socketライブラリを使っていますので、どんな言語でも接続できます。
センサーや入力デバイスから取得した値により、プログラムを制御したり、他のアプリケーションとの連携ができます。
環境 : Scratch 1.4, Python 2.7.3 / Raspberry Pi2
参考 : http://scratched.gse.harvard.edu/discussions/computer-science-education/how-can-i-connect-scratch-using-python

まずはScratch側で受信します。

sock02
センサー値”value”は、プログラムを一度動かして送信してみてからでないと、選択肢に現れませんでした。
センサーブロックは、右クリックして「遠隔センサー接続を有効にする」を選択します。
プログラムを起動すると、吹き出しが1秒ごとに0から9変化します。

send.py

次は、Scratchから送信します。
sock03

Pythonプログラムは起動してScratchからの送信を待ちます。
グリーンフラッグをクリックしてScratchプログラムを開始します。
Scratch上のマウスのX座標をプログラム側で1秒おきに受信します。

実行結果
sock04
まずはプログラム側から送信、そして受信とわけて実行しました。
外部とのデータのやりとりができると、また可能性が広がりますね。