Здравствуйте. Подскажите, в текстовом редакторе, мы прописываем мак и мд5, а если несколько плат, можно их прописывать в редакторе в несколько строк, при этом в каждой прописать мак и мд5 именно для каждой платы? или же все таки при каждом обновлении нужно прописывать по одной?
@alexmorozov733 жыл бұрын
Ну если взглянуть на код скрипта на стороне гугла, то можно увидеть, что он может разбирать многострочный файл конфига, значит будет искать переданные на вход параметры во всех строках файла, кроме пустых и начинающихся с ;
@Wskpepes3 жыл бұрын
@@alexmorozov73 Понял, спасибо огромное. Сегодня попробую это сделать.
@IgorKostenkoFILOSOF3 жыл бұрын
Бомба! спасибо!
@Mr.Leeroy3 жыл бұрын
нужны ли эти сложности с гугл скриптами? почему бы не читать текстовый файл с актуальной ссылкой на прошивку на том же гитхабе? если уж так надо разные платформы и версии, то называть текстовик мак адресом устройства.
@d1zz3l3 жыл бұрын
Спасибо за труды. Очень понятно все объяснили. Подскажите а есть ли способ отправки файла из внутренней память есп на тотже gdrive.
@alexmorozov733 жыл бұрын
Читайте описание GDrive API, может найдете нужные вызовы.
@d1zz3l3 жыл бұрын
@@alexmorozov73 постараюсь, но я в этом деле глупенький и соображаю плохо. Во всяком случае ваш код хорош еще и тем что его можно приспособить под обновление нескольких устройств с разными прошивками, но используя при этом один конфигурационный файл и одну папку для всех сразу. Очень удобно, еще раз спасибо.
@Mr.Leeroy3 жыл бұрын
ох уж этот IoT и его пути неисповедимы
@maddocrusmad4644 жыл бұрын
Интересно, а с git хаба можно обновлятся, или все дело в волшебных скриптах google disk ?
@Tolmobile3 жыл бұрын
Доброе время суток! Алексей а что нужно изменить, чтобы обновление работало с ESP32?
@alexmorozov733 жыл бұрын
Видимо имена библиотек и возможно параметры вызовов.
@alexmelk52254 жыл бұрын
Круто)
@elmasteronline67644 жыл бұрын
Alex, вы не преподаете онлайн курсы?
@АндрійХамуляк-з1т4 жыл бұрын
За штуку лайк розсмішив
@AlexBradley1234 жыл бұрын
Расскажите пожалуйста про FreeRTOS под микроконтроллеры типа avr или esp8266. Оправданно ли?
@alexmorozov734 жыл бұрын
Если вы не можете сами создать однопоточную программу для взаимодействия с несколькими устройствами, то едва ли программная многозадачность вам поможет. И все-таки она ой как не бесплатная в плане ресурсов, хотя бы того же индивидуального стека на каждую задачу.
@aidari4 жыл бұрын
Круто! Оставил ссылку на видео здесь forum.flprog.ru/viewtopic.php?f=71&t=6697#p93506
@АлександрСергеевич-н7н3 жыл бұрын
Спасибо за видео! У меня вопрос: я так понимаю, что если что-то пойдет не так во время прошивки, то шить необходимо будет опять через usb. А вот реально ли сделать так, чтобы если прошивка не удалась, то после перезагрузки esp была возможность пытаться прошить еще раз?
@alexmorozov733 жыл бұрын
Новая прошивка копируется "рядом" со старой, после перезагрузки бутлоадер ее копирует на место старой и запускает. Если сбой произойдет во время перезагрузки и копирования - тогда ни старой ни новой рабочей прошивки не останется и придется перешивать по UART. Во всех других случаях или старая живая останется или новая загрузится.
@АлександрСергеевич-н7н3 жыл бұрын
@@alexmorozov73 спасибо за ответ. В принципе, я так и думал. А вот возможно написать бутлоадер WiFi или есть какие-то ограничения?
@alexmorozov733 жыл бұрын
Пишите
@TEENASPECT4 жыл бұрын
Вопросы: есть ограничение гугла на обращения такие к скрипту? И не понял, как и на что влияет имя платформы в конфиге, это в запросе прошивки передается? А вообще классная фича для тех, у кого нет своего вёба. Спасибо.
@alextis89924 жыл бұрын
Спасибо Алекс! Пробую скомпилировать файл(main) а Arduino IDE,но выдает ошибку . Файлыиз гитхаба CloudUpdate.h и CloudUpdate.ccp в папку CloudUpdate и поместил их в libraries arduino ide,но выдает ошибку libraries\CloudUpdate\CloudUpdate.cpp:22:31: error: 'HTTPC_STRICT_FOLLOW_REDIRECTS' was not declared in this scope Error compiling for board LOLIN(WEMOS) D1 R2 & mini. В чем может быть проблемма,или нужно только использовать Platformio?
@alexmorozov734 жыл бұрын
Не пора ли хоть раз в год обновить поддержку ESP8266 в AIDE?
С последней поддержкой ESP8266 для AIDE 2.7.4 без проблем собирается проект что в варианте свалки всех файлов в одном каталоге, что в выделенных в Libraries CloudUpdate.* Смотреть надо не на дату файлов, а в Board Manager на версию пакета. PS: Боже, как на этом ужасе AIDE можно что-то собирать или тем более писать?!!! Время компилляции 10 к 1 по ощущениям!
@6301743 жыл бұрын
Спасибо
@aidari4 жыл бұрын
С для ESP32 не писали?
@alexmorozov734 жыл бұрын
Переделать просто, но мне пока без надобности.
@pavelnefedev67944 жыл бұрын
Спасибо за урок, у меня обновление не сработало. Выяснил, что ответ сервера пустой. Вытащил строку-запрос, вбил в браузер - так же ответ пустой. Куда копать?
@alexmorozov734 жыл бұрын
Скачайте на комп файл CloudUpdate.cfg и проверьте символы переноса строк. Если #13#10, то проверяйте правильность загруженного имени файла прошивки. Если же #10, то или пересохраните его в Windows-нотации и выгрузите обратно, или в скрипте поменяйте ' ' на ' ' как в видео, только наоборот. С отладкой скриптов в бесплатном Гугле уже давно напряженка...
@pavelnefedev67944 жыл бұрын
@@alexmorozov73 Спасибо, помогло. Попытался усовершенствовать этот момент, введя проверку на нахождение символов конца строки, но не понимаю почему не работает такой кусок: let sep = ' '; if ( String(config).contains(' ') ) sep = ' '; let lines = String(config).split(sep);
@stm21424 жыл бұрын
мой вариант более простой, без всяких скриптов и MD5, всё, что нужно это прямая ссылка на файл прошивки :) а куда заливать без разницы. gist.github.com/Tarik2142/52e2a955787c31e542e5fc7a46223086 но у простоты тоже есть своя цена :(
@alexmorozov734 жыл бұрын
Для прямой ссылки на файл прошивки есть уже стандартная библиотека ESP8266httpUpdate
@romansokolov4 жыл бұрын
@@alexmorozov73 Alex, подскажите. Пробую ESP8266httpUpdate и он не понимает ссылок на gdrive вида drive.google.com/uc?export=download&id=..., (прилетает HTTP_UPDATE_FAILD Error (-104): Wrong HTTP Code - так как скорее всего не умеет он с редиректом гугла справляться) но в нем можно отслеживать прогресс загрузки прошивки. А есть ли возможность отслеживать прогресс при вашем способе обновления через tcp? Как я вижу там запускается Update.writeStream и пока не закончится, ничего от него не получить или может быть можно назначить какой-нибудь callback?. Или как сказать ESP8266httpUpdate чтобы не боялся редиректов?
@romansokolov4 жыл бұрын
есть callback Update.onProgress(function). а ESP8266httpUpdate дейстивтельно не умеет редиректы и потому с gdrive не заработает
@alexmorozov734 жыл бұрын
Или правьте код httpUpdate или по его аналогии передавайте коллбэк в Update.
@romansokolov4 жыл бұрын
@@alexmorozov73 да, спасибо. работает.
@АлександрЕфимкин-н8д4 жыл бұрын
Я первый в коментах. Четкий канал, продолжай в тоже духе
@appbox87544 жыл бұрын
Когда переболеешь коронавирусом поделись антителами)