在这里您将学习如何使用粒子光子或电子设备将数据发送到 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 网关发送数据的实际云协议。
请参阅示例文件夹