2015年12月21日月曜日

PubNubを使ってArudinoを制御する

①PubNubのアカウントの登録(無料)
 PubNubに登録し、Publish KeyとSubscribe Keyを取得します。













②Arduinoのセットアップ
 「ArduinoをJavaScriptで制御する」の手順でArduinoをセットアップします。

③PubNubモジュールのインストール
1.コマンドプロンプトを起動し、作業用フォルダに移動します。
2.「npm install pubnub」と入力します。

④コードの作成
1.次のJavaScriptコードを入力し、「main.js」と名前を付けて作業用のフォルダに保存します。


「var board = new five.Board({port: "COM3"});」の「COM3」は、Arduinoと通信を行うシリアルポートを指定します。

2.次のHTMLコードを入力し、「index.html」と名前を付けて保存します。


※「index.html」は、別のPC、インターネット上のWebサーバーなど、どこに置いても構いません。

⑤動作の確認
1.以下のように回路を配線します。


2.コマンドププロンプトを起動し、作業用フォルダに移動します。
3.「node main.js」と入力します。
4.ブラウザで「index.html」を開き、[ON]ボタンのクリックでLED点灯、[OFF]ボタンのクリックでLEDが消灯することを確認します。


Windows Virtual Shield for Arduino

「Windows Virtual Shield for Arduino」は、Windows10デバイス(主にWindows10 Mobileのスマホ)のセンサー類を使って、Arduinoを制御するためのライブラリです。たとえば、スマホからの音声入力で、ArduinoのGPIOに接続したLEDを点灯、消灯することができます。

※ただし、筆者は、Windows10 Mobileのスマホが所有してないため、動作検証は取れていません。Windows10 PCなどで試してはみましたが、動作しませんでした(動作検証は継続中)。

必要なモノ
・Windows10 Mobileのスマホ(公式では、Lumia 520 または Lumia 635 を推奨)
Virtual Shields for Arduinoアプリ
Arduino Uno

Virtual Shields for Arduinoアプリのインストール
 リンクをクリックすると、ストアは開くので当該アプリをインストールしてください。

②Arduinoのセットアップ
 「Arduinoのセットアップ」の手順5まで行います。

③ArduinoJsonライブラリのインストール

1.Arduino Software(IDE)の[スケッチ]→[IncludeLibrary]→[Manage Libraries]を選択します。
2.「ArduinoJson」で検索し、表示された項目を選択して、[インストール]をクリックします。
3.[閉じる]をクリックします。
4.[ファイル]→[スケッチの例]のメニューに、「ArduinoJson」が追加されていることを確認します。





④「Windows Virtual Shields for Arduino」 ライブラリのインストール

1.ここから、「Windows Virtual Shields for Arduino」 ライブラリのZIPファイルをダウンロードします([Download ZIP]をクリック)。
2.ダウンロードしたZIPファイルを展開し、「ドキュメント\Arduino\libraries」フォルダにコピーします。










3.Arduino Software(IDE)が起動している場合、再起動します。
4.[ファイル]→[スケッチの例]のメニューに、「Windows Virtual Shields for Arduino」が追加されていることを確認します。









⑤サンプルスケッチの展開

1.[ファイル]→[スケッチの例]→「Windows Virtual Shields for Arduino」→「HelloWorld-Speech-Eventing」を選択します。
2.[スケッチ]→[マイコンボードに書き込み]を選択し、スケッチをデバイスに展開します。

⑥接続

1.Virtual Shields for Arduinoアプリを起動し、右下の[・・・]をクリックし、[Settings]をクリックします。
2.接続方法、デバイスを選択し、[Connect]ボタンをクリックします。


⑦回路の配線
 GPIOの8ピンにLEDを接続します。

「HelloWorld-Speech-Eventing」は音声でLEDをオンオフするみたいですが、残念ながら、実際の動作確認はできていません。

Node.jsとJohnny-FiveとWeb Speech APIでArduinoを音声で制御する

①動作環境のセットアップ
 「ArduinoをJavaScriptで制御する」を参照してください。

②「socket.io」のインストール
1.コマンドププロンプトを起動し、作業用フォルダに移動します。
2.「npm install socket.io」と入力します。

③コードの作成
1.次のJavaScriptコードを入力し、「server.js」と名前を付けて作業用のフォルダに保存します。
「var board = new five.Board({port: "COM3"});」の「COM3」は、Arduinoと通信を行うシリアルポートを指定します。

2.次のHTMLコードを入力し、「index.html」と名前を付けて作業用のフォルダに保存します。


④動作の確認
1.PCにマイクを接続します。
2.コマンドププロンプトを起動し、作業用フォルダに移動します。
3.「node server.js」と入力します。
4.Web Speech API対応のブラウザ(Chromeなど)で「http://localhost:3000」を開きます。
※ネットワーク上の他のPCやスマホからアクセスする場合は、「http://<IPアドレス>:3000」形式でURLを指定します。

5.[音声入力開始]ボタンをクリックします。



















6.「スイッチオン」と話すとLEDがオン、「スイッチオフ」と話すとLEDがオフすることを確認します。
※認識しない場合もあります。


 Bluetoothデバイスのシリアルポートを指定すれば、無線通信も可能なので、スマホからの音声乳六でコントロールするロボットなども意外と簡単にできそうです。

ArduinoをJavaScriptで制御する

必要なモノ
Node.js
Johnny-Five
Firmata

Arduinoのセットアップ
 ArduinoにFirmata(StandardFirmata)を書き込みます。

②Node.jsのインストール
 インストーラの支持に従って、インストールしてください。

③Johnny-Fiveのインストール
1.作業用フォルダ(例「ArduinoJS」)を作成します。
2.コマンドプロンプトを起動し、作業用フォルダに移動します。
3.「npm install johnny-five」と入力します。

④動作テスト
1.以下のように回路を配線します。



2.以下のコードをテキストエディタなどで入力し、作業用のフォルダに保存します。

※「{port: "COM3"}」には、通信に使用するシリアルポートを指定します。

3.コマンドプロントから「node  johnny-five-test.js」と入力します。

2015年12月20日日曜日

Windows Remote Arduino

「Windows Remote Arduino」は、BluetoothまたはUSB接続を介してのArduinoを制御するためのオープンソースのWindowsランタイムコンポーネントライブラリです。


STEP1 Windows IoT開発用PCのセットアップ
STEP2 Arduinoのセットアップ
STEP3 回路の配線
STEP4 Windows Remote Arduinoのプロジェクトの作成
STEP5 USBやBluetoothの機能の有効化(アクセス権の許可)
STEP6 プログラムの作成


必要なモノ(リンク先:Amazon)
Arduino Uno Rev3
Arduino エントリーキット(Uno版) ←ブレッドボード、LEDなどのパーツ付き
USB2.0ケーブル(A-Bタイプ)

Bluetooth接続をしたい場合(リンク先:千石電商、スイッチサイエンス)

SpakFan WRL-12580 Bluetooth Mete Gold
SparkFun Bluetooth Modem - BlueSMiRF Silver

Microsoftの公式ページでは、Bluetooth Mete Silverを推奨していますが、公開されている写真を見ると、BlueSMiRF Silverが使用されています。ちなみに上記のどちらも動作確認済みです。

Arduinoのセットアップ

1.Arduino Software(IDE)をダウンロードして、インストールします。
2.USBを使用して、PCにArduinoのデバイス(ボード)を接続します。
3.Arduino Softwareを起動します。
4.[ツール]→[マイコンボード]を選択し、表示されてるボード名が、接続されているボード名と一致しているかを確認します。合ってない場合は、一覧から選択します。

5.[ツール]→[シリアルポート]を選択し、ボード名が表示されているCOMポートが選択さているかを確認します。選択されていな場合は、一覧から選択します。















6.[ファイル]→[スケッチの例]→[Firmata]→[StandardFirmata]を選択します。
7.[スケッチ]→[マイコンボードに書き込み]を選択し、StandardFirmataスケッチをデバイスに展開します。



回路の配線





















 回路図では、Mate Silverとなっていますが、Mate Goldでも同じです。
 BlueSMiRFはMateとはピン配列が異なるので、注意してください。


 

 配線が完了したら、PCにBluetoothデバイスをペアリングします。

1.[スタート]→[設定]を選択します。
2.「デバイス」をクリックし、「Bluetooth」を選択します。
3.[Bluetooth] をオン(機種によっては必要ない) にし、デバイスを選び、[ペアリング] を選択します。
4.パスコード「1234」を入力し、[次へ]をクリックします。