GGGunner
Добрый день! У кого дистанционно и автоматически включаются/выключаются обогреватели при достижении определенной температуры? Какие реле и контакторы использовали? Как у вас всё это организовано? Хочу у себя организовать, без wi-fi
Resident
Американские инженеры собрали лабораторию в таблетке — капсулу PillTrek, которая отслеживает состояние ЖКТ прямо изнутри. Внутри — куча датчиков и микроустройств, передающих данные в реальном времени. Работает без проводов, как полноценная электрохимическая станция, только размером с глоток воды. Похоже, будущее диагностики просто проглатывается. 🌒 1337
Resident
Resident
Resident
GGGunner
смотря какие обогреватели.
На 1,5 кВт и 2 кВт , тепловентилятор и обогреватель Ballu кажется
Evgeniy
На ESP32 D4 PICO максимальная тактовая встроенной флешки 40 Мгц или 80 МГц?
Таалайбек
Всем привет. Помогите пожалуйста как получить данные с умного счётчика из esp32, подключил по rs485. https://stroi.tabilga.kg/trehfaznyj-jelektroschjotchik-sunhope-smart/
Vlad
Американские инженеры собрали лабораторию в таблетке — капсулу PillTrek, которая отслеживает состояние ЖКТ прямо изнутри. Внутри — куча датчиков и микроустройств, передающих данные в реальном времени. Работает без проводов, как полноценная электрохимическая станция, только размером с глоток воды. Похоже, будущее диагностики просто проглатывается. 🌒 1337
я такую Кремлевскую таблетку собирал в 80х годах прошлого века. Когда батя выточил на заводе нержавеющую капсулу (несколько штук), объем где-то полтора кубика сантиметровых. И я смог туда в 3D-виде спаять мультивибратор на обточенных двух КТ315 и часовой батарейке. :)
Vlad
я сделал press, short-click, pressing periodical event, long-click на единственной кнопке
LordPrizrak
Доброго времени суток. Кто может объяснить откуда может тянуться зависимость esp_jpeg? Проблема из разряда "так не бывает!". С помощью ии написал код получения одного кадра с камеры, запускаю билд, вываливается ошибка сборки bootloader-а. Конкретно ругань на esp_jpeg (она требует freertos). Поковырялся не получается убрать ошибку. Откатываюсь в git-е на предыдущий коммит, где этой проблемы не было, и все собиралось. Запускать сборку - та же ошибка. Всё вычистил перепроверил, сделал git reset --hard в директории проекта, и в директории esp_idf. Ошибка остаётся. Естественно все директор build были грохнуться по несколько раз уже... Оттуда сборщик может тянуть эту зависимость?
Vlad
но вот пока не понял почему разное поведение при вкл. или откл. USB CDC
Aleks
На 2х кнопках можно слайд
LordPrizrak
Система Win10 esp_idf стянула с github-а, переключена на версию 5.4.2 Установка с помощью скрипта install.bat Все остальное по дефолту. В cmake файлах зависимостей нет.
Vlad
esp32-c3 super mini, и обычная кнопка с GPIO0 и на землю
Vlad
переходите в тему для новичков, и там задавайте конкретные вопросы, после проверки. а предварительно - изучить статьи в закрепленных сообщениях
Vlad
Привет. Прогаю фонарик на esp32-c3, который постоянно запитан и по кнопоцке либо работает, либо дипспит. Управляю пока не мощным внешним светодиодом, а встроенным на плату маненьким. При отладке, разумеется Usb CDC включен при запуске. И все начинает работать (визуально - это управляемый диод зажигается) почему-то только после коннекта к COM- порту с компа. Но при этом сохранённое в RTC и/или NVRam чудесно загружается, и запомненная яркость светика - восстанавливается. Желая избавится от ожидания камнем CDC - я его отключаю в конфиге, и все начинает работать уже без привязки к Usb-соединению, но ... Бля, яркость светодиода - уже не сохранённая, а максимальная. И отладки нету поглядеть... И чоооо теперь?
порешал: при компиляции в debug-режиме на старте был delay(3000) при отладке, а при production (c СDC отключенным) - полностью не было delay. счас добавил delay(300) с отключенным CDC, и все нормально начало тикать.
ok-home
именно PICO D4?
ну пико у меня нет - но из того что видел везде 80
Evgeniy
Ща попробую....
Evgeniy
Да, работает
Evgeniy
Столкнулся с проблемой: иногда не проходят POST запросы, это сопровождается всегда выделенными строчками. Использую Ethernet. В какую сторону копать?
Max
В сторону ошибки с кодом 113?
Evgeniy
там не особо понятны причины, включу lwip debug поглядеть
Aleks
Теристор на радиаторе 🧐🤨
Реле, нафик там теристор
ok-home
Насколько я помню QIO и 80мгц
Evgeniy
есть подозрение, что это коррелирует с операциями с записью в NVS storage внутри обработчика запроса
Evgeniy
Кстати, а в версии IDF 5.3+ в итоге починили новый драйвер I2C? Помню, что он не работал вообще, откатился до v 5.1
Evgeniy
да, взлетело с такими настройками
Evgeniy
очень похоже, что ERROR 113 коррелирует с записью в NVS, т.к. POST запросы, где в обработчике нет обращений к NVS к такому не приводят
ㅤ
В сторону ошибки с кодом 113?
Да ошибка тут не причем. Она следствие. 113 это EHOSTUNREACH. Судя по всему сеть отваливается и заново инитится
Evgeniy
пока не отваливается на запросах, где нет записи во flash
Evgeniy
возможно, внешняя флешка нужна для настроек
Evgeniy
сейчас 1 GET и 3 подряд POST запроса раз в секунду - ошибок нет таких вообще, метод, где сохраняется состояние в NVS приводил спустя десятка три попыток к такому багу
Evgeniy
возможно, завершить обработку запроса надо и потом уже флешку писать
Evgeniy
но опять же - да странно же!! OTA работает исправно всегда
ㅤ
сейчас 1 GET и 3 подряд POST запроса раз в секунду - ошибок нет таких вообще, метод, где сохраняется состояние в NVS приводил спустя десятка три попыток к такому багу
Ну "внешняя флешка" это какой-то костыль? И почему именно она? Эзернет по SPI подключен? Надо смотреть что там происодит
Evgeniy
Вообщем, похоже, что накосяпорил в обработчике именно того запроса, раз на OTA всё гладко
Evgeniy
@testtest133 один раз проявилось в итоге
Evgeniy
хз, может ли это быть связано с 20 метровым кабелем до роутера, если упрётся в глюки Zyxel будет смешно)
Max
wireshark-ом можно глянуть на стороне сервера, чо там в сети твориться
Evgeniy
тоже запущен и наблюдаю
ㅤ
Вообщем, похоже, что накосяпорил в обработчике именно того запроса, раз на OTA всё гладко
Ну вообще обрабатывать ошибки тоже надо уметь. Если линк упал, то ждать его восстановления и повторять запрос. Правда падать так забавно он конечно не должен
Evgeniy
Генератор на 50 Мгц 20 PPM OT322550MJBA4SL
Vlad
Привет. Прогаю фонарик на esp32-c3, который постоянно запитан и по кнопоцке либо работает, либо дипспит. Управляю пока не мощным внешним светодиодом, а встроенным на плату маненьким. При отладке, разумеется Usb CDC включен при запуске. И все начинает работать (визуально - это управляемый диод зажигается) почему-то только после коннекта к COM- порту с компа. Но при этом сохранённое в RTC и/или NVRam чудесно загружается, и запомненная яркость светика - восстанавливается. Желая избавится от ожидания камнем CDC - я его отключаю в конфиге, и все начинает работать уже без привязки к Usb-соединению, но ... Бля, яркость светодиода - уже не сохранённая, а максимальная. И отладки нету поглядеть... И чоооо теперь?
привет всем. еще вопросиг: esp32-c3 пытаюсь заставить пробуждаццо из дипслипа по двум пинам (один вкл\выкл), другой - подключение зарядки. #if defined(CONFIG_IDF_TARGET_ESP32) // ESP32 поддерживает только один пин и один уровень пробуждения if (esp_sleep_is_valid_wakeup_gpio((gpio_num_t)Pin)) { esp_sleep_enable_ext0_wakeup((gpio_num_t)Pin, Level); } else { return; } #elif defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32S3) // Для ESP32-S2/C3/S3 используем два вызова с разными масками и уровнями uint64_t mask1 = 1ULL << Pin; uint64_t mask2 = 1ULL << Pin2; // Включаем пробуждение для первого пина esp_deep_sleep_enable_gpio_wakeup(mask1, (esp_deepsleep_gpio_wake_up_mode_t)Level); // Включаем пробуждение для второго пина esp_deep_sleep_enable_gpio_wakeup(mask2, (esp_deepsleep_gpio_wake_up_mode_t)Level2); #endif esp_deep_sleep_start(); и выясняется, что не работает второй пин, не пробуждается по нему. А если ... поменять местами пины, т.е. первым поставить не вкл\выкл (GPIO0), а второй GPIO2 - то ... начинают работать оба. Это что за прикол ? Это штатно так приоритетность такая ?
ok-home
очень похоже, что ERROR 113 коррелирует с записью в NVS, т.к. POST запросы, где в обработчике нет обращений к NVS к такому не приводят
при записи в nvs стирание сектора происходит в абстрактный момент времени при этом все обращения к флэшу блокируются (в том числе и чтение кода программы), короче виснет все на приличное время. При ота там не так насколько я понимаю ота бегин стирает и подготавливает флэш, дальше ты только пишешь, и никаких блокировок.
Evgeniy
У меня вообще есть запасной вариант - вынести этот функционал на другой проц. Железо так уже собрано.
ok-home
Так стирание - длительный процесс, должно также быть, разве нет?
ну в ота ты сначала стер а потом начал сетку дергать, поэтому все тип топ, а в nvs ты одновременно дергаешь сетку и пишешь стираешь - но это опять таки ИМХО
Evgeniy
Я про случай OTA, где внутри обработчика POST запроса происходит запись
Evgeniy
while (remaining > 0) { int recv_len = httpd_req_recv(req, buf, __MIN(remaining, sizeof(buf))); ......... }
Evgeniy
и в том же цикле запись, стирание также в обработчике до этого цикла
ok-home
и в том же цикле запись, стирание также в обработчике до этого цикла
ОТА только пишет по уже стертому разделу, ота_бегин его уже стер
Evgeniy
ага, тогда возникает вопрос - не лучше ли сначала обработать POST, выйти из хэндлера и потом уже NVS дергать?
LordPrizrak
Доброго времени суток. Кто может объяснить откуда может тянуться зависимость esp_jpeg? Проблема из разряда "так не бывает!". С помощью ии написал код получения одного кадра с камеры, запускаю билд, вываливается ошибка сборки bootloader-а. Конкретно ругань на esp_jpeg (она требует freertos). Поковырялся не получается убрать ошибку. Откатываюсь в git-е на предыдущий коммит, где этой проблемы не было, и все собиралось. Запускать сборку - та же ошибка. Всё вычистил перепроверил, сделал git reset --hard в директории проекта, и в директории esp_idf. Ошибка остаётся. Естественно все директор build были грохнуться по несколько раз уже... Оттуда сборщик может тянуть эту зависимость?
Ни кто ни чего не посоветует? Эта долбанная зависимость окопалась где-то глобально, т.к. она теперь добавляется в сборку каждого проекта. Перелопатил уже груду материала, но ни где не нашёл указания где и что...
Evgeniy
это нейросетевые сны!
LordPrizrak
В проектах примеров esp_idf тоже нейросетевые сны?
Кобальт
Все (Имхо ) наверно зависит от подхода к озадачиванию ии и автоматизации тестирования его кода над собственными ошибками. Собственно в моем случае он пишет то что надо, ну ленится конечно немного,
GGGunner
На 1,5 кВт и 2 кВт , тепловентилятор и обогреватель Ballu кажется
Есть удаленный объект, есть доступ к нему по ethernet. Планируется измерять температуру этого объекта, плюс организовать контроль микроклимата (включение/выключение обогревателей при достижении определенных температур) Пока имеется: raspberry pi 3, xy-md02 (датчик температуры и влажности), esp32 на подходе. Raspberry Pi 3 – выполняет сбор данных и связь с сервером (сервер Заббикс) Датчик XY-MD02 – измеряет температуру и влажность; подключается к Raspberry Pi через преобразователь USB→RS-485 Плата ESP32 - микроконтроллер для управления реле. Релейный модуль (2-канальный, 5–12 В) – позволяет с помощью ESP32 коммутировать питание конвекторов. Силовые контакторы 230 В, 16 А (2 шт.) – для надежной коммутации нагрузки конвекторов (~1,5–2 кВт каждый). Катушка контактора должна питаться от низкого напряжения (12 В или 5 В) и управляться реле. На объекте как писал до этого 1,5 кВт конвектор и тепловентилятор 2 кВт. Как вам такая задумка? Или же можно проще сделать?
Vlad
Есть удаленный объект, есть доступ к нему по ethernet. Планируется измерять температуру этого объекта, плюс организовать контроль микроклимата (включение/выключение обогревателей при достижении определенных температур) Пока имеется: raspberry pi 3, xy-md02 (датчик температуры и влажности), esp32 на подходе. Raspberry Pi 3 – выполняет сбор данных и связь с сервером (сервер Заббикс) Датчик XY-MD02 – измеряет температуру и влажность; подключается к Raspberry Pi через преобразователь USB→RS-485 Плата ESP32 - микроконтроллер для управления реле. Релейный модуль (2-канальный, 5–12 В) – позволяет с помощью ESP32 коммутировать питание конвекторов. Силовые контакторы 230 В, 16 А (2 шт.) – для надежной коммутации нагрузки конвекторов (~1,5–2 кВт каждый). Катушка контактора должна питаться от низкого напряжения (12 В или 5 В) и управляться реле. На объекте как писал до этого 1,5 кВт конвектор и тепловентилятор 2 кВт. Как вам такая задумка? Или же можно проще сделать?
почему бы и не ... да. хотя не очень понимаю нафиг тут еще и Ягодка. по моему взять один контроллер Kincony KC868-A2 (esp32+ethernet+2 реле+gsm), добавить контакторы и ...
Max
Есть удаленный объект, есть доступ к нему по ethernet. Планируется измерять температуру этого объекта, плюс организовать контроль микроклимата (включение/выключение обогревателей при достижении определенных температур) Пока имеется: raspberry pi 3, xy-md02 (датчик температуры и влажности), esp32 на подходе. Raspberry Pi 3 – выполняет сбор данных и связь с сервером (сервер Заббикс) Датчик XY-MD02 – измеряет температуру и влажность; подключается к Raspberry Pi через преобразователь USB→RS-485 Плата ESP32 - микроконтроллер для управления реле. Релейный модуль (2-канальный, 5–12 В) – позволяет с помощью ESP32 коммутировать питание конвекторов. Силовые контакторы 230 В, 16 А (2 шт.) – для надежной коммутации нагрузки конвекторов (~1,5–2 кВт каждый). Катушка контактора должна питаться от низкого напряжения (12 В или 5 В) и управляться реле. На объекте как писал до этого 1,5 кВт конвектор и тепловентилятор 2 кВт. Как вам такая задумка? Или же можно проще сделать?
Можно и так. Можно просто esp32 + mqtt + victoriametrics + grafana без raspberry. Или с ней, как промежуточный накопитель данных.
GGGunner
Забыл сказать, малинка еще нужна для мониторинга ИБП с помощью NUT и заббикс агента с последующей передачей на заббикс сервер
GGGunner
Есть удаленный объект, есть доступ к нему по ethernet. Планируется измерять температуру этого объекта, плюс организовать контроль микроклимата (включение/выключение обогревателей при достижении определенных температур) Пока имеется: raspberry pi 3, xy-md02 (датчик температуры и влажности), esp32 на подходе. Raspberry Pi 3 – выполняет сбор данных и связь с сервером (сервер Заббикс) Датчик XY-MD02 – измеряет температуру и влажность; подключается к Raspberry Pi через преобразователь USB→RS-485 Плата ESP32 - микроконтроллер для управления реле. Релейный модуль (2-канальный, 5–12 В) – позволяет с помощью ESP32 коммутировать питание конвекторов. Силовые контакторы 230 В, 16 А (2 шт.) – для надежной коммутации нагрузки конвекторов (~1,5–2 кВт каждый). Катушка контактора должна питаться от низкого напряжения (12 В или 5 В) и управляться реле. На объекте как писал до этого 1,5 кВт конвектор и тепловентилятор 2 кВт. Как вам такая задумка? Или же можно проще сделать?
Просто хотел узнать, насколько стабильная и надежная данная задумка
Tonchik
ну если все в одном месте — то есп не нужно, пинов на распберри хватит
Tonchik
есп — если все разнесено по объекту и стабильный WiFi