#include "UbidotsEsp32Mqtt.h" /**************************************** * Define Constants ****************************************/ const char *UBIDOTS_TOKEN = "BBFF-oE2YrhPpyvMgr6aC9z5rv6HhIxZtOB"; // Put here your Ubidots TOKEN const char *WIFI_SSID = "awist_1242"; // Put here your Wi-Fi SSID const char *WIFI_PASS = "BB250515"; // Put here your Wi-Fi password const char *DEVICE_LABEL = "esp32"; // Put here your Device label to which data will be published const char *VARIABLE_LABEL = "x"; // Put here your Variable label to which data will be published const int PUBLISH_FREQUENCY = 5000; // Update rate in milliseconds unsigned long timer; uint8_t analogPin = 34; // Pin used to read data from GPIO34 ADC_CH6. Ubidots ubidots(UBIDOTS_TOKEN); /**************************************** * Auxiliar Functions ****************************************/ void callback(char *topic, byte *payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); } /**************************************** * Main Functions ****************************************/ void setup() { // put your setup code here, to run once: Serial.begin(9600); // ubidots.setDebug(true); // uncomment this to make debug messages available ubidots.connectToWifi(WIFI_SSID, WIFI_PASS); ubidots.setCallback(callback); ubidots.setup(); ubidots.reconnect(); timer = millis(); } void loop() { // put your main code here, to run repeatedly: if (!ubidots.connected()) { ubidots.reconnect(); } if (millis() - timer > PUBLISH_FREQUENCY) // triggers the routine every 5 seconds { float value = analogRead(analogPin); ubidots.add(VARIABLE_LABEL, value); // Insert your variable Labels and the value to be sent ubidots.publish(DEVICE_LABEL); timer = millis(); } ubidots.loop(); }