SSR
Жаль, а мог бы за мебельщика придумать всё
Quiero vivir en España
Может просто стабилизировать питание?
Питание выравнивается до 3.3 (пробовал разными способами), но с помощью SEPIC-преобразователя, как я понял, иногда тока не хватает, с помощью "понижайки MCP1700" 3.3 будет только при входящем выше 3.4v. У меня всё работает на связке солнечная батарея+аккумулятор пока напряжение на клеммах выше 3 вольт, но вот когда падает (это я к зиме готовлюсь), а потом плавно восстанавливается, то плата тупо не стартует.
Quiero vivir en España
Кстати, работает как часы с начала мая, т.е., почти 5 месяцев.
Anonymous
Anonymous
Проверяй напряжение на аккумуляторе, если чего выключай файфай до тех пор пока оно до нужного не подниметься
Anonymous
Если мало гони в сон
Anonymous
Через 49 дней или сколько там - проверяй, не настало ли лето))
Anonymous
Вайфай отключён всегда.
Ну она же спит у тебя?
Anonymous
Иначе зачем всегда включённой держать если вайфай нет
Indr1x
Питание выравнивается до 3.3 (пробовал разными способами), но с помощью SEPIC-преобразователя, как я понял, иногда тока не хватает, с помощью "понижайки MCP1700" 3.3 будет только при входящем выше 3.4v. У меня всё работает на связке солнечная батарея+аккумулятор пока напряжение на клеммах выше 3 вольт, но вот когда падает (это я к зиме готовлюсь), а потом плавно восстанавливается, то плата тупо не стартует.
Наверное курить установку уровня brownout detector. Он держит контроллер в состоянии ресет, пока напряжение не станет достаточным. Устанавливать на максимум 3.3 Могу пованговать возможно оно стоит ниже и проц пытается стартовать, но ему мало тока Глянул доку, там максимальное настраиваемое 2.8v Config_esp_brownout_det
Anonymous
А мог бы код и схему уже сделать
Ты что, лучше корону протереть и посмеяться
Anonymous
Это как плюшкин или скряга.
Anonymous
Чем напряжение проверять? Если девайс не стартует
Хз. Он же не спит даже похоже у него. До максимального батарею разряжает. Делать тригеры заранее
Indr1x
И что? Во сне батарея не разрядится /не замерзнет до минимума? У него проблема проснуться, а ты ему говоришь "ну так пораньше ложись, глядишь и повезёт"
Indr1x
Але, проблема просыпания. Диктую по бкувам П Р О С Ы П А Н И Я. А не сохранения заряда
Indr1x
И что? Потом заряжает
Anonymous
Если по умному контролировать все получится
Vladislav
Подскажите где ошибка... нету подключения к брокеру.
Vladislav
#include <ESP8266WiFi.h> #include <PubSubClient.h> const char* ssid = "www"; const char* password = "ppp"; const char* mqtt_server = "mqtt.dealgate.ru"; const char* arduinoClient = "ESP"; const char* testuser = "log"; const char* testpass = "pas"; WiFiClient espClient; PubSubClient client(espClient); unsigned long lastMsg = 0; #define MSG_BUFFER_SIZE (50) char msg[MSG_BUFFER_SIZE]; int value = 0; void setup_wifi() { delay(10); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } randomSeed(micros()); } void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } } void reconnect() { while (!client.connected()) { Serial.print("Attempting MQTT connection..."); String clientId = "ESP8266Client-"; clientId += String(random(0xffff), HEX); if (client.connect(clientId.c_str(), "testuser", "testpass")) { Serial.println("connected"); client.publish("outTopic", "hello world"); client.subscribe("inTopic"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void setup() { Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(callback); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); unsigned long now = millis(); if (now - lastMsg > 2000) { lastMsg = now; ++value; snprintf(msg, MSG_BUFFER_SIZE, "hello world #%ld", value); Serial.print("Publish message: "); Serial.println(msg); client.publish("outTopic", msg); } }
Vladislav
Ошибка - 5 : MQTT_CONNECT_UNAUTHORIZED - the client was not authorized to connect
w
Ошибка - 5 : MQTT_CONNECT_UNAUTHORIZED - the client was not authorized to connect
Логин пароль в кавычках вместо имён переменных
Quiero vivir en España
Жаль, а мог бы за мебельщика придумать всё
Вопрос не в "придумать", а, может, кто-то уже сталкивался... Например, если при низком напряжении ESP стартует и "спотыкается", то можно стартовать, проверять напряжение и (при низком) перезагружать. Просто мысли.
Quiero vivir en España
Ну она же спит у тебя?
В терминологии Arduino/ESP это называется сон, да. Модемный сон.
Vladislav
Логин пароль в кавычках вместо имён переменных
Спасибо... Поправил, все работает.
Quiero vivir en España
Anonymous
В терминологии Arduino/ESP это называется сон, да. Модемный сон.
в каком режиме? модем слип? есть лайт слип, дип слип
Anonymous
Модем слип.
и постоянно по лоре у тебя данные передаются прям стрим идет?
Anonymous
копай deep sleep
Quiero vivir en España
и постоянно по лоре у тебя данные передаются прям стрим идет?
Я понимаю, к чему вы клоните. Передаёт редко. Но если использовать deepsleep mode, то есть риск пропустить некоторые байты из эфира. Уже пробовал.
Quiero vivir en España
Прослушивание эфира всегда, передача - иногда.
Quiero vivir en España
Насчёт brown-out пока нашёл лишь In my case i put ESP8266 in permanent deepsleep mode if Vbatt is under 3.0V
Quiero vivir en España
Аппаратного детектора в ESP нет, но нашёл вот что
Quiero vivir en España
https://img-fotki.yandex.ru/get/53301/3630370.0/0_1c3f45_88b9d152_orig.png
https://img-fotki.yandex.ru/get/53301/3630370.0/0_1c3f45_88b9d152_orig.png
Это супервизор тут используется
Посмотри готовые схемы защиты аккумуляторов от переразряда и сконфгурируй под себя, чтоб при достижении 3.2 у тебя отпускался ресет
Indr1x
Не нашёл для esp8266
Блин я на 32 смотрел
Quiero vivir en España
Блин я на 32 смотрел
Для такого случая и на 32 можно перейти. Как в Arduino IDE конфигурировать broun-out? Яндекс не дал ответа.
Indr1x
Ну для такого можно и на esp idf перейти 😁. Я же доку смотрел а не ардуину
Indr1x
Попробовать впрямую задать как в esp idf сделано
Quiero vivir en España
Quiero vivir en España
Вот ещё нашёл #include “soc/soc.h” #include “soc/rtc_cntl_reg.h” WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector in the setup.
Вот ещё нашёл #include “soc/soc.h” #include “soc/rtc_cntl_reg.h” WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector in the setup.
Да, только лучше включать его через esp-idf, ибо оно включается в его бутлоадере. Хотя впрочем не важно. В даташите есть описание этого регистра для разных напряжений
Вот этот регистр пороги меняет
Quiero vivir en España
О, спасибо. Жаль, что 2.8 - максимум. Насколько я понял, модуль заряда литий-ионных АКБ отключает батарею как раз при напряжении ниже 2.8. И с ним беда та же: если батарея разрядилась (2.8v), а потом чуть-чуть зарядилась до 2.9, ESP может не запуститься.
Поэтому делай схему какую нибудь на компараторе и тл431, чтоб ресет отпускала после определенного порога.
Quiero vivir en España
С микросхемами и пайкой я не очень дружу.
Вообщем по даташиту что 32 что 8266 работают до 2,5 вольт. Странно почему оно у тебя виснет
Quiero vivir en España
Фактически когда оно включено, то работает до 2.6, но когда подаём низкое напряжение, постепенно увеличивая (как при питании от солнечной батареи), то не заводится и всё.
Quiero vivir en España
Цифры могут быть немного неточными, но принцип именно такой.
Indr1x
интересно на каком это вы акб собрались такой разряд делать..
заголовок таблицы ни о чем не говорит? Это как бы не о том
Indr1x
минималка у лития 2.8 - 2,75
Andy
А не знаете готовых вариантов?
Знаю, но конкретно счас не скажу, в поездке. На самом деле любой бод, выход датчика либо на en, либо на обычный gpio, в зависимости от потребности
минималка у лития 2.8 - 2,75
Вообще рекомендуют выключать литий при 3 вольтах, ибо добирать с 3.0 до 2.8 практически нечего, а вот на ресурсе мол это сказывается
Indr1x
и как это сделать? контроллер в батарее
и как это сделать? контроллер в батарее
Надо смотреть фирменные батарейки типа от тех же яблок или самсунгов при каком напряжении они выключают
А так в китайских батарейках стоит тупой dw01. А его выше чем 2.8 не видел
Хотя не dw01 вообще при 2,4 выключает
А это уже такой полукритический порог
Денис
и как это сделать? контроллер в батарее
практически как и все устройства на свете.. отслеживать заряд и в случае чего глубоко спать потребляя лишь мкА. то что в батарее это и есть на это случай: если устройство в таком состоянии(мкА) долго прибывает..
Ну в батарее эта отсечка уже аварийная
Те же телефоны когда ты их включаешь на низком заряде - показывают плашку - заряди меня.
Anonymous
подскажите плиз, как получить доступ к файловой системе SPIFFS в platformIO или может как-то через консоль ?