Метка: Ubuntu
Работа с GPIO в Linux. Часть 7. Управление подсветкой (backlight) экрана используя ШИМ (PWM)
 
			В публикации Подключение дисплея SPI LCD ILI9341 был подключен данный дисплей к плате Banana Pi BPI-M64. Все управление подсветкой сводилось к двум состояниям: включено или выключено. Контакт LED на дисплее предназначен для регулирования уровня яркости экрана. Из-за того, что плата Banana Pi BPI-M64 не имеет аналоговых выходов, невозможно было регулировать степень яркости дисплея. Поэтому для регулирования значения напряжения на контакте LED, воспользуемся драйвером двигателя (микросхема TB6612FNG). Входящий сигнал ШИМ (PWM) в микросхеме TB6612FNG регулирует напряжение на выходе. С ШИМ (PWM) уже работали в публикации LED, ШИМ (PWM), КНОПКА. Поэтому потребуется лишь соединить контакт ШИМ (PWM) на плате Banana Pi BPI-M64 с соответствующим контактом на микросхеме TB6612FNG, и вывод с микросхемы TB6612FNG соединить с входом контакта LED на дисплее. Как это сделать, для возможности регулирования подсветки экрана, читаем под катом.
Читать далее »Безопасность встраиваемых систем Linux
 
			Весь наш мир построен на противоположностях. Если вы создаете свое устройство и продаете его, то всегда найдется тот, кто захочет его взломать. Цели у злоумышленника буду самыми разными, от попыток сделать клон устройства (привет Китаю) до шантажа конечных потребителей, что весьма ухудшит вашу репутацию с точки зрения изготовления надежных устройств. И чем популярнее система на основе которой построено устройство, тем интереснее она злоумышленнику. В последнее время активно развивается сегмент одноплатных компьютеров, таких как Raspberry Pi, и множества других. Linux системы по распространенности использования во встраиваемых систем, вышли на первые места. Большая функциональность устройств, например наличие разных беспроводных интерфейсов коммуникаций, в совокупности с большими возможностями ОС Linux, привела к серьезной необходимости организации защиты устройства. Некоторые думают, что достаточно отключить учетную запись root и установить надежный пароль, но на самом деле это только малая часть того, что следует сделать. Какие технологии и концепции используются для снижения рисков и реализации более безопасного устройства работающего на Linux узнаете под катом.
Читать далее »Превращаем одноплатник Cubietruck в Wi-Fi Hotspot с Captive portal, VPN-шлюзом и Ad block
 
			Для построения Wi-Fi сети обычно используют готовые маршрутизаторы, функциональность которых всегда ограничен прошивкой. А если необходимо добавить блокировщик рекламы, VPN шлюз и красивый Captive portal, покупать новую железку? Стоимость устройства с такими возможностями будет уже весьма высока. Можно взять Linux с Hostapd и сделать точку доступа с Wi-Fi, но в отличие от готовых маршрутизаторов не будет наглядного Web-интерфейса. И для решения этой задачи был создан проект RaspAP, который на базе устройств с ОС Debian создает Wi-Fi Hotspot с Captive portal, VPN-шлюзом, Ad block. Для RaspAP в отличие от OpenWrt не требуется непосредственная поддержка устройства, достаточно поддержки последней версии Debian. RaspAP работает поверх уже установленных ОС: Raspberry Pi OS, Armbian, Debian, Ubuntu. Как сделать Wi-Fi Hotspot на RaspAP прошу под кат.
Читать далее »Управляем контактами 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.
Читать далее »Сборка Docker контейнеров для ARM и RISC-V архитектуры используя Buildx [обновлено 30.09.2023]
 
			Docker контейнер всегда собирается для той платформы, на которой выполняется сборка. Но как собрать Docker образ для другой платформы, например на платформе x86 собрать образ для ARM32, ARM64 и RISC-V архитектуры? На плате Banana Pi BPI-M64 с 64-разрядным ARM процессором собирается образ для архитектуры ARM64, ARMv8, aarch64. При сборки образов для разных архитектур приходится использовать несколько устройств, что несколько неудобно. Для решения этой задачи в состав Docker CE входит инструмент Buildx, позволяющий собирать образы для различных архитектур процессоров. В публикации будет детальный разбор, как собирать Docker образы для ARM и RISC-V процессоров с дальнейшей загрузкой в публичный Docker Hub.
Читать далее »Работа с 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.
Читать далее »