Budżet: 5000 UAH Termin: 7 dni
Если есть возможность прикрутить туда память (SPI/I2C), то вполне реализуемо - иначе реализуемо, но без HTTP, только UDP, который он будет дергать сам и смотреть есть ли прошивка
Здравствуйте, коллеги
Дано ардуиноподобные платы (амперка). Которая выступает в роли клиента и стучится за разными данными на сервер.
Необходим механизм удаленной перепрошивки Искры.
Желательно без дополнительных модулей. Теоретически знаю, что есть решения по обновлению через вайфай модуль. Но это план Б скорее.
Это когда мы через DHCP получаем IP адрес на ардуину, а потом уже подключаем ее к сети Wifi. После этого уже указываем на какую-то версию обновлений и прошиваем.
Логика работы, как я её вижу.
Выложил на сервер (не ардуина) в определенное место новый архив или файл. Отметил какой-то флажок в веб интерфейсе на сервере. Ардуина увидела необходимость обновиться и обновилась.
Amp_v.20_05_08_2020 - , что-то нажал и обновило.
И параллельно есть пара квестов по программированию на ардуине. Кому интересно, жду в проект. От Вас предложение по реализации, условия по времени и стоимость.
Спасибо и хорошего дня.
Budżet: 5000 UAH Termin: 7 dni
Если есть возможность прикрутить туда память (SPI/I2C), то вполне реализуемо - иначе реализуемо, но без HTTP, только UDP, который он будет дергать сам и смотреть есть ли прошивка
Здравствуйте.Правильно ли я понимаю что вы хотите реализовать перепрошивку даже без дополнительного МК соторый будет прошивать эту Ардуино?
Хотелось бы. Но скорее всего это не реально. Поэтому базовых сценария два.
1. Вынесения настроечных параметров на сервер и при соединении с сервером запрашиваем их и «запись» этих параметров в ардуину или в карту памяти(которую можем добавить).
Скорее всего этот сценарий реален с точки зрения «динамической настройки параметров каких-то с сервера» - задержек, имени и параметров.
2. Либо прошивка через дополнительную плату. Вроде WiFi. Тогда теоретически целиком.
3. А вот через сам езернет модуль. Скорее всего не выйдет, либо нужен волшебник.
Такая возможность есть но не на всех модулях Ethernet и имеет свои нюансы.
Если вам интересно то можем пообщаться в л.с.
Вариант с ардуиной самой по себе:
Добавляем место для хранения новой прошивки: spi flash, sd card, spi psram (я бы выбрал это, что бы не изнашивать flash, можно ещё и ионистор добавить). В коде самой прошивки идёт проверка на сервере новой прошивки и флага обновления. Если такое появляется - оно скачивается во внешнее место для хранения. Проверяется CRC или хеш. Если ок, перезагружаемся.
Дальше работает переделанный бутлоадер. Он проверяет есть ли во внешнем месте хранения новая прошивка. Для надёжности можно ещё раз посчитать CRC или хеш, сравнить с установленной - и если разные прошить новую.
Минут тут такой: если сломать в самой прошивке (скетче) функцию поиска и скачивания обновления - то работать перестанет.
Можно добавить ещё один МК(ардуину или что-то другое, например какой-нибудь STM32), который будет подключен к ethernet шилду, а для ардуины выглядеть как прозрачная прослойка. У него прошивку не меняем, и там закладываем функцию поиска обновления.
По сути, тот же вариант, что с esp8266.
Можно взять что-то покрупнее. Onion Omega2/аналогичный модуль у китайцев дешевле/б/у роутер с openwrt. Он становиться и ethernet-шилдом и удалённым программатором.
И средой для запуска кода на js/python/bash/lua/c. Ардуина управляет релешками, что-то критическое по времени делает, содержит защитные алгоритмы.
К последнему варианту. Существует или существовал arduino yun ethernet shield. По факту это есть SoC от роутера с openwrt и дополнительным софтом. У него как раз есть функция прошивки скетча по сети.
Если я не ошибаюсь в библиотеке ArduinoOTA есть скетч OTASckethDownload, который каждые 5 сек. проверяет наличие файла на HTTP и автоматически сам себя обновляет.
Dzień dobry. Szukam dla siebie mentora w zakresie Linuxa. Mam doświadczenie jako mocny junior devops specjalista, ale Linux i Kubernetes to moje słabe punkty. Jeśli chodzi o Kubernetes, mam jeszcze niewielkie doświadczenie w projektach, natomiast z Linuxem mam bardzo powierzchowną interakcję. Coś stworzyć, dodać, zmienić nazwę, otworzyć itp. - to zdecydowanie za mało. Potrzebuję mentora, który pomoże mi w tej kwestii. Głównym celem jest, aby wiedza osiadła w głowie, może jakiś projekt poboczny, zadania, taski w tym stylu, a nie tylko "powtarzaj za mną". Uczyłem się samodzielnie, ale to szczególnie "nie osiada" w głowie. Oto przybliżona lista, co, moim zdaniem, jest mi potrzebne: - Systemy Linux/Unix — zaawansowane administrowanie systemami operacyjnymi, systemy plików, zarządzanie użytkownikami i uprawnieniami dostępu, procesami i usługami (systemd), skrypty Bash, logowanie, monitorowanie, konfiguracja bezpieczeństwa, automatyzacja zadań administracyjnych; - Technologie sieciowe — model OSI i stos TCP/IP, DNS, HTTP/HTTPS, SSL/TLS, SSH, VPN, równoważenie obciążenia, serwery proxy, NAT, routowanie, narzędzia sieciowe (ping, traceroute, netstat, ss, tcpdump, curl), diagnozowanie i rozwiązywanie problemów sieciowych; Jeśli do tej listy można jeszcze dodać Kubernetes, to będzie to mile widziane. Może coś od siebie zaproponujesz. Format zajęć, jak to widzę - 2 razy w tygodniu, spotkania, dyskusje, konsultacje. Bardziej szczegółowo, tutaj już wasze pomysły i propozycje. Co do ceny za godzinę lub za miesiąc - proponujcie
Opracowanie aplikacji Power App, wsparcie mnie jako nowicjusza. Canvas App, pomoc w opracowaniu ekranu Pomoc w opracowaniu struktury danych dla aplikacji Programowanie funkcji Pomoc w tworzeniu tabel Date-verse