空間活動偵測 -2 google app script


以Post的方式接收由pushingbox傳來的訊息,分別是磁簧開關5組,及人體紅外線6組
app script 接收端程式
function doPost(e) {
  var params = e.parameter;
  //現在時間
  var now = Utilities.formatDate(new Date(), "GMT+8", "yyyy-MM-dd HH:mm:ss");

  //編號1 的板子
  if(params.board==1){
    
    //***   接收接點開關資料   ***//
    if(params.RS0){
      Logger.log('接收接點開關資料');
      //將Sheet指定為"資料庫"試算表     SpreadSheet = 試算表
      var SpreadSheet = SpreadsheetApp.openById("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
      //取得頁籤:"工作表1"              Sheet = 頁籤
      var Sheet = SpreadSheet.getSheetByName("board1 接點開關");
      //取得有資料的最後一行的"行數"(目的要在最後一行插入新資料)
      var LastRow = Sheet.getLastRow();
      
      //--開始寫入資料--
      
      //在最後一行的下一行寫入資料
      Sheet.getRange(LastRow+1, 1).setValue(now);
      //寫入time
      Sheet.getRange(LastRow+1, 2).setValue(params.time);
      //寫入data
      Sheet.getRange(LastRow+1, 3).setValue(params.RS0); //RS = Reed Switch 磁簧開關
      Sheet.getRange(LastRow+1, 4).setValue(params.RS1);    
      //Sheet.getRange(LastRow+1, 5).setValue(params.RS2);
      Sheet.getRange(LastRow+1, 5).setValue(params.RS3);
      Sheet.getRange(LastRow+1, 6).setValue(params.RS4);
      Sheet.getRange(LastRow+1, 7).setValue(params.RS5);
      
      //寫入結束後傳回true
      return ContentService.createTextOutput(true);
    }
    
    //***   接收人體感測資料   ***//
    if(params.human0){
      Logger.log('接收人體感測資料');
      //將Sheet指定為"資料庫"試算表     SpreadSheet = 試算表
      var SpreadSheet = SpreadsheetApp.openById("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
      //取得頁籤:"工作表1"              Sheet = 頁籤
      var Sheet = SpreadSheet.getSheetByName("board1 人體紅外線");
      //取得有資料的最後一行的"行數"(目的要在最後一行插入新資料)
      var LastRow = Sheet.getLastRow();
      
      //--開始寫入資料--
      
      //在最後一行的下一行寫入資料
      Sheet.getRange(LastRow+1, 1).setValue(now);
      //寫入time
      Sheet.getRange(LastRow+1, 2).setValue(params.time);
      //寫入data
      Sheet.getRange(LastRow+1, 3).setValue(params.human0);
      Sheet.getRange(LastRow+1, 4).setValue(params.human1);
      Sheet.getRange(LastRow+1, 5).setValue(params.human2);
      Sheet.getRange(LastRow+1, 6).setValue(params.human3);
      Sheet.getRange(LastRow+1, 7).setValue(params.human4);
      Sheet.getRange(LastRow+1, 8).setValue(params.human5);
     
      //寫入結束後傳回true
      return ContentService.createTextOutput(true);
    }
  }
}
結果



發送前一天活動情況數據,將幾月幾日訊息傳送給pushingbox,圖片連結已經放在pushingbox端
function push_image() {
  var month = Utilities.formatDate(new Date(), "GMT-8", "MM");
  var day = Utilities.formatDate(new Date(), "GMT-8", "dd");
  
  var URL = "http://api.pushingbox.com/pushingbox?devid=vxxxxxxxxxxxxxxx";
    URL += "&month=";
    URL += month;
    URL += "&day=";
    URL += day;
  
  //開始連接網址
  var response = UrlFetchApp.fetch(URL);
  //var response = UrlFetchApp.fetch("http://api.pushingbox.com/pushingbox?devid=vxxxxxxxxxxxxxxx");
  Logger.log(response.getContentText());
}





留言

這個網誌中的熱門文章

android 定時通知(永久長期的) 本篇只講AlarmManager使用

C# 模擬鍵盤滑鼠控制電腦

python nn 聲音辨識 -1 傅立葉轉換

python pyautogui 簡介

raspberrypi 開機自動執行程式 與 在terminal開啟第二個terminal執行python