Wsparcie dla śpiących czujników

Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

wydaje mi się że ten delay wszystko rozwala

masz cały kod:

Kod: Zaznacz cały

 
#include <SPI.h>
#include <SuplaDevice.h>

#include <supla/sensor/BME280.h>

#define sensor_address 0x76 // Adafruit devices use 0x77 all others use 0x76
Adafruit_BME280 bme;

#include <supla/network/esp_wifi.h>
Supla::ESPWifi wifi("XXF", "XX");



void setup() {

  Serial.begin(115200);
  
  if (!bme.begin(sensor_address)) Serial.println("Could not find a valid BME280 sensor, check wiring, address, sensor ID!");
  Serial.println("-- Default Test --");
  Serial.println("Temperature = " + String(bme.readTemperature()) + "'C");
  Serial.println("   Pressure = " + String((bme.readPressure() / 100.0F) + 3.8) + " hPa"); // +4.3 Adjustment for current altitude, each device is different
  Serial.println("   Humidity = " + String(bme.readHumidity()) + " %");
  

  // Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
  char GUID[SUPLA_GUID_SIZE] = {0x90, 0x7B, 0xD8, 0x9B, 0x7F, 0x9A, 0x71, 0x2E, 0xF5, 0x95, 0x36, 0xC6, 0xAE, 0x4D, 0x1A, 0x8D};

  // Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
  char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0xF0, 0xB5, 0xBC, 0xC7, 0x96, 0xA4, 0x00, 0x14, 0x93, 0x5E, 0xDD, 0x53, 0x08, 0x4A, 0xF6, 0x03};


 // new Supla::Sensor::BME280(0x76, 100);
  auto bt = new Supla::Sensor::BME280(0x76, 100);
  bt->getChannel()->setValidityTimeSec(5*60);
  bt->getSecondaryChannel()->setValidityTimeSec(5*60);
  
 
  /*
     SuplaDevice Initialization.
  */
  SuplaDevice.setName("Test R@F");
  SuplaDevice.begin(GUID,              // Global Unique Identifier
                    "svrX.supla.org",  // SUPLA server address
                    "XX@gmail.com",   // Email address used to login to Supla Cloud
                    AUTHKEY);          // Authorization key

delay(30000);
}

void loop() {

  SuplaDevice.iterate();
  
  BME280_Sleep(sensor_address);                // Now place BME280 into sleep mode
  Serial.println(" ESP8266 to Sleep mode...");   // Say going to sleep
  ESP.deepSleep(300e6); // 20e6 is 20 microseconds
	
 
}

void BME280_Sleep(int device_address) {
  // BME280 Register 0xF4 (control measurement register) sets the device mode, specifically bits 1,0
  // The bit positions are called 'mode[1:0]'. See datasheet Table 25 and Paragraph 3.3 for more detail.
  // Mode[1:0]  Mode
  //    00      'Sleep'  mode
  //  01 / 10   'Forced' mode, use either '01' or '10'
  //    11      'Normal' mode
  Serial.println("BME280 to Sleep mode...");
  Wire.beginTransmission(device_address);
  Wire.write((uint8_t)0xF4);       // Select Control Measurement Register
  Wire.write((uint8_t)0b00000000); // Send '00' for Sleep mode
  Wire.endTransmission();
}
log tego niedziałającego/ znikającego w Cloud i App zaraz wrzucę bo zaraz mnie coś trafi !!!:
jak coś nie działa to włącz zasilanie.....
krycha88
Posty: 5186
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

nie używaj delay o ile nie jest to delay(0) ;)
https://gui-generic-builder.supla.io/
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

log z tego co rozłącza w Cloud i APP:

Kod: Zaznacz cały

{l l⸮⸮| ⸮$⸮|⸮$⸮c|⸮⸮⸮⸮;⸮c⸮c⸮⸮'o⸮dg'⸮⸮⸮cp⸮⸮ds$sdp⸮g⸮⸮l⸮⸮co⸮<l⸮l⸮c⸮⸮go⸮ d⸮⸮$`⸮ogl n;⸮⸮⸮'⸮d`{⸮⸮o⸮l`⸮r⸮p⸮l⸮;⸮`⸮⸮o⸮-- Default Test --
Temperature = 24.71'C
   Pressure = 1020.15 hPa
   Humidity = 42.39 %
Supla - starting initialization
Storage not found. Running without state memory
Channel(1) value changed to 1028.50
Channel(0) value changed to temp(24.770000), humi(42.391602)
Initializing network layer
WiFi: establishing connection with SSID: "R@F"
Using Supla protocol version 12
Current status: [5] SuplaDevice initialized
local IP: 192.168.1.33
subnetMask: 255.255.255.0
gatewayIP: 192.168.1.1
Signal strength (RSSI): -56 dBm
Channel(1) value changed to 1028.41
Channel(0) value changed to temp(25.080000), humi(41.936523)
Establishing Secured connection without certificate matching with: svr5.supla.org (port: 2016)
Connected to Supla Server
Current status: [10] Register in progress
Sending: [53 55 50 4C 41 C 1 0 0 0 45 0 0 0 7A 2 0 0 64 6F 6D 6A 70 31 36 31 39 40 67 6D 61 69 6C 2E 63 6F 6D 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F0 B5 BC C7 96 A4 0 14 93 5E DD 53 8 4A F6 3 90 7B D8 9B 7F 9A 71 2E F5 95 36 C6 AE 4D 1A 8D 54 65 73 74 20 52 40 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 73 65 72 20 53 57 2C 20 6C 69 62 20 32 2E 33 2E 34 0 0 0 73 76 72 35 2E 73 75 70 6C 61 2E 6F 72 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 DE B 0 0 0 0 0 0 2D 0 0 0 0 0 0 0 F7 61 0 0 D0 A3 0 0 1 E4 B 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 0 0 AE 11 90 40 ]
Sending: [53 55 50 4C 41 ]
BME280 to Sleep mode...
 ESP8266 to Sleep mode...
WiFi station disconnected
Current status: [8] No connection to network
BME280 to Sleep mode...
 ESP8266 to Sleep mode...
sd $⸮⸮| ⸮l⸮|⸮$⸮c|⸮⸮⸮⸮{⸮c⸮b⸮⸮og⸮l'o⸮⸮⸮#x⸮⸮${ls$p⸮g⸮⸮lĜb'⸮|d⸮d⸮b⸮⸮og⸮ l⸮⸮l ⸮'o$`gs⸮ۓn⸮d`{⸮⸮o⸮$`⸮{⸮8⸮d⸮s⸮`⸮⸮n⸮-- Default Test --
Temperature = 24.45'C
   Pressure = 1020.18 hPa
   Humidity = 43.24 %
Supla - starting initialization
Storage not found. Running without state memory
Channel(1) value changed to 1028.49
Channel(0) value changed to temp(24.490000), humi(43.237305)
Initializing network layer
WiFi: establishing connection with SSID: "R@F"
Using Supla protocol version 12
Current status: [5] SuplaDevice initialized
local IP: 192.168.1.33
subnetMask: 255.255.255.0
gatewayIP: 192.168.1.1
Signal strength (RSSI): -56 dBm
Channel(1) value changed to 1028.43
Channel(0) value changed to temp(24.840000), humi(43.155273)
Establishing Secured connection without certificate matching with: svr5.supla.org (port: 2016)
Connected to Supla Server
Current status: [10] Register in progress
Sending: [53 55 50 4C 41 C 1 0 0 0 45 0 0 0 7A 2 0 0 64 6F 6D 6A 70 31 36 31 39 40 67 6D 61 69 6C 2E 63 6F 6D 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F0 B5 BC C7 96 A4 0 14 93 5E DD 53 8 4A F6 3 90 7B D8 9B 7F 9A 71 2E F5 95 36 C6 AE 4D 1A 8D 54 65 73 74 20 52 40 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 73 65 72 20 53 57 2C 20 6C 69 62 20 32 2E 33 2E 34 0 0 0 73 76 72 35 2E 73 75 70 6C 61 2E 6F 72 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 DE B 0 0 0 0 0 0 2D 0 0 0 0 0 0 0 8 61 0 0 93 A8 0 0 1 E4 B 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 0 80 BD 11 90 40 ]
Sending: [53 55 50 4C 41 ]
BME280 to Sleep mode...
 ESP8266 to Sleep mode...
WiFi station disconnected
Current status: [8] No connection to network
BME280 to Sleep mode...
 ESP8266 to Sleep mode...

 
on nie nadąża wysłać do cloud bo za szybko zamyka połączenie
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

no to zajmie mi z miesiąc ogarnięcie tego na czymś innym niż delay ..a miało być tak pięknie
jak coś nie działa to włącz zasilanie.....
krycha88
Posty: 5186
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

QLQ pisze: sob kwie 03, 2021 5:10 pm no to zajmie mi z miesiąc ogarnięcie tego na czymś innym niż delay ..a miało być tak pięknie
a w jakim celu to delay?
https://gui-generic-builder.supla.io/
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

krycha88 pisze: sob kwie 03, 2021 5:20 pm
QLQ pisze: sob kwie 03, 2021 5:10 pm no to zajmie mi z miesiąc ogarnięcie tego na czymś innym niż delay ..a miało być tak pięknie
a w jakim celu to delay?
ma działać tak że esp zanim zrobi deepSleep na np 5 min(ver z RST I GPIO16) ma odczytać dane z bme280 , połaczyć się z Cloud przesłać dane , oznajmć CLOUD że idzie np na 5min spać ( w ESP.deepSleep(300e6) też ma 5 min aby znów się wybudzić.

ale chyba mi się udało bez Waszej pomocy Jeeeee

zrobiłem na millis - nie wiem czy dobrze ale jak wiecie uczę się na błędach. Idzie to opornie ale do przodu. :)

mam zamiast np delay(10000):

Kod: Zaznacz cały

const unsigned long eventInterval = 10000;
unsigned long previousTime = 0;

[code]void loop() {
 
  unsigned long currentTime = millis();

  SuplaDevice.iterate();
  
   if (currentTime - previousTime >= eventInterval) { 
     previousTime = currentTime;
  
  BME280_Sleep(sensor_address);                // Now place BME280 into sleep mode
  Serial.println(" ESP8266 to Sleep mode...");   // Say going to sleep
  ESP.deepSleep(300e6); // 20e6 is 20 microseconds
}	
 
}
jak coś nie działa to włącz zasilanie.....
krycha88
Posty: 5186
Rejestracja: pt lis 16, 2018 7:25 am
Kontakt:

brawo i od tego momentu już nie będziesz używać delay ;)
https://gui-generic-builder.supla.io/
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

nie wiem czemu jeszcze mi melduje na serialu po sleep:

Kod: Zaznacz cały

BME280 to Sleep mode...
 ESP8266 to Sleep mode...
WiFi station disconnected
Channel(1) value changed to 1028.74
Channel(0) value changed to temp(27.730000), humi(42.363281)
Current status: [8] No connection to network
ale teraz po 4 minutach - czyli czasie serwera gdzie już normalnie po rozłączeniu esp kanału nie byłoby widocznego w apce mam tak :) :) :

Cloud esp rozłączony ale W APCE JEST !! :) :)
Clip.jpg
Clip.jpg (3.67 KiB) Przejrzano 2330 razy
IMG_20210403_195308.gif
IMG_20210403_195308.gif (6.72 KiB) Przejrzano 2330 razy
..
.
W końcu mogę się zabrać za pomiary prądu
jak coś nie działa to włącz zasilanie.....
Awatar użytkownika
QLQ
Posty: 2276
Rejestracja: ndz wrz 03, 2017 9:13 am
Lokalizacja: Koszalin

Ok. Czujnik działa. Esp na 20 min idzie spać ...w Cloud jest offline ale w App jest cały czas online.
No to teraz trzeba przerobić na zasilanie bateryjne czujnik wilgotności gleby made in @elmaya tak aby esp szło na... niewiem , strzelam ~4 czy 6h spać ... I będziemy w domu :D :!: :P :mrgreen:
jak coś nie działa to włącz zasilanie.....
ODPOWIEDZ

Wróć do „supla-server”