Scratch1.4で遠隔センサーなる物が使えるらしいので、試してみた。
遠隔センサーを有効にしなければならないので、[調べる]タブにある[スライダーセンサーの値]ブロックなどにカーソルを持っていき、右クリックするとメニューが出てくるので、そこから遠隔センサーを有効にする。
そうすると、Scratchの遠隔センサーを使うためのサーバーが起動するのだ。
次に、PCにインストールしているTera TermをIP127.0.0.1/ポート42001でtelnet接続(これは1台のPCで完結させるため、ローカルホスト(127.0.0.1)を使う)。PCをもう1台用意できるのであれば、その方がデバッグしやすいね。
その時は、もう1台の方にTera Termをインストールしておき、ScratchがインストールされているPCのIPアドレスを指定することになる。その場合も、ポート42001は指定すること。
ScratchをインストールしてあるPCのポート42001をセキュリティソフトなどで塞いでいる人は、遠隔センサーは使えないのでご注意を。
[制御]タブの[を送る]ブロックに適当な文字を入れて、[を送る]ブロックをダブルクリックすると、broadcast “入れた文字”がTera Term側に表示される。
変数を作成すると、sensor-update 云々という文字が表示される。
Tera Term側からScratchへコマンドを送ることができると思うのだが、エラーになってしまい、サーバーがクラッシュ(?)してしまうようだ。
rubyやら、ホットスーププロセッサー(HSP)などでもScratchと通信できるというブログを発見しているので、できると思うのだが。はてさて。
まぁ、Scratchを使ってイーサネットでコマンドを送ることができることは分かったので、コマンドを受ける方をマスターしないとな。
16進数にしてデータを送るのかしらん?どうするんだろう…。うーん。
2017.1.22追記:ついにTera Termでもコマンドを送ることができた。どうも、普通のテキストではだめでバイナリーデータに変換してやらないといけないようなのだ。
のんさんのTCP/IPテストツールが非常に役になったことも併せてお知らせしておこう。でも、rubyでソースを公開している人のを真似しても、全くだめだったのが理解できない。うーん。