×

温度,湿度,気圧をGoogleDriveに保存、スマホで見れるお手軽 IoT (4)

2015-11-12

最終回である今回は、前回 Raspberry Pi に送信したデータを GoogleDrive に保存する方法をご紹介します。

【Lazurite Sub-GHzでBME280のデータを受信する】
温度,湿度,気圧をGoogleDriveに保存、スマホで見れるお手軽 IoT (1)

【Raspberry piの設定】
温度,湿度,気圧をGoogleDriveに保存、スマホで見れるお手軽 IoT (2)

【BME280のデータをRaspberry Piで受信する】
温度,湿度,気圧をGoogleDriveに保存、スマホで見れるお手軽 IoT (3)

google_acount

1 Googleドライブのアクセス権限を変更

Raspberry Piから、以下のURLにアクセスしてGoogleのアカウントでログイン     します。

https://console.developers.google.com/

↓ブラウザーボタンをクリックしてURLを入力してください。
web_browser

↓お持ちのGoogleアカウントでログインしてください。
google_acount

 

2.プロジェクトの作成

1)右上のプルダウンメニューから「プロジェクトの作成」を選択し、新しいプロジェクトを作成します。
make_project

2)任意のプロジェクト名を設定し、「作成」ボタンをクリックします。
project_name

 

 

3.Drive APIを有効にする

1)以下の部分をクリックします。
google_API0

2)「Drive API」をクリックします。
drive_API

3)「APIを有効にする」をクリックします。
drive_API2_1

↓ 有効になりました
drive_API2_2

 

4.クライアントIDを取得する

1)①~⑤を順番にクリックするとクライアントIDを取得することができます。
google_API3

google_API4_2

2)クライアントIDの名前をクリックすると、クライアントIDとクライアントシー          クレットを確認することができます。google_API5

↓↓↓

確認できました!
google_API6_2

 

5.Rubyスクリプトをダウンロードする

1)次に、GoogleドライブにアクセスするためにRubyスクリプトを使用します。
使用するRubyスクリプトをGitHubからダウンロードしてください。
以下のURLを入力してアクセスし、「Download ZIP」をクリックします。

https://github.com/LAPIS-Lazurite/BME280_GoogleDrive

github_bme280

 

2)BME280_GoogleDrive-master.zipというファイル名で保存されますので
Zipファイルを解凍します。

raspberry_pi_.zip

raspberry_zip

 

6.アクセスコード(OAuth code)を生成するためのURLを取得する

1)まずは以下を入力してダウンロードしたファイルのプログラムが保存されているフォルダに移動します。

pi@raspberrypi ~ $ cd Downloads/BME280_GoogleDrive-master/raspberry_pi/

pi@raspberrypi ~/Downloads/BME280_GoogleDrive-master/raspberry_pi/$ sudo ruby1.9.3 gdrive_sample.rb

2)次に先ほど取得したクライアントIDクライアントシークレットを入力しURLを取得します。
googledrive1_1
1を選択してURLを取得します。

↓ URLが取得できました!
googledrive2_2

 

7.アクセスコード(OAuth code)を取得する

上記で取得したURLをブラウザで開き、Googleドライブへのアクセスを許可をクリックするとアクセスコード(OAuth code)を取得することができます。

access_code2
↓アクセスコード(OAuth code)が取得できました!
access_code3_2

 

8.JSONコード(refresh token)を取得する

今度はターミナルで2番を選択し、JSONコード(refresh token)を取得します。先ほど取得したアクセスコードを入力すると、JSONコードを取得することができます。

上記で取得したアクセスコード(OAuth code)を入力するとJSONコード(refresh token)が取得できます。

googledrive3_3_4
↑ refresh token が取得できました!

 

9.Rubyスクリプトを編集する

先ほど解凍したZIPファイルの中のGoogleDriveMonitorを開き
テキストエディッタで編集してください。

Download > BME280_GoogleDriveMonitor.rb > raspberry_pi > GoogleDriveMonitor.rb

↓ ファイルを開きます
google_rb

↓ 下記の箇所を取得したアクセス情報に書換えて保存します。

ruby_script_2

 

10.GoogleDriveMonitorを実行する

※予め温湿度/気圧センサーを送信しておきます。

1)「THP_logger」というファイル名のスプレットシートをgoogledriveで作成します。
GoogleDriveMonitor

2)RapsberryPiのターミナルで番を選択し、スプレットシート名「THP_logger」を入れ、シートに書き込めるかテストします。(write date部分に書かれたものを送ります。)

write success!と出たら成功です。

番を選択し、終了します。

3)以下を入力しGoogleDriveMonitorを実行します。

~ $ sudo insmod ~/driver/sub-ghz/DRV_802154.ko (←ドライバーを有効にします)
~ $ sudo ruby1.9.3 GoogleDriveMonitor.rb

googledrive3_2
↑ RaspberryPiの画面にセンサーの値が出てきます。

 

11.スプレットシートでセンサーデータを確認する

そして「THP_logger」を開いてみると・・・・

センサーデータが保存されていることが確認できました!!  ↓↓↓
spredsheet

さらに、「挿入」「グラフ」をクリックするだけで・・・
spredsheet_graph1

グラフの作成・挿入が出来ちゃいます!  ↓↓↓
spredsheet_graph

 

アイデア次第で、いろいろ活用できそうですね♪

 

■終了方法

Ctrl+c でRaspberryPiのアプリケーションを終了します。

■ドライバの無効化

Lazurite Sub-GHzから信号を出した状態のままアプリケーションを終了して放置すると、メモリーに受信データが保存され続けてしまい、システムが不安定になる可能性があります。
そのため、使用しない場合は以下を入力してドライバーをはずしてください。

$ sudo rmmod DRV_802154

 

以上、「温度,湿度,気圧をGoogleDriveに保存、スマホで見れるお手軽 IoT」をお届けしました。

次回は、「Twitterで温度・湿度・気圧をつぶやく」をお届けします。お楽しみに!