blokdots & ProtoPie
blokdotsはArduinoを使用してインタラクティブなハードウェアを作るのに利用できるコードフリーのソフトです。ProtoPieで作成したプロトタイプとblokdotsを一緒に使用することで、コードを書くことなくハードウェアとソフトウェアのプロトタイピング間をスムーズに繋ぐことができるようになります。
ProtoPieとblokdotsはどう作用するのか、詳しく見てみましょう。
- ProtoPie Studioで、インタラクションのあるプロトタイプを作成します。
- ProtoPie Playerはスマートデバイスでプロトタイプを実行します。
- blokdotsは、socket.IOを介したArduinoとプロトタイプ間の通信を容易にします。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/e6281a443275cb3fd116a17ca4081b7dbb04e22d-2984x1172.png/blokdots_and_protopie_environment.png)
接続のための準備
ProtoPieでblocdotsを使用するには、下記が必要です。
- blokdotsアプリとArduino IDEソフトウェアをデスクトップにインストールします。
- Arduinoボードをセットアップします。 サポートされているボードを事前にこちらからご確認ください。
- ArduinoボードをラップトップまたはPCに接続するためのUSBケーブル。
Arduinoをblokdotsに接続する
blokdotsを開き、ArduinoボードをラップトップまたはPCに接続します。 blokdotsには、ライブビューとプロジェクトビューの2つのウィンドウがあります。
Arduinoボードがライブビューで準備ができていることを確認したら、コンポーネントのセットアップを開始しましょう。
blokdotsでのコンポーネントの設定
- Connect A New Componentをクリックして、接続するコンポーネントを選択します。
- Set Componentをクリックします。
上記を設定することでblokdotsがArduinoボードのどのコンポーネントを制御するかを認識します。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/814d853313289554efcfda2f3bf43eed21e7c14c-642x860.png/setting_up_components_in_blokdots.png)
3. Project Viewウィンドウの左側にあるProject Componentsセクションに移動します。
4. 各コンポーネントのuseボタンをクリックして設定を有効にします。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/5abc071a9bb29c82ed29196058a714da78efcf3f-1760x1322.png/activate_components_in_blokdots.png)
blokdotsを介してProtoPieをArduinoに接続する
blokdotsアプリを使用することで、ProtoPieとArduinoが互いにメッセージを送受信できるようになります。
- ProtoPie Studioで送受信を設定します
ProtoPie Studioでは受信トリガーと送信トリガーを使ってデバイス間の通信を設定します。 チャネルをProtoPie Studioに設定してあることをまず確認してください。メッセージと値は任意に設定できます。
2. blokdotsで条件カードを作成します
blokdotsコンポーネントにロジックを追加するには、プロジェクトビューのメイン画面でカードを追加して構成する必要があります。 blokdotsには、“If This Then That” カードと “Mapping” カードの2種類があります。
ProtoPie PlayerとArduinoの間で最終的な送受信が行われるため、両方を組み合わせることでコミュニケーションが可能になります。
blokdotsからProtoPieへのメッセージの受信
blokdotsからProtoPieにメッセージを送信するには、条件カードを下記のように設定してください。
- If
the action of any input hardware component
- Then
ProtoPie Player
shouldsend
message
以下のスマートホームプロトタイプの例では、Arduinoボードのポテンショメータを回すと、ProtoPie Playerで実行されているPieファイルに表示される温度度の値が変更されます。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/2cd005c30e79de84a4dfc3dc22b832cbccc02807-1760x860.png/smart_home_condition_card_blokdots.png)
blokdotsからメッセージを受信するには、以下のようにProtoPie Studioの受信トリガーを使用します。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/4fef2678c0e1f920bd7804cabfbb0414bbe7313e-1760x953.png/receive_trigger_protopie_studio.png)
ProtoPieからblokdotsへのメッセージの送信
ProtoPie Studioからblokdotsにメッセージを送信するには、送信レスポンスを使用します。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/c4c280987357b6a60faae371988bf02a7124ea2f-1760x952.png/send_response_protopie_studio.png)
ProtoPieからメッセージを受信するには、blokdots側の条件カードを下記のように設定してください。
- If
ProtoPie Player
isreceiving
message
- Then
the action of any input hardware component
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/3beaed08980151471a06a7bd24f0d7e17f442da8-1760x860.png/condition_card_receiving_message_blokdots.png)
インタラクションのテスト
インタラクションをテストするには、下記の手順をご参照ください。
1. ProtoPie Playerをblokdotsに接続します
Live View からQRコードをスキャンするか、IPアドレスを入力します。 ProtoPie Playerのコンポーネントは、セットアップされると緑色に変わります。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/73d1167512cb610fec8cb7ebca745ee0c20c2c54-1450x800.png/connecting_player_with_blokdots.png)
2. ProtoPie StudioをProtoPie Playerに接続します
ProtoPie Playerの詳細についてはこちらをご覧ください。
3. プロジェクトをblokdotsで実行します
Live ViewからプロジェクトのRun Projectボタンをクリックします。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/6473ea1dd7522e6fca6af05f8f3bf2682a04dfd5-1760x1322.png/run_project_in_blokdots.png)
ProtoPieとblokdotsの統合についての詳細やテストについてはこちらからガイドをご覧ください。
FAQs
My Arduino board is not detected. What should I do?
Arduinoボードが検出されません。 どうすれば良いでしょうか?
ボードがArduinoアプリケーションのポートメニューに表示されず、blokdotsアプリケーションに“Board not connected” というメッセージが表示される場合は、こちらを参照してください。
I get an error message on the blokdots app that Firmata cannot be uploaded. What does it mean?
blokdotsアプリで、Firmataをアップロードできないというエラーメッセージが表示されます。 どういう意味ですか?
blokdotsと通信できるようにするには、ArduinoボードをFirmata (コンピューターとの通信を可能にするプロトコル)でフラッシュする必要があります。blokdotsを開いてArduinoを接続すると、blokdotsはボードをFirmataで自動的にフラッシュします。 ただし、Firmataをアップロードできないというエラーメッセージが表示された場合は、次の手順に従ってトラブルシューティングを行ってください。
Arduino IDEを開く→File→Examples→Firmata→StandardFirmata→矢印アイコンをクリックしてFirmataをアップロードします。 スケッチが編集されると、Firmataが正常にアップロードされたという通知メッセージが表示されます。