tobiasschuerg / InfluxDB-Client-for-Arduino

Simple library for sending measurements to an InfluxDB with a single network request. Supports ESP8266 and ESP32.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

why influxdb not show Results

oumpack opened this issue · comments

#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();
}
Screenshot 2023-03-19 214733

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.