#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();
}
Paste Hosted With By Wklejamy.pl