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

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

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

Конференция разработчиков Orange Pi 2024, о предстоящих одноплатных компьютерах и новых устройств

24 марта 2024 года компания Orange Pi провела конференцию разработчиков в Шэньчжэне, Китай. Прежде всего, компания известна разработкой одноплатных компьютеров. Но, не смотря на это, компания собирается дальше продвигаться на рынок потребительских продуктов, устройств, таких как умные часы, игровые консоли и т.д.

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

Аксессуары для одноплатных компьютеров, microSD, FTDI адаптер, HDMI Video Capture, USB Wi-Fi, мини-клавиатура Rii X1

Для работы с одноплатным компьютером необходимо дополнительное оборудование, такое как карта памяти microSD, HDMI монитор, USB-UART FTDI адаптер, и т.д. Хороший набор аксессуаров облегчает работу с одноплатным компьютером. Пост содержит рекомендации по выбору аксессуаров, на основе длительной работы с одноплатниками.

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

Недорогой одноплатный компьютер Orange Pi 4 LTS на SoC Rockchip RK3399 с 4 ГБ ОЗУ, 16 ГБ eMMC

Orange Pi 4 LTS — это бюджетный вариант одноплатного компьютера Orange Pi 4 на базе процессора Rockchip RK3399, который был представлен в 2019 году с 4 ГБ ОЗУ по цене от $49.90 и выше. На плате имеются разъемы HDMI, Ethernet, USB 2/3.0/Type-C, PCIE, GPIO. Размещен комбинированный чип WiFi 5/Bluetooth 5.0. Для хранения данных предусмотрен слот для microSD карт и площадка для eMMC памяти. Предлагается большой набор дополнительных модулей, таких как камеры, lcd-панели, socket PCIe.

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

Кросс-компиляция проекта в Docker используя Buildx на примере сборки shadowsocks-rust и библиотеки Libgpiod

Кросс-компиляция позволяет получать исполняемый код для платформы, отличной от той, на которой запускается этот процесс. В данном случае рассмотрим кросс-компиляцию в Linux клиента shadowsocks-rust в исполнение службы Windows, соответственно для платформы Windows. Процесс сборки выполним в Docker контейнере. Инструмент Buildx позволяет задавать формат получения результата сборки контейнера, это либо контейнер, либо какие-то файлы полученные путем сборки контейнера. В текущем варианте это будут исполняемые бинарные файлы для конечных аппаратных платформ и операционных систем. Сборку библиотеки Libgpiod выполним с использованием QEMU для аппаратных платформ, таких как x86, ARM и RISC-V.

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

Одноплатник Sipeed Longan Pi 3H размером с Raspberry Pi Zero с Gigabit Ethernet, WiFi 6, HDMI, и USB портами

Sipeed Longan Pi 3H (LPi3H) — это одноплатный компьютер в форм-факторе модуля SoM (system-on-on-module) с двойным разъемом M.2, работающий на процессоре Allwinner H618 (4x ядра ARM Cortex-A53). Модуль вставляется в несущую плату размером с Raspberry Pi Zero, на которой размещены полноразмерные разъемы 1x HDMI 2.0, 2x USB 2.0, Gigabit Ethernet RJ45 jack. Так же на несущей плате размещен комбинированный чип, поддерживающий беспроводные стандарты  WiFi 6 и Bluetooth 5.4, 40-контактный разъем GPIO с шагом 2.54 мм совместимый с Raspberry Pi, порт USB OTG Type-C для подачи питания. Необычность решения заключается в исключительной плотной компоновке процессора, модуля оперативной памяти, eMMC и разъемов подключения периферийных устройств.

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

Уменьшение размера виртуальной машины VMware для гостевой-ОС Linux и освобождение пространства на диске

В VMware виртуальные диски (vmdk) бывают двух типов это pre-allocated и growable. Тип диска growable занимает объем физического диска по мере заполнения виртуального диска, т.е. виртуальный диск на 120 Гб, занято 10 Гб, размер файла *.vmdk соответственно 10 Гб. В случае освобождения пространства на виртуальном диске, физический размер диска *.vmdk не уменьшается. Для уменьшения диска необходимо выполнить операцию Defragment (дефрагментация) затем и Compact (сжатие). После этого размер диска *.vmdk будет соответствовать занимаемому пространству в виртуальном диске, но это так работает, если установлена гостевая-ОС Windows. В публикации рассматривается уменьшение размера виртуальной машины VMware в случае гостевой-ОС Linux и освобождение пространства на диске.

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