@p-a-h-a,
ESP-01s отправляет температуру на Blynk. Я вставил в этот код Ваши строчки для экономии батареи. Сейчас подключено питание 2хАА (ионистор идёт). При отправки данных (3сек) потребление 70мА, потом сон на 5 мин (пока для теста) потребление 20мкА. Две недели теста на батареи сейчас 2,7В. Посмотрите пожалуйста этот код всё ли правильно и на месте вставлено? Может еще можно уменьшить потребление во сне?
ESP-01s отправляет температуру на Blynk. Я вставил в этот код Ваши строчки для экономии батареи. Сейчас подключено питание 2хАА (ионистор идёт). При отправки данных (3сек) потребление 70мА, потом сон на 5 мин (пока для теста) потребление 20мкА. Две недели теста на батареи сейчас 2,7В. Посмотрите пожалуйста этот код всё ли правильно и на месте вставлено? Может еще можно уменьшить потребление во сне?
C++:
//блок для include
//-----------------------------------------------
#include <DallasTemperature.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
//-----------------------------------------------
//-----------------------------------------------
//блок для define
//-----------------------------------------------
#define BLYNK_PRINT Serial
#define ONE_WIRE_BUS 0 // тут прописать свой GPIO куда подключен сенсор
//-----------------------------------------------
//-----------------------------------------------
//блок для глобальных перменных
//-----------------------------------------------
float temp = NAN; //температура
char auth[] = "********";
char ssid[] = "********";
char pass[] = "********";
//-----------------------------------------------
//-----------------------------------------------
//блок определений
//-----------------------------------------------
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
//-----------------------------------------------
// Пин питания датчика
int Vout = 2;
//ADC_MODE (ADC_VCC);
void setup()
{
pinMode(Vout, OUTPUT);
digitalWrite(Vout, HIGH);
int tryingToConnect = 5; // количество попыток соединиться с blynk сервером если не удается соединиться
Serial.begin(115200);
sensors.requestTemperatures();
delay(1000);
temp = sensors.getTempCByIndex(0);
//Настройка блинк
Blynk.config(auth);
//Подключаемся к WiFi сети
Blynk.connectWiFi(ssid, pass);
while(!Blynk.connect() && tryingToConnect != 0) // пока есть попытки долбимся на сервер
{
tryingToConnect--;
Serial.print("an attempt to join a number = ");
Serial.println(tryingToConnect);
}
delay(3000); // пауза в 3 секунд, что бы до сна, все успело отправиться
Serial.println("Sleep mode ON");
//Все отправили или нет, а заснуть нужно. Бай-бай!!!
ESP.deepSleep(60000000 * 5); //глубокий сон 5 минуты для теста, потом поставить сколько нужно
}
void loop()
{
//TODO
}
//Когда произошел коннект с блинк сервером выполняется этот метод (функция)
BLYNK_CONNECTED()
{
// Blynk.notify("I`m send data of server"); // для наладки, потом закоментировать
Serial.println();
Serial.println("I`m send data of server");
//Отправляем данные на сервер
Blynk.virtualWrite(V2, temp); // тут прописать свои виртуальные шпильки
digitalWrite(Vout, LOW);
int voltInt = ESP.getVcc();
// long volt = voltInt*VCC_ADJ;
}