Метка: GPIO

Управляем контактами GPIO из C# .NET 5 в Linux на одноплатном компьютере Banana Pi M64 (ARM64) и Cubietruck (ARM32)

Когда заходит речь про программирование на C# .NET для одноплатных компьютеров, то разговоры крутятся только в основном вокруг Raspberry Pi на Windows IoT. А как же Banana/Orange/Rock/Nano Pi, Odroid, Pine64 и другие китайские одноплатные компьютеры работающие на Linux? Так давайте это исправим, установим .NET 5 на Banana Pi BPI-M64 (ARM64) и Cubietruck (ARM32), и будем управлять контактами GPIO из C# в Linux. В первой части серии постов, подключим светодиод и кнопку для отработки прерываний и рассмотрим библиотеку Libgpiod (спойлер, библиотеку так же можно использовать в C++, Python) для доступа к контактам GPIO.

Читать далее »

Работа с GPIO в Linux. Часть 6. Библиотека Libgpiod

В 2017 году Bartosz Golaszewski начал разработку библиотеки Libgpiod и утилит для работы с GPIO. Библиотека libgpiod инкапсулирует вызовы ioctl и структуры данных за простым API в Linux, и предназначена для замены доступа к GPIO через виртуальную файловую систему sysfs. Используемый в библиотеке новый интерфейс chardev гарантирует, что все выделенные ресурсы будут освобождены после закрытия файлового дескриптора устройства, и добавляет несколько новых функций, которых нет в устаревшем интерфейсе sysfs (например, опрос событий, установка/чтение нескольких значений одновременно). В публикации будет установка библиотеки Libgpiod из исходного текста и работа с GPIO через утилиты на примере светодиода и кнопки. Практическая часть будет выполнятся…

Читать далее »

Работа с GPIO в Linux на примере Banana Pi BPI-M64. Часть 5. Device Tree overlays. Шина I2C, подключение датчиков Bosh BMx

Пришло время задействовать шину I2C, будем подключать датчики серии BMP и BME компании Bosch Sensortec, такие как: BME280, BMP085, BMP180, и BMP280. Подключение датчиков по шине I2C позволяет экономить контакты GPIO. Дополнительно, в подобных датчиках уже есть АЦП, и значение напряжения уже не проецируется на шкалу температуры, а выдается в цифровом виде. Помимо датчиков температуры, к шине I2C можно подключать и другие всевозможные датчики и модули, например расширитель контактов GPIO MCP23017 I2C I/O Expander.

Читать далее »

Работа с GPIO в Linux на примере Banana Pi BPI-M64. Часть 4. Device Tree overlays. Подключение дисплея SPI LCD ILI9341

В этот раз будем подключать TFT-LCD дисплей на популярном контроллере ILI9341 к одноплатному компьютеру Banana Pi BPI-M64. В сети Интернет много материала как подключать различные LCD экраны к Raspberry Pi. Но что если у вас нет Raspberry Pi, а хочется подключить недорогой LCD экран? Есть решение, подключить с помощью дерева устройств (Device Tree overlays) Linux. Будем подключать недорогой цветной TFT-LCD экран диагональю 2.4 дюйма по SPI интерфейсу к Banana Pi BPI-M64 под ОС Armbian.

Читать далее »

Работа с GPIO в Linux на примере Banana Pi BPI-M64. Часть 3. Device Tree overlays. LED, ШИМ (PWM), КНОПКА

В предыдущей части работали с 1-Wire интерфейсом, подключали датчик DS18B20 для замера температуры. В этой публикации познакомимся как работать с устройством класса светодиод (LED), что такое ШИМ (PWM),  подключим кнопки и ответим на вопрос, можно ли обойтись без стандартной клавиатуры на USB интерфейсе. Драйвера периферии LED, PWM, BUTTON входят в состав ядра Linux, поэтому данное руководство, так же подойдет владельцам других плат, включая Raspberry Pi. Все указанную периферию будем подключать к плате Banana Pi BPI-M64, конфигурация:

Читать далее »

Отладочная плата Cubietruck

Команда Cubieteam, одни из первых начали делать одноплатные мини-компьютеры на процессорах компании AllWinner Tech. Первый open-source-hardware продукт команда разработала еще в августе 2012 года. Cubieteam — небольшая команда, с несколькими молодыми людьми, у которых нет опыта ведения бизнеса, умения управления компанией, но очень любит современные технологии. Команда Cubieteam объедена общей мечтой: «Создание дешевого мини-компьютера и обмен технологиями с гиками со всего мира». Для нас было большой неожиданностью, когда мы получили более чем 90 000 $ для начала производства Cubieboard. Эти деньги мы получили от энтузиастов, друзей, и желающих получить заветную плату, путем предоплаты. За прошлый год множество людей связывалось с…

Читать далее »

Распиновка GPIO для Banana Pi BPI-M64

Для удобства схема GPIO и разъемов Banana Pi BPI-M64 вынесена в отдельный пост. Все схемы и datasheet доступны в репозитории GitHub Banana Pi BPI-M64. Что такое GPIO и для каких задач используется почитать пост Работа с GPIO на примере Banana Pi BPI-M64. Часть 1. Интерфейс sysfs LED и DS18B20. Datasheet на процессор AllWinner A64 репозиторий GitHub Allwinner-SoC/Allwinner A64 Интерфейсы На плате доступны интерфейсы: 40-pins совместимый с Raspberry Pi 3; MIPI DSI (Display Serial Interface); MIPI CSI Interface; UART (debug port) JST 1.25MM 6-pin разъем для подключения 3.7V литиевой батареи

Читать далее »