2016年2月5日金曜日

Arduino+dweet.io+freeboardでIoT - データの可視化

 freeboardは、IoTのデータを可視化するクラウドサービスです。dweet.ioやPubNubと連携することがきます。

今回は、dweet.ioとfreeboardを使って、Arduinoで計測した温度データをグラフ化する方法を説明します。回路は、「Arduino 温度測定」を使用します。



○Arduinoの準備
①Arduino開発環境の構築
1.「ArduinoをJavaScriptで制御する」の手順で開発環境を構築します。
2.コマンドプロンプトから「npm install node-dweetio」と入力し、node.jsのdweetioモジュールをインストールします。

②プログラムの作成
1.次のJavaScriptコードを入力し、「temp_dweet.js」と名前を付けて、作業用フォルダに保存します。
dweet.ioでは、「thing-name」を使ってデータ(メッセージ)の送受信を行います。「thing-name」には、ユニークな名前を指定します。
データは、{ Key : Value}の形式で、Keyにはデータ名、Valueに値を設定します。

○freeboardの準備
①アカウントの作成
 freeboardのアカウントを作成します。

②データソースの作成
1.右上の入力ボックスに新しいfreeboardの名前を入力し、[Create Now]をクリックします。

2.[ADD]をクリックします。


3.「TYPE」から「Dweet.io」を選択し、「NAME」にデータソースの名前(任意)を、「THING-NAME」に「thing-name」を入力し、[SAVE]をクリックします。


 データソースを作成したら、②で作成したプログラムを実行します。データが正しく取得されると、作成したデータソースのLast Updatedが日付に代わります。

③パネルの作成
1.[ADD PANEL]をクリックします。


2.作成されたパネルのレンチアイコンをクリックします。


3.「TITLE」と「COLUMNS」を入力し、[SAVE]をクリックします。「COLUMNS」はパネルの横幅の設定です。


4.パネルの[+]アイコンをクリックします。


5.「TYPE」から「Sparkline」を選択し、「TITLE」を入力して、[DATASOURCE]をクリックします。


6.データソース名(②-3)で指定した名前を選択します。


7.データ名(プログラム中のKeyに指定したデータ名)を選択します。


8.[SAVE]をクリックします。

2016年2月4日木曜日

Arduino+dweet.ioでIoT - デバイスの制御

 dweet.ioは、アカウントを登録することなく利用できるIoTプラットフォーム(クラウドサービス)です。ユニークな「thing-name」(モノの名前、PubNuBのチャンネル名と同等)を使って、データの送受信を行うことができます。有料で「thing-name」を固定(Locked)し、データを監視・通知する「Alerts」機能を利用することもできます。 

 今回は、dweet.ioを使用して、ArduinoのGPIOに接続されたLEDをオン/オフしてみます。 回路は、「Arduino LED点灯(Lチカ)」を使用します。

①Arduino開発環境の構築
 1.「ArduinoをJavaScriptで制御する」の手順で開発環境を構築します。
 2.コマンドプロンプトから「npm install node-dweetio」と入力し、node.jsのdweetioモジュールをインストールします。

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

2.次のHTMLコードを入力し、「led_dweet.html」と名前を付けて、任意の場所(Webサーバー、インターネット接続された他のPCなども可)に保存します。

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

Raspberry Pi アナログデータ計測

・使用部品
 PCF8591AD/ DAコンバータモジュール(YL-40)

Raspberry Pi LED点灯(Lチカ)


・使用部品
 LED
 抵抗(220~330Ω)

Arduino 温度測定


・使用部品
 LM35(LM35DZ)

Arduino LED点灯(Lチカ)

・使用部品
 LED
 抵抗(220~330Ω)

2016年2月3日水曜日

ArduinoとRaspberry PiのKindle本の出版

ArduinoとJavaScriptではじめるIoTプログラミング

Raspberry PiとJavaScriptではじめる IoTプログラミング

 上記タイトルのKindle本を出版してみました。 このブログで公開している記事をブラッシュアップ、および加筆した内容となっています。 Raspberry Piのほうは、OSのインストール、日本語化、sambaやxrdpのセットアップなどについても解説しています。