Raspberry piの電子工作やPythonとかjavascriptとかかじってます

ScratchDayでScratchXのデモをしてきました

ScratchDay Tokyo 2016でScratchXのデモをしてきました。
ScratchXとは、Scrtach2.0の機能のほかに、外部のJavascriptファイルでScratchにブロックを追加できる機能を追加したバージョンのScratchです。
現在ベータ版となっていますが、APIなどと組み合わせて、Scratchのブロックにはない機能を追加できます。
今回はその機能の一つのを使ってAndroidスマートフォンBluetooth通信をするものを作り、デモしました。
スマホ側のアプリとScratchx用の外部Javascriptファイルを作り、公開したので、誰でも使えます。
youtu.be


使い方

セットアップの方法をまとめました。PC側のソフトのインストールは動画に入っていないので、先にやっておいてください。
youtu.be

1スマホとのペアリング

ペアリングをしないとアプリからPCを探せません。1度行えばその後はこの手順はいりません
PCや、スマホの機種によって方法はバラバラですが、大まかな手順は

1 両方のデバイスでBluetoothをONにする

2 片側のデバイスで"周囲の端末に表示"させ、もう片側のデバイスで"デバイスの検索"をする

3 検索したほうのデバイスから接続したいデバイスにペアリングを申請する

4 PINコードまたはパスキーを打ち込むまたは接続をするかをYES/NOで答える

のような感じです。

2スマホ側の準備

1 Google Play Storeでアプリをインストール
play.google.com

2 BluetoothをONにする

3 アプリを開く

4 接続先の選択を押してPCのアドレスを選ぶ

5 デバイスに接続を押す
PC側で接続を許可するか聞いてくることがあります。許可してください。

3PC側の準備

1 Firefoxブラウザをダウンロード、インストール。
 Firefox のダウンロード — 自由な Web ブラウザ — Mozilla

2 Flash Playerをインストール
Adobe Flash Player インストール (すべてのバージョン)


3 エクステンションのプラグインを(other web browsers)ダウンロードして、実行。
Scratch Extensions Browser Plugin

1~3の作業はWeDoなどがScratch2.0で使える環境を作ってあれば行わなくても大丈夫かもしれません


4 FirefoxブラウザでScratchxを開き、Open Extension URLを押す。
ScratchX


5 次のURLにをコピーして実行し、I understand, continueを押す。
http://naritaku.github.io/droid.js


5 追加されたブロックの上部分の信号が緑になっていれば接続できているはずです。

各ブロックについて

ハットブロック
アプリ内の対応した色のスイッチが押されると実行されます。

messageブロック
アプリの送信ボタンを押した時のアプリ内のテキストボックスの文字列が返されます。

○○-btnブロック
アプリ内の対応した色のスイッチが押されると1、押されていないと0が返されます。

詳しい仕組みなどは後日書きます