Aqui você aprenderá como enviar dados para Ubidots usando dispositivos Particle Photon ou Electron. Você só precisa do rótulo da variável e do valor que deseja enviar junto com um TOKEN válido do Ubidots. Além disso, você pode obter o último valor de uma variável da sua conta Ubidots.
Esta biblioteca cria por padrão novas fontes de dados. O nome desta fonte de dados será "Particle" por padrão, e seu rótulo será seu ID de partícula.
O método padrão é TCP, se você quiser alterá-lo vá para as seções de recursos e siga o exemplo.
Após o anúncio da descontinuação do protocolo Particle Mesh IoT, como o Particle não está mais produzindo unidades Mesh, a Ubidots decidiu parar para apoiá-lo imediatamente nesta biblioteca. Se você ainda precisar usar o protocolo Mesh IoT em seu projeto em conjunto com nossa biblioteca, compile seu projeto através do Particle CLI com a versão v3.1.4 desta biblioteca.
Ubidots(char* token, UbiServer server, IotProtocol iot_protocol)
UBI_INDUSTRIAL
], [Padrão] = UBI_INDUSTRIAL
.UBI_HTTP
, UBI_TCP
, UBI_UDP
, UBI_PARTICLE
], [Padrão] = UBI_TCP
. O protocolo IoT que você usará para enviar ou recuperar dados.Cria uma instância Ubidots.
NOTAS
UBI_PARTICLE
envia dados usando webhooks, portanto, siga as instruções para configurar seu webhook corretamente aqui. void add(char *variable_label, float value, char *context, unsigned long dot_timestamp_seconds, unsigned int dot_timestamp_millis)
Adiciona um ponto com seu valor, contexto e carimbo de data/hora relacionados para ser enviado a uma determinada fonte de dados, uma vez usado add().
Importante: O comprimento máximo do payload é de 700 bytes, se o seu payload for maior ele não será enviado corretamente. Você pode ver em seu console serial a carga a ser enviada se você chamar o método setDebug(bool debug)
e passar um valor verdadeiro para ele.
float get(const char* device_label, const char* variable_label)
Retorna como float o último valor do ponto da variável. IotProtocol getCloudProtocol()
std::map<int, float> tcpMap getMultipleValues(const char* deviceLabel, const char* variableLabels)
Retorna uma lista ordenada de mapas com os valores recuperados para os rótulos de variáveis fornecidos. Os valores podem ser acessados por índice, começando na posição 0, e são mapeados para cada rótulo de variável definido no array separado por vírgula.
void addContext(char *key_label, char *key_value)
Adiciona à memória local uma nova chave de contexto de valor-chave. As entradas do método devem ser ponteiros char. O método permite armazenar até 10 pares de valores-chave.
void getContext(char *context)
Constrói o contexto de acordo com o protocolo escolhido e o armazena no ponteiro context char.
void setDebug(bool debug);;
Disponibilize mensagens de depuração através da porta serial.
bool send(const char* device_label, const char* device_name, PublishFlags flags);
PUBLIC
, PRIVATE
, WITH_ACK
, NO_ACK
]. Sinalizadores de webhook de partículas.Envia todos os dados adicionados usando o método add(). Retorna verdadeiro se os dados foram enviados.
IotProtocol getCloudProtocol();
Recupera o protocolo de nuvem real usado para enviar dados do gateway Mesh.
Consulte a pasta de exemplos