# 資料儲存桶(Data buckets)

數據存儲桶是一種虛擬儲存機制,您可以在其中保留時序資訊,例如隨時間變化的溫度或濕度。也可以使用它們存儲其他事件,例如移動偵測、車庫門打開、溫度警告等。儲存的資訊可在儀表板中進行繪製,或者以不同的格式匯出以進行離線處理。

# 建立儲存桶

要建立數據儲存桶,您需要點擊選單中的Data Buckets進行存取:

要建立數據儲存桶,只需按下Add Bucket按鈕,它將顯示以下畫面:

接著設定必要的參數:

  • Bucket Id: 您的數據儲存桶的ID。

  • Bucket name: 使用代稱來協助記憶數據儲存桶用途,例如WeatherData

  • Bucket description: 在這裡填寫更多細節描述,如室內溫度和濕度。

  • Enabled: 可以啟用或禁用數據儲存桶寫入。將其打開即可啟用寫入。

  • Data source:

    • From Device Resource: 這意味著它將從特定裝置資源(如溫度,運動等)獲取資訊。在此選項中,裝置應與伺服器保持連接。這個功能所提供的好處是:我們可以根據需要更改Sampling Interval選項設定採樣率,而無需更動裝置程式。

      請記住 此處更詳細地描述了如何在裝置中定義資源的過程,不過由DHT傳感器回報溫度和濕度的資源可以這樣寫:

      // 在setup階段定義資源
      thing["TempHum"] >> [](pson &out){ 
        out["temperature"] = dht.readTemperature();
        out["humidity"] = dht.readHumidity();
      };
      

      也可以讓裝置在滿足特定條件時發起事件來串流傳輸資訊。在這種情況下,我們可以在設定數據儲存桶時使用Update by Device選項,並按照此處所述的傳輸串流資源。

      使用前面的TempHum範例資源,完成後會如下面的程式片段那樣。

      void loop() {
        thing.handle();
        // 使用您個人的邏輯判斷何時進行串流
        if(requires_recording){
            thing.stream("TempHum");
        }
      }
      

      這樣,數據儲存桶就訂閱了裝置資源,並且在每次串流調用中都登錄了它的資訊。

    • From Write Call: 此選項將設定數據儲存桶為在預設情況不會記錄任何資訊的狀態。它會等待調用寫入函數,如像這樣從Arduino程式庫調用write_bucket方法或與 Sigfox 一樣直接調用REST API。此功能允許從不同裝置寫入資料到同一數據儲存桶中,或者紀錄來自未與伺服器永久連接裝置的資訊(處於睡眠模式的裝置或使用Sigfox等其他技術的資訊)。

    以下是ESP8266裝置使用write_bucket功能將資訊寫入數據儲存桶的範例:

    void setup() {
      // define the resource with temperature and humidity
      thing["TempHum"] >> [](pson &out){ 
        out["temperature"] = dht.readTemperature();
        out["humidity"] = dht.readHumidity();
      };
    }
    
    void loop() { 
      // handle connection
      thing.handle();
      // write to bucket BucketId the TempHum resource
      thing.write_bucket("BucketId", "TempHum");
      // sleep the device SLEEP_MS milliseconds
      ESP.deepSleep(SLEEP_MS*1000, WAKE_RF_DEFAULT); 
    }
    

# 檢視儲存桶數據

當設定了數據儲存桶並且開始記錄來自裝置或調用寫入的數據,它即在表中顯示資訊。每條記錄都包含伺服器中的UTC時間戳(但以雲端平台中設定的時區時間顯示)和記錄值。存儲在數據數據儲存桶中的值可以是單個值,也可以是任何其他JSON文件。如果是JSON文件,則由鍵值對組成,如前面的範例所示,它們將以表格格式顯示,就像在下面的畫面截圖中一樣。

# 清除儲存桶數據

這個功能對於清除數據儲存桶資訊,而非刪除整個數據儲存桶並再次建立和設定它可能很有用。因此,您可以從數據儲存桶頁面輕鬆清除數據儲存桶或其中的一部分。在清除過程中,數據儲存桶仍然可以記錄裝置中的資訊。

# 匯出儲存桶數據

可以不同的文件格式導出所有儲存的資訊,因此您可以離線處理數據,例如應用人工智慧、業務分析、大數據等。您可以存取數據儲存桶並設定匯出細節,比如選擇文件類型或匯出範圍。幾分鐘後,您將收到一封附檔包含您所需資料的電子郵件(預設情況下,雲端平台中的資料有效期為3個月)。