На кубике с 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
Помучавшись, пришел к выводу что надо использовать что-то другое, остановился на питоне.
или можно скачать другой вариант:
Нужно добавить строчки:
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/
Тезисно:
установка армбиан (Armbian Buster mainline based kernel 5.4.y)
лучше ssd
при необходимости устанавливаем Desktop (armbian-config>system>desktop/default)
Работа с GPIO через pySUNXI
Править script.bin не надо
Распиновка для Cubieboard1/2 идентична
Помучавшись, пришел к выводу что надо использовать что-то другое, остановился на питоне.
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
Потом можно проверить каким нибудь скриптом работу пинов
Комментариев нет:
Отправить комментарий