===== Заливка уже откомпилированной прошивки ===== В первую очередь необходимо скачать сам проект. Это можно сделать либо с использованием утилиты git: git clone https://github.com/anklimov/lighthub.git Либо, если у вас она не установлена - открываем [[https://github.com/anklimov/lighthub]] Далее, нажимаем зеленую кнопку "Clone or download" Выбираем пункт "Download ZIP", скачиваем и распаковываем архив Переходим в директорию lighthub-master/compiled/<требуемая_платформа> (список платформ выше) Подключаете плату USB кабелем к компьютеру (кроме платформы NRF52 - там программирование только при помощи специального устройства JLink, об этом позже) В диспетчере устройств находите порт, на который села плата (например, com3) корректируете номер порта в файле upload.bat, который находится в директории, в которую вы вошли Запускаете файл на выполнение (если выдается запрос "нажмите любую клавишу" - нажимаете) Прошивка должна загрузиться в ваш контроллер. ===== Компиляция и заливка с использованием platformio + Atom или VSC ===== Проект создан с использование Platformio , аналога Arduino IDE. Сперва необходимо скачать Visual Studio Code или Atom, установить Platformio в качестве плагина. В интернете много материалов и видеоуроков на эту тему. Скорее всего потребуется установить клиент Git (Для Windows https://git-scm.com/download/win). Далее, как и в предыдущем случае, необходимо скачать сам проект. Проект создан с использование Platformio , аналога Arduino IDE. Это можно сделать либо с использованием утилиты git: git clone https://github.com/anklimov/lighthub.git Либо, если у вас она не установлена - открываем [[https://github.com/anklimov/lighthub]] Далее, нажимаем зеленую кнопку "Clone or download" Выбираем пункт "Download ZIP", скачиваем и распаковываем архив В Atom или VSC выбираем пункт "Открыть директорию" (Open Folder), и указываем директорию lighthub.master (или в директорию lighthub если использовался git) Далее, выбираем файл platformio.ini и раскомментариваем в нем нужный вам вариант платформы (платы) в пункте env_default (убираем ; перед строкой, содержащей нужную платформу, добавляем - перед строкой, содержащей ненужные платформы) **Для платформы DUE:** обязательно придется найти фаил variant.cpp по пути .platformio/packages/framework-arduinosam/variants/arduino_due_x и вставить в него __последней строкой__ следующую строку void USART0_Handler(void) __attribute__((weak)); сохранить. Нажимаем кнопку "Build" Platformio скачивает все нужные библиотеки и компилирует код. Возможно придется несколько раз повторить эту операцию, так как по непонятным причинам, platformio может выдавать ошибки, не скачав какую-то библиотеку. Если компиляция прошла успешно, можно подключить плату USB кабелем и нажать кнопку Upload ===== Компиляция и заливка с использованием platformio. Вариант командная строка ===== Для того что бы прошить плату в первую очередь необходимо скачать сам проект [[https://github.com/anklimov/lighthub]] и установить Platformio * Если Вы считатет себя джедаем и не ищете легких путей то работать с платформио можно через командную строку. Для этого нужно: - установить Python 2.7, - установить git. * Модифицировать PATH. идем: мой компьютер->правой кнопокой мыши вызываем контекстное меню->свойства->в появившемся окне "переменные среды"-> в окне "Системные переменные" выбираем переменную Path ->изменить->добавляем строку ;C:\Python27;C:\Python27\Scripts * Установить Platformio открываем командную строку (поиск в "Пуске" cmd.exe) вводим команду pip install -U platformio Учтите, что Platformio установится по умолчанию в папку пользователя С:\Пользователи\Имя пользователя\.platformio Python 2.7 не поддерживает кириллицу, если имя пользователя написано кириллицей, необходимо скопировать папку Platformio в корень диска C:\ и изменить путь к рабочему каталогу в фале platformio.ini (который находится в ранее скачанной папке lighthub-master), указав после строки [platformio] следующую строку: home_dir = C:\.platformio Сохраняем файл. Открываем папку lighthub-master, в строке отображающей путь вводим cmd и нажимаем enter или же выбираем папку в командной строке любым другим способом. **Для платформы DUE:** обязательно придется найти фаил variant.cpp по пути .platformio/packages/framework-arduinosam/variants/arduino_due_x и вставить в него __последней строкой__ следующую строку void USART0_Handler(void) __attribute__((weak)); сохранить. Далее вводим pio run -e <платформа> Вариант <платформа> выберете в зависимости от используемой аппаратной платформы. ; Arduino Mega (without one-wire driver) + Ethernet shield Wiznet 5100 ; Компактная сборка для Mega2560 ; mega2560slim-5100 ; Arduino Mega + Ethernet shield Wiznet 5100 ; mega2560-5100 ; Arduino Mega + Ethernet shield Wiznet 5500 ; mega2560-5500 ; LightHub controller HW revision 2.1 and above (Wiznet 5500 CS on pin 53) ; Если у вас плата LightHub версии 2.1 или более новая + DUE - используйте эту конфигурацию ; **lighthub21** ; Arduino DUE + Ethernet shield Wiznet 5100 or 5200 or 5500 ; Предпочтительный вариант для DUE с Ethernet Shield (не для платы LightHub), базированный на универсальном драйвере ; **due** ; Arduino DUE + Ethernet shield Wiznet 5100 ; вариант для DUE с Ethernet Shield 5100 (старый драйвер, будет убран в следующем релизе) ; due-5100 ; Arduino DUE + Ethernet shield Wiznet 5500 ; вариант для DUE с Ethernet Shield 5500 (старый драйвер, будет убран в следующем релизе) ; due-5500 ; ESP 8266 ; **esp8266-wifi** ; ESP-32 ; **esp32-wifi** ; M5Stack core (ESP32 based) ; m5stack ; Controllino ; controllino ; STM32 board + ENC28j60 network ; stm32-enc2860 ; NRF52 board + Wiznet 5500 network ; nrf52840-5500 Пример: "due-5100" - это плата Arduino DUE + Ethernet Shield v1 на чипе Wiznet-5100 Если у вас Ethernet Shield версии 2.0 или плата LightHub 2.0 - надо использовать "due-5500" Если плата LightHub версии 2.1 или выше то используйте опцию "lighthub21" Проект должен скомпилироваться без ошибок. **ЧАСТО Platformio выдает ошибки на ровном месте (не находит какие-либо файлы). В этом случае, повторный запуск компиляции часто решает эту проблему** Если ошибок нет вводим pio run -e <платформа> -t upload Программа должна залиться в аппаратную платформу. Если возникли ошибки: Попробовать очистить папку с библиотеками .piolibdeps и .pioenv удалив все их содержимое ===== Использование Arduino IDE для компиляции и заливки прошивки ===== Это достаточно трудоемкий процесс, который требует, чтобы вы вручную установили массу библиотек в IDE. При всей глюкавости platformio - лучше и проще использовать его. Если для кого-то будет важно освоить именно этот метод - пишите, мы пополним инструкцию. Если возникают проблемы - пишите на форуме или в [[https://t.me/lighthub|группу Телеграмм]] (Вы, также, можете улучшать эту инструкцию)