在這裡您將學習如何使用粒子光子或電子設備將資料傳送到 Ubidots。您只需要想要與 Ubidots 有效令牌一起傳送的變數標籤和值。此外,您還可以從 Ubidots 帳戶取得變數的最後一個值。
該庫預設創建新的資料來源。這個資料來源的名字預設是“Particle”,他的標籤就是你的Particle ID。
預設方法是 TCP,如果您想更改它,請轉到功能部分並按照範例進行操作。
在宣布棄用 Particle Mesh IoT 協議後,由於 Particle 不再生產 Mesh 單元,Ubidots 決定停止在該庫中對其進行開箱即用的支援。如果您仍需要在專案中結合 Mesh IoT 協定和我們的函式庫,請使用該函式庫的 v3.1.4 版本透過 Particle CLI 編譯您的專案。
Ubidots(char* token, UbiServer server, IotProtocol iot_protocol)
UBI_INDUSTRIAL
],[預設] = UBI_INDUSTRIAL
。UBI_HTTP
, UBI_TCP
, UBI_UDP
, UBI_PARTICLE
],[預設] = UBI_TCP
。您將用於發送或檢索資料的 IoT 協定。建立一個 Ubidots 實例。
筆記
UBI_PARTICLE
使用 Webhook 發送數據,因此請務必按照此處的說明正確設定 Webhook。 void add(char *variable_label, float value, char *context, unsigned long dot_timestamp_seconds, unsigned int dot_timestamp_millis)
使用 add() 後,新增一個點及其相關值、上下文和時間戳,並將其傳送到某個資料來源。
重要提示:最大有效負載長度為 700 字節,如果您的有效負載較大,則將無法正確傳送。如果您呼叫setDebug(bool debug)
方法並將 true 值傳遞給它,您可以在序列控制台上看到要傳送的有效負載。
float get(const char* device_label, const char* variable_label)
以浮點形式傳回變數中點的最後一個值。 IotProtocol getCloudProtocol()
std::map<int, float> tcpMap getMultipleValues(const char* deviceLabel, const char* variableLabels)
傳回一個有序映射列表,其中包含為提供的變數標籤檢索的值。這些值可以透過索引訪問,從位置 0 開始,並對應到逗號分隔數組中的每個變數標籤集。
void addContext(char *key_label, char *key_value)
在本地記憶體中新增一個新的鍵值上下文鍵。方法輸入必須是 char 指標。此方法允許儲存最多 10 個鍵值對。
void getContext(char *context)
根據所選協議建立上下文並將其儲存在上下文字元指標中。
void setDebug(bool debug);;
透過串行埠提供可用的偵錯訊息。
bool send(const char* device_label, const char* device_name, PublishFlags flags);
PUBLIC
, PRIVATE
, WITH_ACK
, NO_ACK
]。粒子 webhook 標誌。傳送使用 add() 方法新增的所有資料。如果資料已傳送,則傳回 true。
IotProtocol getCloudProtocol();
檢索用於從 Mesh 網關發送資料的實際雲端協定。
請參閱範例資料夾