6 мая 2020 г.

Cubieboard armbian GPIO

На кубике с armbian готовим GPIO для работы
Тезисно:
установка армбиан (Armbian Buster mainline based kernel 5.4.y)
лучше ssd
при необходимости устанавливаем Desktop (armbian-config>system>desktop/default)
работа с GPIO через sysfs or libgpiog (gpiod2)
Работа с GPIO через pySUNXI
Править script.bin не надо



При помощи утилит библиотеки можно получить список чипов и их именование:
$gpiodetect
А потом посмотреть список пинов и их наименование:
$cat /sys/kernel/debug/pinctrl/1c20800.pinctrl/pinmux-pins
Или посчитать по формуле на страничке http://linux-sunxi.org/GPIO

Распиновка для Cubieboard1/2 идентична
Имея библиотеки libgpiod можно проверить пины так (PG9):
Вкл (+3.5V)
$gpioset gpiochip0 201=1
Выкл (0V)
$gpioset gpiochip0 201=0

Помучавшись, пришел к выводу что надо использовать что-то другое, остановился на питоне.

 sudo apt-get install python-dev
 wget http://dl.cubieboard.org/software/libs/pySUNXI-0.1.12.tar.gz
 tar zxf pySUNXI-0.1.12.tar.gz
 cd pySUNXI-0.1.12/
 sudo python setup.py install

В этом варианте предоставляется только 9 пинов PD, проверить можно скриптом:
 
#!/usr/bin/env python

import SUNXI_GPIO as GPIO
print dir(GPIO)

или можно скачать другой вариант:
 sudo apt-get install python-dev git
 git clone https://github.com/ruisebastiao/pySUNXI.git
 cd pySUNXI
 sudo python setup.py install

Здесь в файле pySUNXI/source/pysunxi.c
Нужно добавить строчки:
PyModule_AddObject(module, "PDX", Py_BuildValue("i", PDX));
Блоке с такими же строками
Где X - номер пина, максимум 27 для PD

Потом можно проверить каким нибудь скриптом работу пинов


Ссылки:
http://linux-sunxi.org/GPIO
https://habr.com/ru/post/351512/
https://blog.radiotech.kz/embedded-linux/cubieboard-gpio-vvedenie/

Комментариев нет:

Отправить комментарий