Програмирование Мега328 через Гайвер бас?

Alhim

✩✩✩✩✩✩✩
14 Дек 2022
6
1
Имеются (разрабатываются) несколько девайсов для умной бани на Атмега328 или подобном контроллере с мастером и веб мордой на меге и шилдом 5100 в сети. Все они будут связанны в сеть (мод бас) или выбор пал на гайвер бас. Контроллеры будут видеть сеть в дуплексном режиме через адаптеры на МАХ490. То есть сеть через двунаправленный ком порт. Контролеры успешно разговаривают друг с другом. Но вот встал вопрос об удаленной прошивке контролеров по шине. Я это вижу таким способом, что поставить еше один контроллер в схему и его заставить стать программатором основного чипа. То есть типа по гайве бас передаем сперва команду готовится к прошивке например устройству с адресом 1. Потом передаем многоадресное сообщение всем устройствам на шине, чтоб они освободили шину например на 1 минуту. В это время доп контроллер на устройстве с адресом 1, подает ресет на основной чип, и превращается в программатор, который будет принимать данные по шине и прошивать основной чип. Как то так. Может кто уже делал что то подобное? Подскажите где копать или может это не возможно?

Вот нашел ифы для размышления https://habr.com/ru/post/152052/
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,723
481
поставить еше один контроллер в схему и его заставить стать программатором
Зачем? Как по мне, то проще скорректировать или написать свой загрузчик. Ардуина будет сама писать принятый код себе в программный флеш. И не надо ещё одного контроллера.
 

Alhim

✩✩✩✩✩✩✩
14 Дек 2022
6
1
@PiratFox, А кто нибудь делал что то подобное, не мне же одному так хочется это сделать.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,723
481
А кто нибудь делал что то подобное
Для Атмега328 не знаю. Но это вполне реализуемо, и каких-то сложностей я здесь не вижу. А вообще, лучше последовать совету @rkit, на той платформе есть Over-the-air (OTA) Programming.
 

Alhim

✩✩✩✩✩✩✩
14 Дек 2022
6
1
@PiratFox, чето покурил вот это https://alexgyver.ru/lessons/programmer-tips/ и подумал, что у меня все готово к прошивке получается. Так как у меня уже есть дистанционный переданный двунаправленный ком порт через мах490. Получается мне надо как сказать конкретному девайсу(контролеру) что я буду его прошивать, заставить всех других освободить шину от гайвер бас, а прошиваемый девайс ресетнуть, тем самым останется чисто подключен ком порт прошиваемого девайса к компу через трансивер в USB , и типо можно шить с ардуино IDE что ли? Главно по времени успеть после ресета в шину ком порта постучаться с прогера походу?
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,723
481
@Alhim, в общем да. Только из ардуино иде трудно будет поймать момент ресета. Я же говорил, загрузчик немного модифицировать надо.
 

Alhim

✩✩✩✩✩✩✩
14 Дек 2022
6
1
@PiratFox, Не хочу к вайфаю привязываться. Нужен железный канал общения девайсов . Так то например один девайс кран, второй например датчик протечки, третий например таймер и терморегулятор подогрева бассейна и так до бесконечности. Хочется чтоб устройства были автономны, но в тоже время управлялись и сообщали центральному о своих задачах.
 
  • Лойс +1
Реакции: PiratFox