Как перенести "софтовым" методом heartbit (диод активности) с встроенного GPIO на свободный
По умолчанию диод на GPIO находится на
GPIO0A5, у нас в NAPI его нет на "гребёнке",
подтому мы его перекинем на GPIO3B3, который есть на "гребёнке" и ничем не занят.
Сделать файл blue-led-gpio3b3-2.dts и добавить его как оверлей
armbian-add-overlay blue-led-gpio3b3-2.dts
Команда сама скомпилирует dtbo, перенесем его в нужную папку и добавит запись в файл armbianEnv.txt.
Останется только перегрузится и убедиться, что диод "прикрепился" к нашему пину (визуально он станет сразу помигивать). Как проверить на каком GPIO оказался диод - в конце поста.
Имя файла будет похоже на следующее - Armbian_23.5.2_Rockpi-s_bookworm_current_6.1.32.img.xz
Распаковать образ и записать образ на SD-карту
или
Загрузить NAPI c SD карты в NapiLinux, вставить флешку с
распакованным файлом образа и записать имидж в NAND по инструкции
Загрузить ARMbian. Войти по SSH (Логин\Пароль root\1234)
При первой загрузке ARMbian задаст вопросы про язык, локаль, часовой пояс, дополни тельного пользователя - надо пройти все эти вопросы (в подготовленном имидже мы уже все сделали).
Поместите данный список в файл packages.txt (nano packages.txt), выполните команду:
xargs apt-get -y install < packages.txt
Все пакеты должны установиться автоматически !
Теперь у вас есть утилита mbpoll для работы с modbus, pip3 - система установки пакетов для python3, средства для работы с git, средства для компилирования программ (понадобиться ниже).
В Armbian (и других современных Linux) включение аппаратных и нестандартных интерфейсов (uart, i2c, spi) работает через систему подключаемых оверлеев (файлы в формате dtbo - device tree binary). Это бинарные файлы, которые компилируются из исходных текстовых файлов dts (data tree source).
В Armbian есть утилита, которая компилирует и добавляет оверлей из пользовательского файла dts.
Общий алгоритм такой. Нужно скачать или другим образом (через копи\паст) сформировать файл dts (название лучше делать по смыслу файла, например rk3308-spi2.dts) и далее выполнить команду
armbian-add-overlay <файл.dts>
Обязательно перегрузиться.
После этого должно заработать устройство, которое Вы подключили, если оно не конфликтует с другими устройствами. Конфликты зависят от включенных устройствах по умолчанию, от аппаратной конфигурации устройства.
подсказка
Например, в NAPI не может работать одновременно UART1,2 и SPI2 а также UART3 и SPI1
Для того, чтобы в модуле NAPI работал SPI2, необходимо отключить uart1 и uart2. Так как в ARMbian они включены в основном файле дерева устройств, то в оверлее spi2 необходимо отключить явным образом uart1, uart2. Правильный файл dts для SPI2 приводим ниже.
Сделайте файл rk3308-spi2-spidev.dts такого содержания:
⚠️ Несмотря на то, что в системе присутствует практически такая же утилита mbpoll аргументы у них
немного различаются. Мы можем давать примеры на основе утилиты modpoll, поэтому рекомендуем ее тоже установить.
К сожалению, по умолчанию в Armbian довольно старая версия gpiod, поэтому
мы написали статью, как установить свежую версию gpiod и работать с командами пакета.