センサとマイコン(Arduino, Raspberry Pi)による行動分類
1.1 データ取得のために適当にプロジェクトを作成する
[新しいプロジェクト]で適当に名前を入力する。
1.2 外部から操作するために2つのAPIを有効にする
左側にある[ライブラリ]を選択し[googleDriveAPi]をさがし、選択。有効にする
同じ手順で[GoogleSheetsAPI]も有効にする。無事2つが有効にできたら[ダッシュボード]が下図のようになる。
1.3 認証情報
左側にある[認証情報]を選択し、認証情報を作成し、サービスアカウントを選択する。
適当にサービスアカウント名を入力して作成
アカウントの制限をProjectの編集者に設定。最後に作成をクリックするとアカウントができる
最後に秘密鍵を入手する。つくったサービスアカウントを選択し[キー]から鍵を作成する。
そうするとPCに鍵が保存される.この時キーのタイプがJSONになっていることを確かめる。
最後に保存された秘密鍵の名前を[cilent_secret.json]にして任意のファイルに移動させる
後にこのファイルにこれから使うコードを全部いれる
1の設定で作成したアカウントとスプレッドシートを共有する。
2.1 共有
自身のgoogleドライブから新規でスプレッドシートを作成する。
適当に作ったgoogleのスプレッドシートの共有を選択し、先ほどのアドレスを追加する。
ここのアドレスとは、28.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]);
}
}
準備完了