2016年2月19日金曜日

Arduino + ThingSpeakでIoT - センサーデータの収集

 今回は、IoTプラットフォームのThingSpeakを使って、Arduinoで計測した温度データを収集、可視化する方法を説明します。
 回路は、「Arduino 温度測定」を使用します。



■ThingSpeakの準備
①アカウントの作成
 ThingSpeakのアカウントを作成します。
②チェンネルの作成
1.[New Channel]をクリックします。

2.[Name]にチャンネルの名前を入力します。

3.[Field1]~[Field8]に送信するデータの名前を入力します。最大8つまで設定できます。今回はField1とField2の2つを使用します。

※他の項目は、必要に応じて入力します。

4.[Save Channel]をクリックし、チェンネルを保存します。

5.作成したチャンネルのID(Channel ID)を確認します。


6.[API Keys]をクリックし、Write API KeyとRead API Keyを確認します。



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

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

<Channel ID>にチェンネルIDを、<your Write API Key>にWrite API Keyを、<your Read API Key>にRead API Keyを入力します。

③プログラムの実行
1.コマンドプロンプトを起動し、作業用フォルダに移動します。
2.「node 「temp_thingspeak.js」と入力します。

2016年2月9日火曜日

Raspberry Pi + Dweet.IOでIoT

 Arduinoの場合と大差ありませんが、Raspberry Pi の場合の手順について、簡単に解説します。

○開発環境の構築
1.「Raspberry Pi 2のGPIOをJavaScriptで制御する」の手順で、開発環境を構築します。
2. ターミナルから「npm install node-dweetio」と入力し、node.jsのdweetioモジュールをインストールします。

○デバイスの制御
  Dweet.IOを経由して、Raspberry PiのGPIOに接続されたLEDをオン/オフします。回路は「Raspberry Pi  LED点灯(Lチカ)」を使います。

①プログラムの作成

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

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

   1、2のコード中のthingNameは一致させます。また、thingNameには、ユニークな名前を指定する必要があります。

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

○データの可視化
  Dweet.IOとfreeboardを使って、Raspberry Pi で計測したアナログデータを可視化(グラフか)します。回路は、「Raspberry Pi アナログデータ計測」を使用します。

①プログラムの作成 1.次のJavaScriptコードを入力し、「analog_dweet-pi.js」と名前を付けて、作業用フォルダに保存します。
②freeboardの準備  「Arduino+dweet.io+freeboardでIoT - データの可視化」の「freeboardの準備」の手順で、スパークラインのウィジェットを作成します。



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のセットアップなどについても解説しています。