В первую очередь необходимо скачать сам проект. Это можно сделать либо с использованием утилиты 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 , аналога 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
Для того что бы прошить плату в первую очередь необходимо скачать сам проект https://github.com/anklimov/lighthub и установить Platformio
;C:\Python27;C:\Python27\Scripts
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 удалив все их содержимое
Это достаточно трудоемкий процесс, который требует, чтобы вы вручную установили массу библиотек в IDE. При всей глюкавости platformio - лучше и проще использовать его. Если для кого-то будет важно освоить именно этот метод - пишите, мы пополним инструкцию.
Если возникают проблемы - пишите на форуме или в группу Телеграмм
(Вы, также, можете улучшать эту инструкцию)