センサとマイコン(Arduino, Raspberry Pi)による行動分類



1.Google Cloud Platformにて 

1.1 データ取得のために適当にプロジェクトを作成する

23.PNG

[新しいプロジェクト]で適当に名前を入力する。

1.2 外部から操作するために2つのAPIを有効にする
左側にある[ライブラリ]を選択し[googleDriveAPi]をさがし、選択。有効にする
同じ手順で[GoogleSheetsAPI]も有効にする。無事2つが有効にできたら[ダッシュボード]が下図のようになる。

25.PNG

1.3 認証情報
左側にある[認証情報]を選択し、認証情報を作成し、サービスアカウントを選択する。
適当にサービスアカウント名を入力して作成

26.PNG

アカウントの制限をProjectの編集者に設定。最後に作成をクリックするとアカウントができる

27.PNG
28.PNG

最後に秘密鍵を入手する。つくったサービスアカウントを選択し[キー]から鍵を作成する。

29.PNG

そうするとPCに鍵が保存される.この時キーのタイプがJSONになっていることを確かめる。


最後に保存された秘密鍵の名前を[cilent_secret.json]にして任意のファイルに移動させる
後にこのファイルにこれから使うコードを全部いれる

2.スプレッドシートカチコミ 

1の設定で作成したアカウントとスプレッドシートを共有する。

2.1 共有
自身のgoogleドライブから新規でスプレッドシートを作成する。
適当に作ったgoogleのスプレッドシートの共有を選択し、先ほどのアドレスを追加する。
ここのアドレスとは、28.PNGのメールアドレスっぽいやつである。この際に編集者として設定する。

30.PNG



2.2 スクリプトエディタ
スプレッドシートの[ツール]、[スプリクトエディタ]を開き、以下のコードを書き込む。

function doPost(e) {
 var ss = SpreadsheetApp.getActive()
 //下の2行はどっちでもOK 2つ目はシート一枚目という意味
 //de.kore.naniyo
 //var sheet = ss.getActiveSheet();
 var sheet1 = ss.getSheets()[0];
 var sheet2 = ss.getSheets()[1];
  
 
 var jsonString = e.postData.contents;
 //jsonString = jsonString.replace('\\','');
 //jsonString = jsonString.replace(/\}\"/,'\}');
 var data = JSON.parse(jsonString).toString();
 var data2 = JSON.parse(data);
 if (data2.key1){
   sheet1.appendRow([data2.key1.nowtime,data2.key1.bio_data,data2.key1.camera]);
   sheet1.appendRow([data2.key2.nowtime,data2.key2.bio_data,data2.key2.camera]);
   sheet1.appendRow([data2.key3.nowtime,data2.key3.bio_data,data2.key3.camera]);
   sheet1.appendRow([data2.key4.nowtime,data2.key4.bio_data,data2.key4.camera]);
   sheet1.appendRow([data2.key5.nowtime,data2.key5.bio_data,data2.key5.camera]);
   sheet1.appendRow([data2.key6.nowtime,data2.key6.bio_data,data2.key6.camera]);
   sheet1.appendRow([data2.key7.nowtime,data2.key7.bio_data,data2.key7.camera]);
   sheet1.appendRow([data2.key8.nowtime,data2.key8.bio_data,data2.key8.camera]);
   sheet1.appendRow([data2.key9.nowtime,data2.key9.bio_data,data2.key9.camera]);
   sheet1.appendRow([data2.key10.nowtime,data2.key10.bio_data,data2.key10.camera]);
   sheet1.appendRow([data2.key11.nowtime,data2.key11.bio_data,data2.key11.camera]);
   sheet1.appendRow([data2.key12.nowtime,data2.key12.bio_data,data2.key12.camera]);
   sheet1.appendRow([data2.key13.nowtime,data2.key13.bio_data,data2.key13.camera]);
   sheet1.appendRow([data2.key14.nowtime,data2.key14.bio_data,data2.key14.camera]);
   sheet1.appendRow([data2.key15.nowtime,data2.key15.bio_data,data2.key15.camera]);
   sheet1.appendRow([data2.key16.nowtime,data2.key16.bio_data,data2.key16.camera]);
   sheet1.appendRow([data2.key17.nowtime,data2.key17.bio_data,data2.key17.camera]);
   sheet1.appendRow([data2.key18.nowtime,data2.key18.bio_data,data2.key18.camera]);
   sheet1.appendRow([data2.key19.nowtime,data2.key19.bio_data,data2.key19.camera]);
   sheet1.appendRow([data2.key20.nowtime,data2.key20.bio_data,data2.key20.camera]);
   sheet1.appendRow([data2.key21.nowtime,data2.key21.bio_data,data2.key21.camera]);
   sheet1.appendRow([data2.key22.nowtime,data2.key22.bio_data,data2.key22.camera]);
   sheet1.appendRow([data2.key23.nowtime,data2.key23.bio_data,data2.key23.camera]);
   sheet1.appendRow([data2.key24.nowtime,data2.key24.bio_data,data2.key24.camera]);
   sheet1.appendRow([data2.key25.nowtime,data2.key25.bio_data,data2.key25.camera]);
   sheet1.appendRow([data2.key26.nowtime,data2.key26.bio_data,data2.key26.camera]);
   sheet1.appendRow([data2.key27.nowtime,data2.key27.bio_data,data2.key27.camera]);
   sheet1.appendRow([data2.key28.nowtime,data2.key28.bio_data,data2.key28.camera]);
   sheet1.appendRow([data2.key29.nowtime,data2.key29.bio_data,data2.key29.camera]);
   sheet1.appendRow([data2.key30.nowtime,data2.key30.bio_data,data2.key30.camera]);
 }
 if(data2.mickey){
   sheet2.appendRow([data2.mickey.nowtime,data2.mickey.mic]);
 }
}



準備完了


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS