Wsparcie dla śpiących czujników

User avatar
QLQ
Posts: 2286
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Post

wydaje mi się że ten delay wszystko rozwala

masz cały kod:

Code: Select all

 
#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
Posts: 5243
Joined: Fri Nov 16, 2018 7:25 am

Post

nie używaj delay o ile nie jest to delay(0) ;)
https://gui-generic-builder.supla.io/
User avatar
QLQ
Posts: 2286
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Post

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

Code: Select all

{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.....
User avatar
QLQ
Posts: 2286
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Post

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
Posts: 5243
Joined: Fri Nov 16, 2018 7:25 am

Post

QLQ wrote: Sat Apr 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/
User avatar
QLQ
Posts: 2286
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Post

krycha88 wrote: Sat Apr 03, 2021 5:20 pm
QLQ wrote: Sat Apr 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):

Code: Select all

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
Posts: 5243
Joined: Fri Nov 16, 2018 7:25 am

Post

brawo i od tego momentu już nie będziesz używać delay ;)
https://gui-generic-builder.supla.io/
User avatar
QLQ
Posts: 2286
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Post

nie wiem czemu jeszcze mi melduje na serialu po sleep:

Code: Select all

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
IMG_20210403_195308.gif
..
.
W końcu mogę się zabrać za pomiary prądu
You do not have the required permissions to view the files attached to this post.
jak coś nie działa to włącz zasilanie.....
User avatar
QLQ
Posts: 2286
Joined: Sun Sep 03, 2017 9:13 am
Location: Koszalin

Post

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

Return to “supla-server”