Евгений
Твои трусы мало кому нужны =)
Ruslan
короче, для нормальных проектов яндекс вполне себе... и дешевле )
Ruslan
удивляет выборочность майоров, отечественному нельзя, а импортному сам раздвинет
Ruslan
ты просто не в курсе KPI зарубежного майора, он многих наших удивлял
Ruslan
если понадобится, позовёт тебя на собеседование и посОдит лет на 150 )
Ruslan
мне интересно, что надо делать в РФ, чтобы именно тебе палку выдали
Ruslan
занимайся полезной работой и нахрен ты никому не нужен
Ruslan
а если сделаешь что-то ценное, отожмут в любой точке шарика
Ruslan
ну не посадили?
Евгений
занимайся полезной работой и нахрен ты никому не нужен
спорно... если кто то начинает завидовать
Ruslan
точно не с гулага пишешь?
Ruslan
ладно, минутка ужасов закончена )
Ruslan
а система сборки ESP-IDF очень забавная, я только вникать начал и уже понимаю почему OTA никто не делает (ну кроме самого тупого), там непросто
Ruslan
сцуко, использование зашифрованного образа прошивки будет только в 5.0
Ruslan
https://github.com/espressif/esp-idf/issues/8776#issuecomment-1101345156
Konstantin
Да, займитесь импортозамещением
Извините, последний по-настоящему импортозамещённый Эльбрус уже снят с производства
Ruslan
в чём смысл этой диагностики: https://github.com/espressif/esp-idf/blob/release/v4.4/examples/system/ota/native_ota_example/main/native_ota_example.c#L255-L272
Ruslan
Anonymous
продолжай...
Эта мысль является законченной...
Ruslan
обожаю отечественные чаты )
ok-home
в чём смысл этой диагностики: https://github.com/espressif/esp-idf/blob/release/v4.4/examples/system/ota/native_ota_example/main/native_ota_example.c#L255-L272
ну заведите другую - в качестве примера на роллбэк ота, сделали нажатие кнопочки
Anonymous
обожаю отечественные чаты )
Только тут можно назвать тупым того кто смог разобраться в том в чем не смогли вы?
Ruslan
ну заведите другую - в качестве примера на роллбэк ота, сделали нажатие кнопочки
думаю как применить к своему случаю с полной автономкой
Ruslan
Только тут можно назвать тупым того кто смог разобраться в том в чем не смогли вы?
1. тупой вариант ОТА - где тут о человеке? 2. откуда уверенность, что не смог?
ok-home
по какому принципу вы определите что прошивка удачная/неудачная - это только к вам вопрос, нужно или не нужно откатываать
Ruslan
да я понимаю, я больше мыслю вслух, чтобы в истории осталось и можно было перечитать, иногда полезно бывает
Anonymous
1. тупой вариант ОТА - где тут о человеке? 2. откуда уверенность, что не смог?
Начните пользоваться запятыми и перестаньте ставить скобки и люди потянутся к вам...
Ruslan
Начните пользоваться запятыми и перестаньте ставить скобки и люди потянутся к вам...
люди? это такие гуманоиды между креслом и компом? в большинстве случаев лучше их не трогать )
Ruslan
кстати, кто-нибудь заморачивается телеметрией с девайсов? я сейчас не про датчики температуры и остального, а про саму жизнедеятельность устройств, например, я работаю, параметры такие то, живой, данные передаю кошерно
SetPf
Хз как это архитектурно сделать. Я пробовал не сериализированные данные гнать и сериализировать у пользователя, но это жопа полная тоже получается. (не хватило мощности плюсов из-за рефлексии через очко) Зато у источника все супер красиво.
Ruslan
я через mqtt собираю, но думаю ешё логи туда завернуть
Ruslan
а в качестве приёма эластик с графаной
Ruslan
Начните пользоваться запятыми и перестаньте ставить скобки и люди потянутся к вам...
я правильно понимаю, что вы реализовали в своих устройствах следующее: 1. защищённая загрузка 2. зашифрованная флешка 3. OTA через HTTPS 4. прошивка передаётся зашифрованной и распаковывается на чипе во время прошивки по флеш 5. устройство запускает OTA по внешней команде?
Ruslan
в mqtt есть PINGREQ, некоторые облака его как раз требуют
это да, ещё интересно отладочную "телеметрию" собирать, особенно в первое время, щас я на стенде гоняю устройства, а когда полностью на ОТА перейду, до железок уже будет не добраться я конечно надеюсь на качество тестов перед выпуском прошивки, но опыт говорит, всё равно будут проблемы в самые неожиданные моменты )
ok-home
переключите терминалбнй выход в этот канал и живите как с usb терминалом ( если уж совсем полная телеметрия нужна с ошибками и перезагрузками )
Gomps
Нужна ли какая-нибудь специальная прошивка для реализации watcdog на esp8266? Быть конкретнее NodeMCU v3
KOCMOC
Всем привет! Подскажите я в кодинге не особо еще много понимаю... Управляю кондиционером удаленно с помощью wemos d1 mini через приложение Blynk. В скетче есть функция void ONstatus() { int value = digitalRead(ON_status); if (value == HIGH) { led1.on(); } else{ led1.off(); } } Читаем с пина ON_status состояние и пишем в виртуальный виджет-пин led1, который отображает состояние виджетом в приложении. Функция вызывается каждую секунду. Есть проблема.... Сигнал, который я читаю со штатного светодиода питания кондея - на пине не постоянный, а импульсный и виджет хаотично отображает, как попадёт на момент опроса... Вопрос: как корректно этот сигнал считывать? Логично понимаю, что нужно проверять статус за какое то время и если импульсы есть - то это HIGH? если нет, то LOW. Как это в коде выразить - не знаю... может кто помочь с "кусочком" кода?
Konstantin
Всем привет! Подскажите я в кодинге не особо еще много понимаю... Управляю кондиционером удаленно с помощью wemos d1 mini через приложение Blynk. В скетче есть функция void ONstatus() { int value = digitalRead(ON_status); if (value == HIGH) { led1.on(); } else{ led1.off(); } } Читаем с пина ON_status состояние и пишем в виртуальный виджет-пин led1, который отображает состояние виджетом в приложении. Функция вызывается каждую секунду. Есть проблема.... Сигнал, который я читаю со штатного светодиода питания кондея - на пине не постоянный, а импульсный и виджет хаотично отображает, как попадёт на момент опроса... Вопрос: как корректно этот сигнал считывать? Логично понимаю, что нужно проверять статус за какое то время и если импульсы есть - то это HIGH? если нет, то LOW. Как это в коде выразить - не знаю... может кто помочь с "кусочком" кода?
Я бы попробовал конденсатор впаять просто) Или RC-цепочку)
Konstantin
А если чисто программно, то можно, например, считать значение 10 раз с небольшим интервалом и по этим 10 замерам сделать вывод о состоянии
KOCMOC
Я бы попробовал конденсатор впаять просто) Или RC-цепочку)
Нет, там этого не сделать или с геморроем. Только кодом править, ибо штатный светодиод стоит в цепи "матрицы" светодиодов индикации температуры, там ещё и полярность меняется....
Andy
тактов так на 10 тысяч
Konstantin
bool getState(int leg){ int val=0; for(int i=0;i<50;i++){ val+=digitalRead(leg); if(val>THRESHOLD)return 1; delay(20); } return 0; }
Konstantin
Думаю, чего-то такого хватит
Konstantin
THRESHOLD подобрать опытным путём, начать с 25 и дальше менять
Andy
int i = 0; while(i < 10000) { i++; }
Andy
ну или как выше ага, главное пауза
Konstantin
int i = 0; while(i < 10000) { i++; }
Компилятор оптимизирует это почти наверняка и тут никак не учитывается, что светодиод подсвечивается через ШИМ
Andy
Компилятор оптимизирует это почти наверняка и тут никак не учитывается, что светодиод подсвечивается через ШИМ
тогда добавить переменную и с умным видом в неё перекладывать, типа что то умное делаем))
Konstantin
Ну это неправильно так делать
Konstantin
delay идеологически верный способ сделать задержку
Andy
согл)
Konstantin
К тому же если там ШИМ на частоте 50 Гц и потухший светодиод на самом деле не потухший, а просто его ШИМ зажигает на 1/50 секунды, то у твоего решения останется шанс примерно 1 к 50, что ESP посчитает потухший светодиод включенным (и наоборот) Мой вариант считывает значение светодиода в течение целой секунды, но гарантирует правильное распознавание
KOCMOC
Спасибо, буду осмысливать теперь это.
KOCMOC
😁
Andy
😁
THRESHOLD меняй и всё осмысливание))
Konstantin
Кстати, а как так вышло, что на этот светодиод питание ещё и переменное?
Konstantin
То есть там полярность меняется? Почему?
KOCMOC
Кстати, а как так вышло, что на этот светодиод питание ещё и переменное?
Ну как я понял по плате - там одна дорожка идёт на несколько светодиодов, одни к ней подключены анодом, другие катодом. И другие светодиоды так же. Соответственно за определенный отрезок времени можно подавая на определенные дорожки нужную полярность импульсно можно зажигать большое количество светодиодов ограниченным количеством проводов
KOCMOC
Как то так понимаю
Konstantin
Окей, ладно
Андрей Геннадьевич
Тогда не смена полярности, а обычный шим
KOCMOC
bool getState(int leg){ int val=0; for(int i=0;i<50;i++){ val+=digitalRead(leg); if(val>THRESHOLD)return 1; delay(20); } return 0; }
С кодом у меня плохо... Понял но не все... bool getState(int leg){ int val=0; // это не понятно for(int i=0;i<50;i++){ val+=digitalRead(leg); это так понял счётчик считающий импульсы тикающие на пине leg? if(val>THRESHOLD)return 1; //если посчитанное знач. больше значения THRESHOLD то вернуть 1 - а куда она возвращается? В какую переменную delay(20); // почему задержка вместо else? } return 0;
KOCMOC
Я внутрь не особо хотел лезть и ковырять плату, с панели индикации взял сигнал, т.к. туда же к ИК приёмнику тянул ИК светодиод
KOCMOC
Evgeniy
Не нужны никакие delay_ms, считаем кондей отключенным, если не было изменений состояния датчика светодиода более чем 5 секунд подряд.
Evgeniy
Запоминаем время через get_millis или любой другой аналог.
Evgeniy
По первой вспышке - считаем включенным