Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

why influxdb not show Results #214

Open
oumpack opened this issue Mar 19, 2023 · 1 comment
Open

why influxdb not show Results #214

oumpack opened this issue Mar 19, 2023 · 1 comment

Comments

@oumpack
Copy link

oumpack commented Mar 19, 2023

#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!!

@vlastahajek
Copy link
Collaborator

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants