InfluxDB-Client-for-Arduino
InfluxDB-Client-for-Arduino copied to clipboard
why influxdb not show Results
#if defined(ESP32) #include <WiFiMulti.h> WiFiMulti wifiMulti; #define DEVICE "ESP32" #elif defined(ESP8266) #include <ESP8266WiFiMulti.h> ESP8266WiFiMulti wifiMulti; #define DEVICE "ESP8266" #endif #include <Adafruit_GFX.h> // Core graphics library #include <Fonts/FreeSans18pt7b.h>
#include <InfluxDbClient.h> #include <InfluxDbCloud.h> #include <PxMatrix.h> #include <Ticker.h> #include <time.h> Ticker display_ticker; #define P_LAT 16 #define P_A 5 #define P_B 4 #define P_C 15 #define P_D 12 #define P_E 0 #define P_OE 2 #define matrix_width 64 #define matrix_height 32
#define WIFI_SSID "Pack" // WiFi password #define WIFI_PASSWORD "641998014"
#define INFLUXDB_URL "https://us-east-1-1.aws.cloud2.influxdata.com" #define INFLUXDB_TOKEN "oyfTyTX6yUFy8pBJq4eQrSdoqnfz9WalTHLkUoPNaKd3HIOFEmzCuvjnKU2wGK8QGzXBgKvESFRc3oMYipkRdg==" #define INFLUXDB_ORG "6af8c2b532189294" #define INFLUXDB_BUCKET "Project_Thoeng"
// Config time int timezone = 7; // Zone +7 for Thailand char ntp_server1[20] = "ntp.ku.ac.th"; char ntp_server2[20] = "fw.eng.ku.ac.th"; char ntp_server3[20] = "time.uni.net.th"; int dst = 0; int Sec = 0;
#define TZ_INFO "UTC7"
InfluxDBClient client(INFLUXDB_URL, INFLUXDB_ORG, INFLUXDB_BUCKET, INFLUXDB_TOKEN, InfluxDbCloud2CACert); // Declare Data point Point sensor("wifi_status"); // Time zone info
uint8_t display_draw_time=10; //30-70 is usually fine PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
// Some standard colors uint16_t myRED = display.color565(255, 0, 0); uint16_t myGREEN = display.color565(0, 255, 0); uint16_t myBLUE = display.color565(0, 0, 255); uint16_t myWHITE = display.color565(255, 255, 255); uint16_t myYELLOW = display.color565(255, 255, 0); uint16_t myCYAN = display.color565(0, 255, 255); uint16_t myMAGENTA = display.color565(255, 0, 255); uint16_t myBLACK = display.color565(0, 0, 0); uint16_t myCOLORS[8]={myRED,myGREEN,myBLUE,myWHITE,myYELLOW,myCYAN,myMAGENTA,myBLACK};
void display_updater(){ display.display(display_draw_time); } void display_update_enable(bool is_enable){ if (is_enable) display_ticker.attach(0.004, display_updater); else display_ticker.detach(); } void setup() { Serial.begin(9600); Serial.setDebugOutput(true);
// Setup wifi WiFi.mode(WIFI_STA); wifiMulti.addAP(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to wifi"); while (wifiMulti.run() != WL_CONNECTED) { Serial.print("."); } Serial.println();
timeSync(TZ_INFO, "pool.ntp.org", "time.nis.gov");
configTime(timezone * 3600, dst, ntp_server1, ntp_server2, ntp_server3); while (!time(nullptr)) { Serial.print("."); }
// Check server connection if (client.validateConnection()) { Serial.print("Connected to InfluxDB: "); Serial.println(client.getServerUrl()); } else { Serial.print("InfluxDB connection failed: "); Serial.println(client.getLastErrorMessage()); } display.begin(16);
sensor.addTag("device", DEVICE); sensor.addTag("SSID", WiFi.SSID()); }
void loop() { sensor.clearFields(); sensor.addField("DISPLAYRSSI", WiFi.RSSI()); sensor.addField("DISPLAY", 1);
Serial.print("Writing: "); Serial.println(sensor.toLineProtocol());
if (wifiMulti.run() != WL_CONNECTED) { Serial.println("Wifi connection lost"); }
if (!client.writePoint(sensor)) { Serial.print("InfluxDB write failed: "); Serial.println(client.getLastErrorMessage()); } Serial.println(); sos(); delay(30000); time(); delay(30000); pm(); delay(30000); tem(); delay(30000); person(); delay(30000); Maxsound(); delay(30000);
Serial.println("Waiting 1 second"); delay(1000); }
void time(){ //configTime(timezone, dst, "pool.ntp.org", "time.nist.gov"); //แสดงเวลาปัจจุบัน time_t now = time(nullptr); struct tm* newtime = localtime(&now);
String tmpNow = ""; tmpNow += String(newtime->tm_year + 2443); tmpNow += "-"; tmpNow += String(newtime->tm_mon + 1); tmpNow += "-"; tmpNow += String(newtime->tm_mday); tmpNow += " "; tmpNow += String(newtime->tm_hour); tmpNow += ":"; tmpNow += String(newtime->tm_min); tmpNow += ":"; tmpNow += String(newtime->tm_sec); Serial.println(tmpNow);
//Left Top วัน-เดือน-ปี display.clearDisplay(); if(newtime->tm_hour > 20 && newtime->tm_hour < 17){ if(newtime->tm_mday < 9){ display.setTextColor(myRED); display.setCursor(2,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("0"); display.setTextColor(myRED); display.setCursor(7,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(newtime->tm_mday); }if(newtime->tm_mday > 9){ display.setTextColor(myRED); display.setCursor(2,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(newtime->tm_mday); } display.setTextColor(myRED); display.setCursor(14,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("-");
if(newtime->tm_mon < 9){
display.setTextColor(myRED);
display.setCursor(20,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print("0");
display.setTextColor(myRED);
display.setCursor(26,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(newtime->tm_mon + 1);
}if(newtime->tm_mon > 9){
display.setTextColor(myRED);
display.setCursor(20,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(newtime->tm_mon + 1);
}
display.setTextColor(myRED);
display.setCursor(32,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print("-");
display.setTextColor(myRED);
display.setCursor(38,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(newtime->tm_year + 2443);
}
else{ if(newtime->tm_mday < 9){ display.setTextColor(myGREEN); display.setCursor(2,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("0"); display.setTextColor(myGREEN); display.setCursor(7,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(newtime->tm_mday); }if(newtime->tm_mday > 9){ display.setTextColor(myGREEN); display.setCursor(2,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(newtime->tm_mday); } display.setTextColor(myGREEN); display.setCursor(14,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("-");
if(newtime->tm_mon < 9){
display.setTextColor(myGREEN);
display.setCursor(20,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print("0");
display.setTextColor(myGREEN);
display.setCursor(26,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(newtime->tm_mon + 1);
}if(newtime->tm_mon > 9){
display.setTextColor(myGREEN);
display.setCursor(20,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(newtime->tm_mon + 1);
}
display.setTextColor(myGREEN);
display.setCursor(32,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print("-");
display.setTextColor(myGREEN);
display.setCursor(38,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(newtime->tm_year + 2443);
}
time2(); }
void time2(){ //configTime(timezone, dst, "pool.ntp.org", "time.nist.gov"); //แสดงเวลาปัจจุบัน time_t now = time(nullptr); struct tm* newtime = localtime(&now);
String tmpNow = ""; tmpNow += String(newtime->tm_year + 1900); tmpNow += "-"; tmpNow += String(newtime->tm_mon + 1); tmpNow += "-"; tmpNow += String(newtime->tm_mday); tmpNow += " "; tmpNow += String(newtime->tm_hour); tmpNow += ":"; tmpNow += String(newtime->tm_min); tmpNow += ":"; tmpNow += String(newtime->tm_sec); Serial.println(tmpNow);
//เวลา display.setTextWrap(false); // don't wrap at end of line if(newtime->tm_hour > 17 && newtime->tm_hour < 20){ if(newtime->tm_hour < 10){ display.setTextColor(myGREEN); display.setCursor(20,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32 display.print("0"); display.setTextColor(myGREEN); display.setCursor(26,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32 display.print(newtime->tm_hour); }if(newtime->tm_hour > 9){ display.setTextColor(myGREEN); display.setCursor(20,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32 display.print(newtime->tm_hour); }
display.setTextColor(myGREEN);
display.setCursor(30,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(":");
if(newtime->tm_min < 10){
display.setTextColor(myGREEN);
display.setCursor(34,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32
display.print("0");
display.setTextColor(myGREEN);
display.setCursor(40,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32
display.print(newtime->tm_min);
}if(newtime->tm_min > 9){
display.setTextColor(myGREEN);
display.setCursor(34,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32
display.print(newtime->tm_min);
}
}
else{ if(newtime->tm_hour < 10){ display.setTextColor(myRED); display.setCursor(20,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32 display.print("0"); display.setTextColor(myRED); display.setCursor(26,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32 display.print(newtime->tm_hour); }if(newtime->tm_hour > 9){ display.setTextColor(myRED); display.setCursor(20,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32 display.print(newtime->tm_hour); }
display.setTextColor(myRED);
display.setCursor(30,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(":");
if(newtime->tm_min < 10){
display.setTextColor(myRED);
display.setCursor(34,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32
display.print("0");
display.setTextColor(myRED);
display.setCursor(40,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32
display.print(newtime->tm_min);
}if(newtime->tm_min > 9){
display.setTextColor(myRED);
display.setCursor(34,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 17-32
display.print(newtime->tm_min);
}
} }
void sos() {
String query = "from(bucket: "Project_Thoeng")\n
|> range(start: -2m)\n
|> filter(fn: (r) => r._measurement == "wifi_status" and r._field == "signal")";
FluxQueryResult result = client.query(query);
Serial.println("Results : ");
long s = 0 ;
while (result.next()) {
String ssid = result.getValueByName("SSID").getString();
Serial.print("SSID '");
Serial.print(ssid);
Serial.print("' with RSSI "); long value = result.getValueByName("_value").getLong(); Serial.println(value); s = value ; }if (s == 0){ display.clearDisplay(); display.setTextWrap(false); // don't wrap at end of line display.setTextColor(myYELLOW); display.setCursor(4,7); display.print("SOS"); display_update_enable(true); display.setTextColor(myYELLOW); display.setCursor(25,7); display.print("NORMAL"); }else{ display.clearDisplay(); display.setTextWrap(false); // don't wrap at end of line display.setTextColor(myRED); display.setCursor(7,7); display.print("SOS"); display_update_enable(true); display.setTextColor(myRED); display.setCursor(29,7); display.print("ALERT"); } time2(); }
void person(){
long v = 0;
String query = "from(bucket: "Project_Thoeng")\n
|> range(start: -30m)\n
|> filter(fn: (r) => r._measurement == "wifi_status" and r._field == "Sensor_count")";
FluxQueryResult result = client.query(query);
Serial.println("Results : ");
while (result.next()) {
/String ssid = result.getValueByName("SSID").getString();
Serial.print("SSID '");
Serial.print(ssid);/
Serial.print(" with RSSI "); long value = result.getValueByName("_value").getLong(); Serial.println(value);
v = value; } display.clearDisplay(); if (v < 10){ display.setTextColor(myYELLOW); display.setCursor(4,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("People"); /display.setTextColor(myYELLOW); display.setCursor(43,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("00");/ display.setTextColor(myYELLOW); display.setCursor(48,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(v); time2(); } else if (v < 100){ display.setTextColor(myYELLOW); display.setCursor(4,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("People"); /display.setTextColor(myYELLOW); display.setCursor(43,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("0");/ display.setTextColor(myYELLOW); display.setCursor(45,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(v); time2(); } else if (v > 99){ display.setTextColor(myYELLOW); display.setCursor(4,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("People"); display.setTextColor(myYELLOW); display.setCursor(43,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(v); time2(); } }
void pm(){
String query = "from(bucket: "Project_Thoeng")\n
|> range(start: -30s)\n
|> filter(fn: (r) => r._measurement == "wifi_status" and r.SSID == "K@Wiangthoeng 2.4G" and r._field == "ค่าฝุ่นpm 2.5ตัวที่1" and r._field == "pm_sor1")";
FluxQueryResult result = client.query(query);
Serial.println("Results : ");
float v = 0;
while (result.next()) {
/String ssid = result.getValueByName("SSID").getString();
Serial.print("SSID");
Serial.print(ssid);/
Serial.print("with RSSI "); float value = result.getValueByName("_value").getLong(); Serial.println(value); v = value; } if (v < 50){ display.clearDisplay(); display.setTextColor(myGREEN); display.setCursor(20,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("PM2.5"); display.setTextWrap(false); // don't wrap at end of line display.setTextColor(myGREEN); display.setCursor(23,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(v); }if (v > 50 && v < 90){ display.clearDisplay(); display.setTextColor(myYELLOW); display.setCursor(20,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("PM2.5"); display.setTextWrap(false); // don't wrap at end of line display.setTextColor(myYELLOW); display.setCursor(23,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(v); }if (v > 90){ display.clearDisplay(); display.setTextColor(myRED); display.setCursor(20,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print("PM2.5"); display.setTextWrap(false); // don't wrap at end of line display.setTextColor(myRED); display.setCursor(20,19); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15 display.print(v); } //time2(); }
void tem(){
String query = "from(bucket: "Project_Thoeng")\n
|> range(start: -30s)\n
|> filter(fn: (r) => r._measurement == "wifi_status" and r._field == "อุณหภูมิตัวที่1")";
FluxQueryResult result = client.query(query);
Serial.println("Results : ");
long t = 0;
while (result.next()) {
/String ssid = result.getValueByName("SSID").getString();
Serial.print("SSID '");
Serial.print(ssid);/
Serial.print(" with RSSI ");
long value = result.getValueByName("_value").getLong();
Serial.println(value);
t = value;
}
display.clearDisplay();
display.setTextColor(myYELLOW);
display.setCursor(24,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print(t);
display.setTextWrap(false); // don't wrap at end of line
display.setTextColor(myYELLOW);
display.setCursor(36,7); //x ต้องเริ่มที่ 0-31, y ต้องเริ่มที่ 0-15
display.print("C");
time2();
}
void Maxsound(){
String query = "from(bucket: "Project_Thoeng")\n
|> range(start: -30s)\n
|> filter(fn: (r) => r._measurement == "wifi_status" and r._field == "sensortanaphat")";
FluxQueryResult result = client.query(query);
Serial.println("Results : ");
long m = 0.0;
while (result.next()) {
/String ssid = result.getValueByName("SSID").getString();
Serial.print("SSID");
Serial.print(ssid);/
Serial.print(" with RSSI ");
long value = result.getValueByName("_value").getLong();
Serial.println(value);
m = value;
}
//Right Top
display.clearDisplay();
if (m < 10){
display.setTextWrap(false); // don't wrap at end of line
display.setTextColor(myYELLOW);
display.setCursor(10,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print("00");
display.setTextColor(myYELLOW);
display.setCursor(22,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print(m);
display.setTextColor(myYELLOW);
display.setCursor(45,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print("dB");
time2();
}
if (m > 85){
if (m >9 && m < 100){
display.setTextWrap(false); // don't wrap at end of line
display.setTextColor(myRED);
display.setCursor(6,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print("0");
display.setTextColor(myRED);
display.setCursor(13,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print(m);
display.setTextColor(myRED);
display.setCursor(48,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print("dB");
time2();
}
}
if (m < 85){
if (m >9 && m < 100){
display.setTextWrap(false); // don't wrap at end of line
display.setTextColor(myYELLOW);
display.setCursor(6,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print("0");
display.setTextColor(myYELLOW);
display.setCursor(13,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print(m);
display.setTextColor(myYELLOW);
display.setCursor(48,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print("dB");
time2();
}
}
if (m > 99){
display.setTextWrap(false); // don't wrap at end of line
display.setTextColor(myRED);
display.setCursor(6,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print(m);
display.setTextColor(myRED);
display.setCursor(48,7); //x ต้องเริ่มที่ 32-64, y ต้องเริ่มที่ 0-15
display.print("dB");
time2();
}
}
void cleardisplay1(){
display.clearDisplay();
}

thanks in advance!!
@oumpack, please, reformat your post. it is almost unreadable.
- Provide just the relevant parts of your application where you configure the client and write and query
- Put the source code in the preformat tags.
The general idea - check first query result in the Data Explorer, please.