Прошивка FOTA (MYSBootloader) - Инструкция

О программировании Arduino, использование библиотек, примеры и общие вопросы программирования.
Ответить
Berk
Сообщения: 81
Зарегистрирован: 11 окт 2017, 22:05

Прошивка FOTA (MYSBootloader) - Инструкция

Сообщение Berk »

Прошивка FOTA (MYSBootloader)


1.Установка плат для загрузчика MYSBootloader
Скачать архив с платой с гита разработчика - https://github.com/mysensors/MySensorsB ... evelopment
Разархивировать на рабочий стол.
Запустить Arduino IDE
Зайти в примеры(должна быть выбрана любая из плат Ардуино)
Открываете пример EEPROM clear (или любой другой из встроенных в Arduino IDE библиотек, необходимо для того чтобы не искать место где находятся исполняемые файлы программы Arduino IDE)
В примере скетча зайти в Скетч → Показать папку скетча
В открывшемся окне проводника Windows в адресной строке найти папку avr
Перейти в папку avr
Найти в папке avr файл boards.txt
Открыть файл boards.txt для редактирования
Перейти в самый конец файла
С новой строки вставить то что находится в файле boards.txt из скаченного архива

Изображение
Изображение

Код: Выделить всё

## Add these lines to your boards.txt file in the Arduino installation directory
##
## Arduino Pro or Pro Mini (3V3 & 5V, 1 - 16 MHz) w/ ATmega328 MYSBootloader
## -------------------------------------------------

menu.frequency=Frequency

MYSBL.name=ATmega328 with MYSBootloader 1.3.0

MYSBL.upload.tool=avrdude
MYSBL.upload.protocol=arduino
MYSBL.upload.maximum_size=30720
MYSBL.upload.maximum_data_size=2048
MYSBL.bootloader.tool=avrdude
MYSBL.build.mcu=atmega328p
MYSBL.build.board=AVR_UNO
MYSBL.build.core=arduino
MYSBL.build.variant=standard

MYSBL.menu.frequency.MYSBL16=16MHz XTAL
MYSBL.menu.frequency.MYSBL16.build.f_cpu=16000000L
MYSBL.menu.frequency.MYSBL16.upload.speed=115200
MYSBL.menu.frequency.MYSBL16.bootloader.low_fuses=0xFF
MYSBL.menu.frequency.MYSBL16.bootloader.high_fuses=0xD2
MYSBL.menu.frequency.MYSBL16.bootloader.extended_fuses=0x06
MYSBL.menu.frequency.MYSBL16.bootloader.unlock_bits=0x3F
MYSBL.menu.frequency.MYSBL16.bootloader.lock_bits=0x0F
MYSBL.menu.frequency.MYSBL16.bootloader.file=MySensors/MYSBootloader_16MHz.hex

MYSBL.menu.frequency.MYSBL8=8MHz RC
MYSBL.menu.frequency.MYSBL8.build.f_cpu=8000000L
MYSBL.menu.frequency.MYSBL8.upload.speed=57600
MYSBL.menu.frequency.MYSBL8.bootloader.low_fuses=0xE2
MYSBL.menu.frequency.MYSBL8.bootloader.high_fuses=0xD2
MYSBL.menu.frequency.MYSBL8.bootloader.extended_fuses=0x06
MYSBL.menu.frequency.MYSBL8.bootloader.unlock_bits=0x3F
MYSBL.menu.frequency.MYSBL8.bootloader.lock_bits=0x0F
MYSBL.menu.frequency.MYSBL8.bootloader.file=MySensors/MYSBootloader_8MHz.hex

MYSBL.menu.frequency.MYSBL1=1MHz RC
MYSBL.menu.frequency.MYSBL1.build.f_cpu=1000000L
MYSBL.menu.frequency.MYSBL1.upload.speed=9600
MYSBL.menu.frequency.MYSBL1.bootloader.low_fuses=0x62
MYSBL.menu.frequency.MYSBL1.bootloader.high_fuses=0xD2
MYSBL.menu.frequency.MYSBL1.bootloader.extended_fuses=0x06
MYSBL.menu.frequency.MYSBL1.bootloader.unlock_bits=0x3F
MYSBL.menu.frequency.MYSBL1.bootloader.lock_bits=0x0F
MYSBL.menu.frequency.MYSBL1.bootloader.file=MySensors/MYSBootloader_1MHz.hex


Сохранить и закрыть.

В папке avr найти папку bootloaders
Перейти в нее
Создать в папке bootloaders папку MySensors
В папке из скаченного архива с гита разработчика, перейти в папку hex
Из папки hex скопировать все файлы в созданную ранее папку MySensors
Закрыть все папки
Перезагрузить Arduino IDE
В платах Arduino появится ATmega328 with MYSBootloader
(Это и есть плата для записи загрузчика MYSBootloader)


2.Прошивка загрузчиком MYSBootloader

Выбрать плату ATmega328 with MYSBootloader в Инструменты → Плата → Платы Arduino AVR → ATmega328 with MYSBootloader
Выбрать нужный процессор в Инструменты → Процессор →
Выбрать программатор через который будете загружать прошивку MYSBootloader в Инструменты → Програматор →
Нажать “Записать загрузчик” в Инструменты →
После записи загрузчика подать питание на устройство(нода)
Перейти в модуль Майсенсорс в системе умного дома Мажордомо
Убедится что устройство(нода) появилась в радиосети Майсенсорс.

НЕ ЗАГРУЖАЙТЕ СКЕТЧИ ВАШЕЙ ПРОГРАММЫ ЧЕРЕЗ ARDUINO IDE ПОСЛЕ ЗАПИСИ ЗАГРУЗЧИКА ТАК КАК БУДЕТ СТЕРТ САМ ЗАПИСАННЫЙ ЗАГРУЗЧИК MYSBOOTLOADER



3.Загрузка бинарного файла с исполняемой программой.

В Arduino IDE перейти Файл → Настройки →
Внизу открывшегося окна перейти по ссылке под пунктом: Другие настройки можно отредактировать непосредственнов файле:
Откроется окно проводника Windows
Закрыть Arduino IDE
В окне проводника Windows найти файл preferences.txt
Открыть файл preferences.txt
В конце открытого файла с новой строки ввести: build.path=C:\Arduino-Output\
Сохранить файл preferences.txt, закрыть.
Перейти в C:\ и создать папку Arduino-Output
Открыть Arduino IDE
Открыть файл с скетчем.
Перейти Скетч → Экспорт бинарного файла
Перейти в C:\Arduino-Output\ и убедится что бинарные файлы скомпилированны.
Перейти в модуль Майсенсорс в системе умного дома Мажордомо
В модуле Майсенсорс перейти в раздел “Прошивка”
Нажать на кнопку “Добавить новую запись”
Ввести в поля “Название” и “Версия” произвольные данные
В поле “Файл” нажать на кнопку “Выбрать файл”
В открывшемся проводнике Windows перейти в папку C:\Arduino-Output\
Выбрать бинарный файл БЕЗ добавленного бутлоадера (название файла.ino.hex)
Нажать на кнопку “Добавить”

Перейти на основную страницу модуля Майсенсорс в Мажордомо
Найти в списке ранее прошитую ноду с MYSBootloader
Перейти в настройки данной ноды
В пункте “Прошивка” выбрать добавленную ранее прошивку(бинарный файл)
Нажать на кнопку “Сохранить” (ниже на странице)
Нажать на кнопку “Перезагрузить” (ниже на странице)
или
Нажать на физическую кнопку Рессет на устройстве(нода)

Нода должна перезагрузится и начать принимать прошивку(среднее время загрузки прошивки по воздуху ~ 2-5 минут (зависит от качества радиомодуля, дальности от гейта, фильтров по питанию у радиомодуля)
Вложения
2.png
2.png (128.34 КБ) 6304 просмотра
1.png
1.png (147.16 КБ) 6304 просмотра
Ответить