Informacja o napięcu zasilania

PioKar
Posts: 214
Joined: Thu May 03, 2018 5:56 am

Tue Sep 03, 2019 4:09 pm

No działa.
Niedługo wyjazd na dach.
Ale apetyt rośnie.
Fajnie by było gdyby siła wi-fi doszła.
PioKar
Posts: 214
Joined: Thu May 03, 2018 5:56 am

Sat Sep 07, 2019 2:29 am

Jeszcze jedna prośba.
soft kolegi @piomar2 działa ok. jeszcze raz dzięki
ale pomyślałem że do tego co mi potrzeba wystarczyły by dane co 5 minut.
bo baterii szkoda
znalazłem opis jak usypiać wemosa
https://arduinodiy.wordpress.com/2016/1 ... hingspeak/
ale sam nie połączę tych softów
ja mogę wgrać i zameldować czy działa
teraz w lecie przy solarze prądu wystarcza ale, w zimie mogę się przeliczyć.
miałby ktoś chwilę by zerknąć na to?
może byłby sposób bym się odwdzięczył.
A może komuś poza mną usypianie by się przydało.
User avatar
shimano73
Posts: 851
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Sat Sep 07, 2019 9:49 am

PioKar wrote:
Sat Sep 07, 2019 2:29 am
Jeszcze jedna prośba.
soft kolegi @piomar2 działa ok. jeszcze raz dzięki
ale pomyślałem że do tego co mi potrzeba wystarczyły by dane co 5 minut.
bo baterii szkoda
znalazłem opis jak usypiać wemosa
https://arduinodiy.wordpress.com/2016/1 ... hingspeak/
ale sam nie połączę tych softów
ja mogę wgrać i zameldować czy działa
teraz w lecie przy solarze prądu wystarcza ale, w zimie mogę się przeliczyć.
miałby ktoś chwilę by zerknąć na to?
może byłby sposób bym się odwdzięczył.
A może komuś poza mną usypianie by się przydało.
Usypianie wemos’a spowoduje zerwanie komunikacji i brak wyświetlania danych w aplikacji, on musie wysyłać dane co 10s
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
PioKar
Posts: 214
Joined: Thu May 03, 2018 5:56 am

Sat Sep 07, 2019 12:41 pm

No ok.
Ten wemos jest w tym wypadku tylko informacją o stanie zasilania.
Nic innego nie robi.
Daje tylko dane do wykresu @fracz
Może się zrywać i co jakiś czas się łączyć i przesyłać dane o napięciu.
piomar2
Posts: 81
Joined: Fri Apr 26, 2019 5:32 pm
Location: Bukowice

Sat Sep 07, 2019 12:57 pm

W związku z tym co napisał shimano73 oszczędności energii, po zastosowaniu usypiania, raczej będą małe. Czas usypiania musi być mniejszy od czasu, kiedy dojdzie do rozłączenia z suplą. Nie wiem, czy będzie to stabilne rozwiązanie i czy zysk energetyczny "warty zachodu". Po ustawieniu czasu usypiania (czytaj sketch) na około 90 sek rozłączenie jest krótkotrwałe i mało przeszkadza (przynajmniej u mnie - sprawdziłem). To rozłączenie na jakiś czas z suplą (np. 10 min) nie przeszkadzałoby, gdyby serwer pamiętał ostatni wynik, a tak nie jest.
Dołączam programik. Możesz sobie poćwiczyć i pomierzyć oszczędności. Ja mam trochę mało czasu na takie badania...

Code: Select all

//wemos D1 mini
//A0 - pomiar napięcia (max 3,2 V na A0)
//Dzielnik 90k+10k(potencjometr)/10k (max 30 V)
//Zewrzeć piny RST i GPIO 16 rezystorem 470 omów !!! 


#include <srpc.h>
#include <log.h>
#include <eh.h>
#include <proto.h>
#include <IEEE754tools.h>
#define SUPLADEVICE_CPP
#include <SuplaDevice.h>
#include <lck.h>

#include <WiFiClient.h>
#include <ESP8266WiFi.h>
#include <WiFiServer.h>

#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>

 WiFiClient client;

const char* ssid = "xxxxx";
const char* password = "xxxxx"; 

int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // R1 - 100K
float R2 = 10000.0; // R2 - 10K
int value = 0;

//--------------------------------------------------------------
double get_temperature(int channelNumber, double last_val) {

    double t = -275;
      value = analogRead(analogInput);
      vout = (value * 3.3) / 1024.0;
      vin = vout / (R2/(R1+R2)); 
        if (vin<0.09) {
            vin=0.0;
            } 
        t=vin;
    return t;  
}
//-------------------------------------------------------------
void setup() {
  Serial.begin(115200);
 
  
  // Replace the falowing GUID
char GUID[SUPLA_GUID_SIZE] = {0x53,0x25,0x93,0x93,0x9B,0x06,0x80,0xEF,0xD9,0xD3,0x17,0x97,0x04,0x0F,0x8A,0x2E};
 
 // with GUID that you can retrieve from https://www.supla.org/arduino/get-guid
  
  // Ethernet MAC address
  uint8_t mac[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

  // CHANNEL 0 -woltomierz
    SuplaDevice.addDS18B20Thermometer();
    
  
  SuplaDevice.begin(GUID,              // Global Unique Identifier 
                    mac,               // Ethernet MAC address
                    "xxxxx",  // SUPLA server address
                    xxxx,                 // Location ID 
                    "xxxxx");               // Location Password
 SuplaDevice.iterate(); 
    
}
//--------------------------------------------------------
void loop() {
  
  delay(150);
  ESP.deepSleep(90* 1000 * 1000);//przykładowe wprowadzenie w stan uśpienia na 90 sek              

}
 
// Supla.org ethernet layer
int supla_arduino_tcp_read(void *buf, int count) {
  _supla_int_t size = client.available();

  if ( size > 0 ) {
    if ( size > count ) size = count;
    return client.read((uint8_t *)buf, size);
  };

  return -1;
};

int supla_arduino_tcp_write(void *buf, int count) {
  return client.write((const uint8_t *)buf, count);
};

bool supla_arduino_svr_connect(const char *server, int port) {
  return client.connect(server, 2015);
}

bool supla_arduino_svr_connected(void) {
  return client.connected();
}

void supla_arduino_svr_disconnect(void) {
  client.stop();
}

void supla_arduino_eth_setup(uint8_t mac[6], IPAddress *ip) {

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
            delay(500);
  }
}

SuplaDeviceCallbacks supla_arduino_get_callbacks(void) {
  SuplaDeviceCallbacks cb;

  cb.tcp_read = &supla_arduino_tcp_read;
  cb.tcp_write = &supla_arduino_tcp_write;
  cb.eth_setup = &supla_arduino_eth_setup;
  cb.svr_connected = &supla_arduino_svr_connected;
  cb.svr_connect = &supla_arduino_svr_connect;
  cb.svr_disconnect = &supla_arduino_svr_disconnect;
  cb.get_temperature = &get_temperature;
  cb.get_temperature_and_humidity = NULL;
  cb.get_rgbw_value = NULL;
  cb.set_rgbw_value = NULL;

  return cb;
}
  

piomar2
PioKar
Posts: 214
Joined: Thu May 03, 2018 5:56 am

Sat Sep 07, 2019 1:00 pm

sprawdzę i zamelduję.
PioKar
Posts: 214
Joined: Thu May 03, 2018 5:56 am

Sat Sep 07, 2019 2:36 pm

no działa
amperomierz pokazuje 03 a potem na chwile 70 ma i to jest co 90 sekund
potem zmienię na 450 sekund
ale najpierw pytanie jak to działa
wybudza się na chwilę tak naokoło 10 sekund
czy ten czas gdzieś się ustawia?
inaczej, po jakim czasie od wybudzenia idzie spać
cloud cały czas pokazuje że jest połączony ( dziwne).
paczam dalej ...
piomar2
Posts: 81
Joined: Fri Apr 26, 2019 5:32 pm
Location: Bukowice

Sat Sep 07, 2019 3:01 pm

ESP.deepSleep(90* 1000 * 1000);//przykładowe wprowadzenie w stan uśpienia na 90 sek

tu ustawiasz. Jest ustawione 90 sek
piomar2
PioKar
Posts: 214
Joined: Thu May 03, 2018 5:56 am

Sat Sep 07, 2019 3:02 pm

No nie mówcie że to nie jest oszczędność baterii.
amperomierz nie kłamie, usypianie 90 sekund pokazuje 03 ma.
Budzi się na 10 sekund i pokazuje 70 ma
cloud pokazuje cały czas że jest połączony.
W zasadzie to mógłbym to tak zostawić.
piomar2
Posts: 81
Joined: Fri Apr 26, 2019 5:32 pm
Location: Bukowice

Sat Sep 07, 2019 3:15 pm

No i ok.
piomar2
Post Reply