Это старая версия документа!
В первую очередь необходимо скачать сам проект. Это можно сделать либо с использованием утилиты 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 в качестве плагина. В интернете много материалов и видеоуроков на эту тему.
Далее, как и в предыдущем случае, необходимо скачать сам проект. Проект создан с использование 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
* Если Вы считатет себя джедаем и не ищете легких путей то работать с платформио можно через командную строку. Для этого нужно:
* Модифицировать 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 ; 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) ; lighthub21 ; Arduino DUE + Ethernet shield Wiznet 5100 ; due-5100 ; Arduino DUE + Ethernet shield Wiznet 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 - лучше и проще использовать его. Если для кого-то будет важно освоить именно этот метод - пишите, мы пополним инструкцию.
Если возникают проблемы - пишите на форуме или в группу Телеграмм
(Вы, также, можете улучшать эту инструкцию)