Метка: Ubuntu

Работа с 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 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.

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

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

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

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

Одноплатный компьютер Radxa X2L на процессоре Intel Celeron J4125 всего за $39

Radxa X2L — это недорогой одноплатный компьютер на процессоре Intel Celeron J4125 Gemini Lake Refresh, поставляется с оперативной памятью от 2 до 8 ГБ, на плате размещено два слота M.2, один из которых предназначен для подключения SSD-накопителя, а другой для подключения беспроводного модуля, так же размещено два порта HDMI, порт Gigabit Ethernet, четыре порта USB и 40-контактный разъем GPIO с шагом 2,54 мм частично совместимым с аналогичным разъемом на Raspberry Pi.

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

Создание виртуального VPN-маршрутизатора c SoftEther VPN и Shadowsocks-туннелированием [обновлено 12.01.2024]

В предыдущей публикации было рассмотрено подключение клиента к корпоративной сети VPN. Для корпоративного офиса рациональнее развертывать VPN-маршрутизатор. VPN-маршрутизатор позволяет прозрачно подключать сотрудников к корпоративной сети. Маршрутизатор может быть реализован в виде программного решения как виртуальная машина VMware так и нативно на одноплатном компьютере. В публикации рассматривается развертывание SoftEther VPN сервера в качестве VPN-маршрутизатора для локальной сети офиса. Для упрощения развертывания не рассматривается вариант разделения адресного пространства серверов и узлов сети Интернет, т.е. весь исходящий сетевой трафик из корпоративного офиса, в том числе и в сеть Интернет, маршрутизируется через VPN-сервер.

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

Создание корпоративной сети VPN на базе решений SoftEther VPN/WireGuard с Shadowsocks-туннелированием [обновлено 15.02.2024]

Корпоративный VPN обеспечивает защиту сетевого трафика, как от конкурентов, так и от организаций использующие системы DPI. Сетевой трафик в сети Интернет проходит через различные системы DPI которые распознают пакеты идущие от WireGuard/SoftEther VPN. Фильтры DPI либо полностью блокируют VPN трафик, либо существенно ограничивают скорость. Многие компании предпочитают решать подобную задачу не организационным, а техническим путем. Поэтому сетевой трафик приходиться дополнительно «оборачивать» в туннель, например, используя Shadowsocks. В руководстве подробно рассматривается пошаговое развертывание SoftEther VPN/WireGuard сервера и Shadowsocks туннеля на корпоративном VPS сервере на базе Docker-контейнеров. Платформы клиентов: Windows, Ubuntu, Android.

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