Demondor
Говорят если успеваешь выдернуть, то всё ок. Но это не точно
А если не успеешь, то у тебя жена, несколько детей и ты думаешь зачем я вообще эту схему собирал.
Че-то зашел на канал "заметки ардуинщика", так там видосы более полугода не выходят. Всё? Как монетизацию выключили, то хомячков больше не нужно учить мигать светодиодами?
Роджер
От части он делает свою работу популизируя ардуино, ведь после него переходят на более сложное. У нас есть в отделении Сколково кванториум для детей отделение по робото техники, они многое по его уроком под присмотром учителя собирают
Роджер
ты из Сколково что ли???
Я работаю в фирме которая арендует помещение у отделения Сколково.
Anton
а то я уж испугался за специалистов, работающих в Сколково...
Nautilus
Да у гивера все библиотеки кривые. Их вообще лучше не использовать никогда.
После этого высказывания обычно приводят примеры: смотри как было - и как надо!
Nautilus
А так можно и на солнце сказать, что недостаточно рано встаёт...
Владимир
Мне кажется это спор из области: hal или spl для stm. Ну и так далее. Гивер вполне хорош в своей области роликов на Ютубе. Да и младшим классам вполне пойдут под задачку: собрать по инструкции.
Anton
Да у гивера все библиотеки кривые. Их вообще лучше не использовать никогда.
я бы не стал так утверждать. ведь всё дело в целеполагании, для его целей у него нормальные боле-мене библиотеки (что я мельком видел). другое дело, что не всегда надо формулировать задачу именно так как он делает
Евгений
После этого высказывания обычно приводят примеры: смотри как было - и как надо!
На самом деле этих примеров вагон и маленькая тележка. Кто постоянно в сообществе, тот этих примеров (как у гайвера vs как надо правильно) видел уже неоднократно.
Alexandr
После этого высказывания обычно приводят примеры: смотри как было - и как надо!
Бла Бла Бла. Он использует чужие библиотеки, что-то там "исправляет" и после называет своими. После чего всё работает через жопу или не компилируется вовсе. Не раз проверено. И ничего доказывать тут нет смысла.
Alexandr
Учить детей его примерам - зло изначально.
Ruslan
подошло время запилить поддержку SIM800L
ну либо служба затянула
Кстати тоже вариант
Но это не сам гайвер, а второй какой-то. У гайвера смотрю месяц назад был какой-то видос про кирпич. Надо будет посмотреть
Ruslan
а я свою платку кинул в производство, чисто проверить концепцию новую, жду
Ruslan
теперь есть время на разное
Ruslan
на монтажке всё работает, теперь надо в корпусе собрать
Vitaliy
Всем привет! Нужна помощь) Делаю умный свет для квартиры в FLPROG. Использую пользовательский блок для вкл/выкл нескольких групп света кол-вом нажатий на выключатель и его удержанием. Эта часть работает отлично. Вторая часть это MQTT, работает, но немного не так, короче, столкнулся с такой штукой: 1. Вкл кнопку -> свет вкл -> в топик пришла 1 2. На мктт брокере шлю 0 -> свет выкл 3. Вкл кнопку -> свет не включается, в топик приходит 0. И только при повторном нажатии на кнопку приходит 1 и свет включается. Помогите пожалуйста, уже 5й день кубики кручу-верчу 😆 Если что-то надо - пишите, скину (скрины, фото, флп и тд)
Anton
свет вряд ли получится умнее, чем его создатель
Vitaliy
В каждом чате найдётся хоть один такой человек 🤦‍♂️
Ruslan
ну, пока никто не опроверг данный факт
‎Konstantin
Я в нём не силён
Ну если готовы выложить проект на файлообменник, то можно будет вечером и глянуть чего там такого
Евгений
@Vetal2222 специально зашёл, чтобы удостовериться в корректности работы антиспама
Dmitry
Парни подскажите не пойму... esp перестала шиться ругается на отсутствие файла esptool write_flash: error: argument <address> <filename>: [Errno 2] No such file or directory: 'C:\\.platformio\\packages\\framework-arduinoespressif32\\tools\\sdk\\esp32\\bin\\bootloader__40m.bin' *** [upload] Error 2
Vitaliy
А давайте не будем...
Давайте не будем, но зачем язвить? Я считаю, если не можешь помочь, проходи мимо, зачем спамить чат? Откликнется тот, кто понимает в моём вопросе
Vitaliy
Версия FLProg 7.5.2
‎Konstantin
Версия FLProg 7.5.2
У меня старее: 7.3.8 это плохо и пойдет?
Vitaliy
У меня старее: 7.3.8 это плохо и пойдет?
Не пробовал, возможно будет работать, если что могу собрать в версии 738
Vitaliy
Espeasy не рассматривали?
Пользовался, но упёрся в потолок, чего-то там не хватало
Давайте не будем, но зачем язвить? Я считаю, если не можешь помочь, проходи мимо, зачем спамить чат? Откликнется тот, кто понимает в моём вопросе
Если Вы сами не "покопаетесь" и не попытаетесь разобраться дальше будет еще сложнее. Коллеги могут помочь с конкретной ошибкой. В правилах чата так я и написал. Не один человек здесь не будет делать все за Вас. Могут помочь крайне мало вот Константин вызвался я за Вас рад может что то и рагребет.
‎Konstantin
Синдром русского форума?
Евгений
У соседей проплывало https://habr.com/ru/post/683024/
Евгений
Синдром русского форума?
Да, на кубиках слишком сложно
‎Konstantin
Да, на кубиках слишком сложно
Ну я в самом FLProg не особо шарю, больше в его старших братьях вроде TIA Portal, да GXDeveloper, но с FBD частенько работать приходилось, посмотрим что там да как
ну либо служба затянула
Ха-ха. Прикинь я накаркал. И он сегодня нарисовал новое видео. Ну хорошо, что все живы
‎Konstantin
Хотя чего тянуть, вот: https://disk.yandex.ru/d/sRBCIKuQvnbkKg
Я пока особо не копал, но вот это сразу бросилось в глаза, в мире ПЛК множественное присваивание категорически запрещено логикой исполнения цикла! Нужно присваивать значение выхода SvetD27 один раз и в единственной плате, если его состояние зависит он нескольких переменных, то объединяйте их логическим блоком "ИЛИ" или "И" в зависимости от нужного результата. Завтра еще посмотрю, а сейчас спать
‎Konstantin
Спасибо
Завтра, надеюсь совместными усилиями решим проблему
Alexander
Помогити! Делаю кормушку для кошки, есть wemos d1 mini с esp8266, в ней есть разные виды памяти eeprom/flash/rtc(?). Rtc память это прям отдельная память или она находится в eeprom/еще где-то? У меня не получается запустить light sleep, чтобы использовать встроенный rtc, но в deep sleep освоил успешно, только вот rtc в нем отключается, и я не знаю когда открыть кошке корм. Хочу с помощью записи в память rtc отсчитывать время, когда wifi недоступен, когда появляется - синхронить время. Подсмотрел в библиотеке DoubleResetDetector реализацию, и накидал себе код: void deepSleep(long timeMs) { Serial.println("DeepSleep"); uint32_t now = fullWorkingTime + millis() + timeMs + 20; // for write and to go transfer to deep sleep? ESP.rtcUserMemoryWrite(10, &now, sizeof(now)); ESP.deepSleep(timeMs * 1000); } void wakeUp() { ESP.rtcUserMemoryRead(10, &fullWorkingTime, sizeof(fullWorkingTime)); Serial.println("from rtc[10]: " + String(fullWorkingTime)); } void setup() { wakeUp(); // wifi, etc } void loop() { // проверка наличия сети - при наличии актуализация времени // извлечение времени последнего кормления из rtc // вычисление сколько времени прошло - открытие/закрытие кормушки, запись нового времени // уход в сон c записью времени с учетом продолжительности сна (несмотря на большую погрешность) } Я бы хотел просыпаться довольно часто - каждую минуту, это будет значить, что за сутки я совершу порядка 1440 записей в память rtc. Я прочитал что eeprom расчитан на 100к перезаписей, таким образом, если rtc находится в eeprom, то я исчерпаю ее ресурс за примерно 70 суток. Поясните пожалуйста как мне избежать заказа новой платы с алиэкспресса каждые 2 месяца?
Алексей Кузнецов 🦔
Помогити! Делаю кормушку для кошки, есть wemos d1 mini с esp8266, в ней есть разные виды памяти eeprom/flash/rtc(?). Rtc память это прям отдельная память или она находится в eeprom/еще где-то? У меня не получается запустить light sleep, чтобы использовать встроенный rtc, но в deep sleep освоил успешно, только вот rtc в нем отключается, и я не знаю когда открыть кошке корм. Хочу с помощью записи в память rtc отсчитывать время, когда wifi недоступен, когда появляется - синхронить время. Подсмотрел в библиотеке DoubleResetDetector реализацию, и накидал себе код: void deepSleep(long timeMs) { Serial.println("DeepSleep"); uint32_t now = fullWorkingTime + millis() + timeMs + 20; // for write and to go transfer to deep sleep? ESP.rtcUserMemoryWrite(10, &now, sizeof(now)); ESP.deepSleep(timeMs * 1000); } void wakeUp() { ESP.rtcUserMemoryRead(10, &fullWorkingTime, sizeof(fullWorkingTime)); Serial.println("from rtc[10]: " + String(fullWorkingTime)); } void setup() { wakeUp(); // wifi, etc } void loop() { // проверка наличия сети - при наличии актуализация времени // извлечение времени последнего кормления из rtc // вычисление сколько времени прошло - открытие/закрытие кормушки, запись нового времени // уход в сон c записью времени с учетом продолжительности сна (несмотря на большую погрешность) } Я бы хотел просыпаться довольно часто - каждую минуту, это будет значить, что за сутки я совершу порядка 1440 записей в память rtc. Я прочитал что eeprom расчитан на 100к перезаписей, таким образом, если rtc находится в eeprom, то я исчерпаю ее ресурс за примерно 70 суток. Поясните пожалуйста как мне избежать заказа новой платы с алиэкспресса каждые 2 месяца?
Внешний rtc.
Alexander
Внешний rtc.
Таки частая перезапись в rtc память быстро завалит плату? Или это может быть хоть в какой-то степени безопасно?
Евгений
Помогити! Делаю кормушку для кошки, есть wemos d1 mini с esp8266, в ней есть разные виды памяти eeprom/flash/rtc(?). Rtc память это прям отдельная память или она находится в eeprom/еще где-то? У меня не получается запустить light sleep, чтобы использовать встроенный rtc, но в deep sleep освоил успешно, только вот rtc в нем отключается, и я не знаю когда открыть кошке корм. Хочу с помощью записи в память rtc отсчитывать время, когда wifi недоступен, когда появляется - синхронить время. Подсмотрел в библиотеке DoubleResetDetector реализацию, и накидал себе код: void deepSleep(long timeMs) { Serial.println("DeepSleep"); uint32_t now = fullWorkingTime + millis() + timeMs + 20; // for write and to go transfer to deep sleep? ESP.rtcUserMemoryWrite(10, &now, sizeof(now)); ESP.deepSleep(timeMs * 1000); } void wakeUp() { ESP.rtcUserMemoryRead(10, &fullWorkingTime, sizeof(fullWorkingTime)); Serial.println("from rtc[10]: " + String(fullWorkingTime)); } void setup() { wakeUp(); // wifi, etc } void loop() { // проверка наличия сети - при наличии актуализация времени // извлечение времени последнего кормления из rtc // вычисление сколько времени прошло - открытие/закрытие кормушки, запись нового времени // уход в сон c записью времени с учетом продолжительности сна (несмотря на большую погрешность) } Я бы хотел просыпаться довольно часто - каждую минуту, это будет значить, что за сутки я совершу порядка 1440 записей в память rtc. Я прочитал что eeprom расчитан на 100к перезаписей, таким образом, если rtc находится в eeprom, то я исчерпаю ее ресурс за примерно 70 суток. Поясните пожалуйста как мне избежать заказа новой платы с алиэкспресса каждые 2 месяца?
Не понимаю, с какой целью просыпаться каждую минуту. Вы считаете, что за минуту кошка умрет от голода?
Евгений
Удаленное управление, мониторинг заряда батареи
И зачем это делать ежеминутно? Проверяйте заряд и кормежку раз в час, тогда вам хватит его на 15 лет.
Евгений
Ну или уж раз хотите раз в минуту, то пишите не в одно и то же место. Память большая, если вы растащите свое время на хотя бы на пару килобайт, то уже увеличите ресурс в 1000 раз (265 лет)
Alexander
И зачем это делать ежеминутно? Проверяйте заряд и кормежку раз в час, тогда вам хватит его на 15 лет.
Чтобы открывать ее хотя-бы через минуту, а не через час после отправки команды) Даже возможно не к этому проекту это будет применимо, но в этом я уже хочу попробовать
‎Konstantin
Помогити! Делаю кормушку для кошки, есть wemos d1 mini с esp8266, в ней есть разные виды памяти eeprom/flash/rtc(?). Rtc память это прям отдельная память или она находится в eeprom/еще где-то? У меня не получается запустить light sleep, чтобы использовать встроенный rtc, но в deep sleep освоил успешно, только вот rtc в нем отключается, и я не знаю когда открыть кошке корм. Хочу с помощью записи в память rtc отсчитывать время, когда wifi недоступен, когда появляется - синхронить время. Подсмотрел в библиотеке DoubleResetDetector реализацию, и накидал себе код: void deepSleep(long timeMs) { Serial.println("DeepSleep"); uint32_t now = fullWorkingTime + millis() + timeMs + 20; // for write and to go transfer to deep sleep? ESP.rtcUserMemoryWrite(10, &now, sizeof(now)); ESP.deepSleep(timeMs * 1000); } void wakeUp() { ESP.rtcUserMemoryRead(10, &fullWorkingTime, sizeof(fullWorkingTime)); Serial.println("from rtc[10]: " + String(fullWorkingTime)); } void setup() { wakeUp(); // wifi, etc } void loop() { // проверка наличия сети - при наличии актуализация времени // извлечение времени последнего кормления из rtc // вычисление сколько времени прошло - открытие/закрытие кормушки, запись нового времени // уход в сон c записью времени с учетом продолжительности сна (несмотря на большую погрешность) } Я бы хотел просыпаться довольно часто - каждую минуту, это будет значить, что за сутки я совершу порядка 1440 записей в память rtc. Я прочитал что eeprom расчитан на 100к перезаписей, таким образом, если rtc находится в eeprom, то я исчерпаю ее ресурс за примерно 70 суток. Поясните пожалуйста как мне избежать заказа новой платы с алиэкспресса каждые 2 месяца?
Там в eeprom такое малое количество ячеек памяти? Пишите в нее постоянно со сдвигом, проживет на столько дольше, во сколько размер eeprom больше размера записи о времени, для этого уже давно написаны библиотели и файловые системы...
Евгений
Зачем вообще ежеминутно? Можно же ежесекундно! А хранить в оперативе и писать раз в 5, 10 минут или с любым другим интервалом
Евгений
Главное не захотеть логи всего этого писать :)))
Евгений
Зачем вообще ежеминутно? Можно же ежесекундно! А хранить в оперативе и писать раз в 5, 10 минут или с любым другим интервалом
Ну он у него засыпает.... Я вообще не понял подхода: что он туда каждую минуту хочет писать то? Время кормления явно не раз в ми нуту. Параметры батареи? А зачем их вообще писать? Проснулся, отправил данные в облако, уснул. Если облако недоступно - кому интересны параметры батареи в еепроме, к которому нет доступа?
Евгений
Я не планирую собирать статистику в rtc, у меня был вопрос касательно кол-ва перезаписи rtc памяти, а вы тут обсуждаете зачем мне это вообще нужно)
Отвечает Александр Друзь! Стандартный бюджетный еепром - 100 000 циклов НА КАЖДУЮ отдельно взятую страницу (page) памяти (их в одном чипе может быть много - от размера памяти зависит и от размера страницы (бывают от 16 до 512 байт). Если вы пишите что то в эту страницу, то переписывается ВСЯ страница. Поэтому сдвиг должен быть постраничный. На эту тему есть уже куча готовых разработок, которые легко гуглятся. Уверен, что ничего сложного там нет. Но надо уточнить какая именно у вас память (читать аташит). Я лично такой сдвиг никогда не делал, потому что в моих проектах в еепром писались только уставки, которые меняются в лучшем случае раз в день и соответственно ресурса всегда хватало. Но не вижу проблем.
Евгений
Спасибо, там 128 слотов, 1 занят дабл кликом, остается 127, но мне тогда надо где-то хранить указатель на текущий индекс?
По поводу индекса - самый простой способ. В первом (или последнем, или к примеру 13-м) байте каждой страницы пишите текущий индекс в порядке возрастания. При нужде читаете все эти байты (чтение не убивает память) и выбираете наибольший - он и будет последний. Это вот что слету в голову пришло.
Nurmuhammad
Всем привет
Nurmuhammad