Автор: Anton

Programistik

Превращаем одноплатник 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…

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

Как сделать кластерный сервер на ARM процессоре и тестирование VPS на AWS Graviton2

В предыдущей публикации рассматривались преимущества использование ARM серверов для хостинг провайдеров. В этом посте рассмотрим практические варианты создания кластерного сервера на ARM процессоре и протестируем инстанс Amazon EC2 T4g работающий на процессоре ARM AWS Graviton2, посмотрим на что он способен.

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

Arm сервера подходят для облачного хостинга лучше чем x86 сервера? Проверим

Если вам нужна была высокая производительность, то вам нужно было выбирать процессор на x86 для своих решений. В последнее время, все больше и больше говорят о закате архитектуры x86 и переходе на ARM. В прошлом году компания Apple впервые представила Mac на процессорах ARM. Но подойдет ли процессор ARM для дата-центров, сможет ли ARM навсегда отправить x86 на скамью запасных?

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

Управляем контактами 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 через утилиты на примере светодиода и кнопки. Практическая часть будет выполнятся…

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

Сборка Docker контейнеров для ARM архитектуры используя Buildx

Сборка Docker контейнеров тема достаточно популярная и известная. Сборка для платформ x86 не представляет никаких проблем, все работает из коробки. Но как собрать Docker образ для ARM32 и ARM64 архитектуры? Если взять плату Banana Pi BPI-M64 с 64-разрядным ARM процессором, то на ней можно собрать образ для архитектуры ARM64, ARMv8, aarch64. Но для этого необходимо задействовать плату, и скорость сборки будет весьма низкая. Для сборки контейнеров помимо привычных инструментов, есть инструмент Buildx — позволяющий собирать образы для различных архитектур на x86 процессоре. В публикации будет детальный разбор, как собирать Docker образы для ARM процессоров и загружать их в публичный Docker…

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

.NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров

.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С ее помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудование. .NET nanoFramework является малой версией «большого» .NET Framework предназначенного для настольных систем. Разработка приложений ведется на языке C# в среде разработки Visual Studio. Сама платформа является исполнительной средой .NET кода, это позволяет абстрагироваться от аппаратного обеспечения и дает возможность переносить программный код с одного микроконтроллера на другой, который тоже поддерживает .NET nanoFramework. Программный код на…

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