Pull to refresh
80
-2
Антон Сердюков @devzona

Programistik

Send message

Где реки термоядерной энергии? От открытия к изобретению и внедрению

Level of difficultyMedium
Reading time24 min
Views2.5K
thermonuclear energy

Наша цивилизация основана на величайших открытиях и изобретениях. Все чем мы пользуется, было разработано учеными и инженерами. Любой продукт цивилизации, будь то iPhone, вакцина, антибиотик, основан на научных открытиях. Вначале ученые открывают что-то новое. Затем инженеры на основе научного открытия разрабатывают прототип устройства. Далее эстафету принимает следующая группа инженеров работающих в сфере технологии и промышленного дизайна. Их задача заключается в превращение прототипа устройства в серийный продукт конвейерного производства, который захотелось бы купить. От научного открытия до непосредственного использования открытия, в виде продукта, проходит сравнительно немного времени. На рубеже прошлого столетия был открыт термоядерный синтез, но вот с постройкой супер электростанции как-то затянулось. В посте рассмотрим значимость научных открытий через призму изменений нашей жизни, попытаемся разобраться, что не так с термоядерным синтезом, и в каком направлении можно искать нескончаемую дешевую энергию для человечества.
Читать дальше →
Total votes 10: ↑3 and ↓7-4
Comments21

Запускаем .NET на RISC-V и разрабатываем IoT приложение для Sipeed Lichee RV

Level of difficultyMedium
Reading time7 min
Views4.4K
.NET nanoFramework Weatherstation

До недавнего времени разрабатывать IoT приложения на C# можно было только для компьютеров построенных на архитектуре ARM или x86. Поддержка RISC-V процессоров для платформы .NET уже давно в стадии разработки. В начале этого года был представлен не официальный .NET 8.0 SDK, который уже сейчас вы сможете запустить на RISC-V процессоре под ОС Debian/Ubuntu. В качестве платформы запуска возьмем одноплатный компьютер Sipeed Lichee RV на RISC-V процессоре Allwinner D1 (ядро Alibaba/T-Head Xuantie C906 RISC-V). В первой части поста рассмотрим установку .NET 8.0 SDK на Sipeed Lichee RV. Во второй, запустим приложение для работы с контактами GPIO и датчиком BME280 для замера температуры, влажности и давления.
Читать дальше →
Total votes 21: ↑21 and ↓0+28
Comments14

Паттерн внедрение зависимостей в .NET nanoFramework для микроконтроллеров

Reading time11 min
Views4.2K
.NET nanoFramework Weatherstation

Сегодня сломаем привычный мир инженеров и разработчиков встраиваемых систем на микроконтроллерах. В .NET существует замечательный паттерн программирования, как внедрение зависимостей (Dependency injection, DI). Суть паттерна заключается в предоставление механизма, который позволяет сделать взаимодействующие в приложение объекты слабосвязанными. Эти объекты будут связаны между собой через абстракции, например, через интерфейсы, что делает всю систему более гибкой, более адаптируемой и расширяемой. Но когда ведется разработка для микроконтроллеров, все зависимости обычно жестко завязаны на используемых устройствах, и замена датчика иногда приводит к существенному переписыванию программного кода. Напишем приложение на .NET nanoFramework для микроконтроллера ESP32, используя паттерн DI с возможностью легкой замены датчиков и LCD экрана.
Читать дальше →
Total votes 8: ↑7 and ↓1+7
Comments12

Одноплатник MangoPi MQ-Quad в форм-факторе Raspberry Pi Zero W всего за $26.70

Reading time3 min
Views13K
MangoPi MQ-Quad

Стартап Widora Technology представил одноплатник MangoPi MQ-Quad в форм-факторе Raspberry Pi Zero W. Плата основана на процессоре Allwinner H616 максимальная частота 1.5 ГГц, в состав процессора входит 4-ядра Arm Cortex-A53, ARM Mali-T720 GPU, на плате распаяна память объемом 1GB DDR3L и разведен 40-контактный разъем GPIO совместимый с Raspberry Pi. Плата удивляет малыми габаритами и хорошо подходит для компактных систем, так же благодаря низкой стоимости идеально подходит для образовательных задач.
Читать дальше →
Total votes 8: ↑7 and ↓1+7
Comments15

Новый одноплатник StarFive VisionFive 2 на 4-х ядерном RISC-V процессоре всего за $46

Reading time3 min
Views12K
StarFive VisionFive 2

Совсем недавно программировали на Python и устанавливали Docker для Sipeed Lichee RV RISC-V. Модуль Lichee RV стал первым массовым дешевым решением на процессоре RISC-V с возможностью запуска Linux. Развитие архитектуры не стоит на месте, так компания StarFive, разработчик RISC-V процессоров, представила новый 4-х ядерный процессор RISC-V JH7110 с графическим ускорителем. Предыдущие процессоры, построенные на RISC-V ядрах, например Allwinner D1 (используется в модуле Sipeed Lichee RV), не содержат GPU, а значит, не позволяют запускать 3D приложения и игры. На новом одноплатном компьютере VisionFive 2 на процессоре RISC-V JH7110 с 3D GPU, размещено 8 ГБ ОЗУ, интерфейсы HDMI 2.0 и MIPI DSI, два порта Gigabit Ethernet, 4 порта USB 3.0/2.0, флэш-память QSPI для загрузчика, а также интерфейс eMMC для подключения флеш-памяти, порт M.2 NVMe SSD, и слот для microSD карт памяти.

Для самых ранних покупателей, доступна версия с 2 Гб ОЗУ всего за 46$ + доставка.
Читать дальше →
Total votes 11: ↑10 and ↓1+10
Comments15

Программирование на Python и установка Docker для Sipeed Lichee RV RISC-V

Reading time15 min
Views9.7K
Lichee RV

В первой части познакомились с процессором Allwinner D1 на RISC-V архитектуре, рассмотрели возможности, поработали с одноплатным компьютером Sipeed Lichee RV. Старый образ операционной системы содержал многие недоработки, которые не позволяли полностью оценить работу одноплатника. В продолжение рассмотрения Lichee RV, возьмем новый образ Ubuntu, построенный на последнем ядре Linux 5.19, окончательный выпуск которого ожидается в конце июля 2022 года. Поработаем с GPIO из Python`а и установим Docker. Теперь полноценно протестируем новый образ, проверим на что способна плата и начнем уже программировать на Python.
Читать дальше →
Total votes 17: ↑16 and ↓1+18
Comments6

Ультра скорость для C# кода, запуск .NET на FPGA процессоре с HASTLAYER

Reading time15 min
Views6.2K
Hastlayer .NET for FPGA

У многих FPGA или ПЛИС, ассоциируется с низкоуровневым программированием на языках VHDL, Verilog, или OpenCL. Платформа .NET уже давно захватила нишу микроконтроллеров, проект nanoFramework. Последние новости развития nanoFramework только доказывают твердость намерений платформы .NET освоить работу и на «железе». Казалось бы, пал последний бастион, где не было платформы .NET. Но это был далеко не последний рубеж. Как вам возможность писать код на C#, вместо хардкорного VHDL или Verilog, с последующей загрузки .NET сборок на FPGA процессоры Xilinx для непосредственного исполнения? Открытый проект Hastlayer преобразует сборки .NET в низкоуровневый код для FPGA процессоров, обеспечивая максимальный параллелизм и низкое энергопотребление.
Читать дальше →
Total votes 17: ↑14 and ↓3+13
Comments9

Что нового в .NET nanoFramework? Подключаем LCD экран, сканируем Wi-Fi сети

Reading time11 min
Views11K
nanoFramework LCD WIFI

Недавно платформа .NET nanoFramework для микроконтроллеров отметила свой юбилей. За 5 лет платформа превратилась из малоизвестного проекта в успешное коммерческое open-source решение. К инструментам разработчика добавили Visual Studio Code, теперь на Linux также можно программировать на C#, как и в Windows. Были переработаны nuget-пакеты, появилась коммерческая поддержка, обновлена документация. В практической части подключим OLED дисплей на контроллере SSD1306, немного доработаем драйвер под новую модификацию дисплея и отправим код в upstream, напишем небольшой сканер Wi-Fi сетей.
Читать дальше →
Total votes 17: ↑16 and ↓1+21
Comments37

Запускаем .NET nanoFramework на Raspberry Pi Pico

Reading time10 min
Views8.8K
image

Платформа .NET nanoFramework позволяет разрабатывать приложения на C# для различных микроконтроллеров. В предыдущей публикации работали с ESP32 и STM32. Одна из замечательных особенностей .NET nanoFramework заключается в возможности запускать среду исполнения поверх интерфейса POSIX в Win32 для Unit-тестирования. Это означает быструю возможность переноса среды nanoFramework Runtime на любую операционную систему поддерживаемую POSIX стандартом. Именно таким образом, в качестве эксперимента, .NET nanoFramework был перенесен на микроконтроллер Raspberry Pi Pico, для запуска поверх операционной системы реального времени (RTOS) Apache NuttX. Как это было реализовано прошу под кат.
Читать дальше →
Total votes 21: ↑20 and ↓1+21
Comments24

Присматриваемся к одноплатникам на RISC-V, обзор модуля Sipeed Lichee RV на процессоре Allwinner D1

Reading time20 min
Views26K
Sipeed Lichee RV

Одноплатные компьютеры на RISC-V процессоре сравнительно новое веяние. Поднебесная активно работает над снижением зависимости от западных информационных систем и технологий, именно поэтому новая открытая архитектура RISC-V одна из ключевых ставок Китая. Для продвижения в массы китайский чипмейкер Allwinner на базе ядра Alibaba/T-Head Xuantie C906 RISC-V разработал процессор Allwinner D1 и упрощенную модификацию Allwinner D1s. На сегодня разработано несколько одноплатников на RISC-V процессоре, и в первенство по массовости вырвалась компания Sipeed с модульным компьютером Система-на-Модуле Lichee RV с 512 Мб ОЗУ всего за $16.90, работающим на Linux. Разработчик может спроектировать несущую плату для данного модуля, добавив необходимые периферийные устройства и разъемы. В результате получится решение максимально подготовленное для себя. Данный модуль предназначен для создания интеллектуальных информационных систем, терминалов, роботов, и т.д. В первой части рассмотрим архитектуру процессора, возможности модуля, дистрибутивы, программное обеспечение. Во второй части детально рассмотрим порты и интерфейсы для программирования, напишем программы на Python и C#.
Читать дальше →
Total votes 31: ↑27 and ↓4+24
Comments37

Простая разработка IoT приложений на C# для Raspberry Pi и других одноплатников, на Linux

Reading time10 min
Views14K


Многие привыкли легко и просто программировать микроконтроллеры на платформе Arduino или nanoFramework (используется C#). Но как обстоит с разработкой IoT приложений на C# .NET для одноплатных компьютеров под Linux? В ответ услышите что нужно все устанавливать из командной строки, да и еще хорошо разбираться в Linux, там не так просто как с Arduino. Для настройки удаленной отладки необходимо выполнить множество различных действий, вручную настроить конфигурацию запуска, генерировать ключи доступа для пользователя, от имени которого будет запускать отладка, и т. д. Но теперь, благодаря расширению .NET FastIoT для Visual Studio Code, это не требуется делать. Черновую работу по установке необходимых пакетов и конфигурированию проекта для удаленной отладки сделает за вас расширение. Теперь вы можете полностью сфокусироваться на своем коде, не отвлекаясь на лишние задачи.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments7

Программируем микроконтроллеры ESP32 и STM32 на C# (nanoFramework)

Reading time31 min
Views53K
dotnet nanoFramework

.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С её помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудовании. В первой части мы познакомились с платформой .NET nanoFramework, её архитектурой, основными возможностями, посмотрели примеры программного кода. Теперь перейдем к практике, установим nanoFramework на микроконтроллеры серии ESP32 и STM32, напишем первый «Hello World!», поработаем с аппаратными интерфейсами, и оценим переносимость кода с «большого» .NET на платформу nanoFramework.
Читать дальше →
Total votes 29: ↑27 and ↓2+32
Comments120

Метеостанция на Banana Pi M64 (Linux, C#, Docker, RabbitMQ, AvaloniaUI)

Reading time37 min
Views12K
Weather station Banana Pi BPI-M64 Linux C# Docker RabbitMQ AvaloniaUI

Статей о создании метеостанции на базе Arduino не счесть. Можно сказать, если статья про метеостанцию, то это про микроконтроллеры Arduino, ESP32 или STM32. Но только не в этот раз. Будем запускать метеостанцию на Banana Pi BPI-M64 под Linux, без использования Arduino-подобных оберток в виде WiringPi, на C# .NET5. Пример метеостанции является демонстрацией встраиваемого решения работы с GPIO, датчиками и вывода пользовательского интерфейса напрямую на LCD. В решении используется: Linux (Armbian) — основная ОС, .NET и C# — платформа для создания прикладного ПО, AvaloniaUI — графической интерфейс с интерактивными графиками и анимацией, Docker — инструмент для развертывания, управления, доставки приложений, RabbitMQ — брокер сообщений для передачи сообщений между контейнерами. Благодаря использованию универсального подхода и технологии Docker, приложение можно запустить не только на Banana Pi BPI-M64, но и на других Banana/Orange/Rock/Nano Pi одноплатных компьютерах, включая Raspberry Pi.
Читать дальше →
Total votes 13: ↑12 and ↓1+18
Comments62

Безопасность встраиваемых систем Linux

Reading time24 min
Views16K
Embedded Linux security

Весь наш мир построен на противоположностях. Если вы создаете свое устройство и продаете его, то всегда найдется тот, кто захочет его взломать. Цели у злоумышленника буду самыми разными, от попыток сделать клон устройства (привет Китаю) до шантажа конечных потребителей, что весьма ухудшит вашу репутацию с точки зрения изготовления надежных устройств. И чем популярнее система на основе которой построено устройство, тем интереснее она злоумышленнику. В последнее время активно развивается сегмент одноплатных компьютеров, таких как Raspberry Pi, и множества других. Linux системы по распространенности использования во встраиваемых систем, вышли на первые места. Большая функциональность устройств, например наличие разных беспроводных интерфейсов коммуникаций, в совокупности с большими возможностями ОС Linux, привела к серьезной необходимости организации защиты устройства. Некоторые думают, что достаточно отключить учетную запись root и установить надежный пароль, но на самом деле это только малая часть того, что следует сделать. Какие технологии и концепции используются для снижения рисков и реализации более безопасного устройства работающего на Linux узнаете под катом.
Читать дальше →
Total votes 30: ↑29 and ↓1+40
Comments19

Превращаем одноплатник Cubietruck в Wi-Fi Hotspot с Captive portal, VPN-шлюзом и Ad block

Reading time18 min
Views20K
raspap

Для построения 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 прошу под кат.
Total votes 25: ↑23 and ↓2+31
Comments19

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

Reading time27 min
Views19K
dotnet libgpiod

Когда заходит речь про программирование на 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.
Total votes 26: ↑24 and ↓2+33
Comments10

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

Reading time8 min
Views9.7K
Cluster Server ARM

В предыдущей публикации рассматривались преимущества использование ARM серверов для хостинг провайдеров. В этом посте рассмотрим практические варианты создания кластерного сервера на ARM процессоре и протестируем инстанс Amazon EC2 T4g работающий на процессоре ARM AWS Graviton2, посмотрим на что он способен.
Читать дальше →
Total votes 22: ↑21 and ↓1+29
Comments4

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

Reading time13 min
Views26K


Если вам нужна была высокая производительность, то вам нужно было выбирать процессор на x86 для своих решений. В последнее время, все больше и больше говорят о закате архитектуры x86 и переходе на ARM. В прошлом году компания Apple впервые представила Mac на процессорах ARM. Но подойдет ли процессор ARM для дата-центров, сможет ли ARM навсегда отправить x86 на скамью запасных?
Читать дальше →
Total votes 31: ↑26 and ↓5+35
Comments54

Как взломать систему безопасности с помощью датчика температуры DHT11, а все произошло из-за птичек и вышек 5G

Reading time2 min
Views11K
фильм Робот 2.0

Кинематограф стал неотъемлемой частью нашей жизни. Сопереживая героям, мы словно проживаем вторую жизнь, смотрим на мир глазами героев, начинаем смотреть на некоторые вещи иначе. Иногда для упрощения или достижения некоторых сюжетных сцен режиссеры и сценаристы идут на допущения, которые в нашей жизни невозможны. Но во вселенной фильма нет ничего невозможного. Могли ли вы себе представить, что с помощью температурного датчика DH11, который подключается к Arduino, можно в легкую взломать систему безопасности? А вот во вселенной индийского фильма Робот 2.0 (2018 года) это возможно.
Читать дальше →
Total votes 12: ↑7 and ↓5+5
Comments29

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

Reading time14 min
Views23K
nanoframework

.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С ее помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудование.

.NET nanoFramework является малой версией «большого» .NET Framework предназначенного для настольных систем. Разработка приложений ведется на языке C# в среде разработки Visual Studio. Сама платформа является исполнительной средой .NET кода, это позволяет абстрагироваться от аппаратного обеспечения и дает возможность переносить программный код с одного микроконтроллера на другой, который тоже поддерживает .NET nanoFramework. Программный код на C# для настольных систем, без изменений или с небольшой адаптацией (необходимо помнить про малый объем оперативной памяти) исполнится на микроконтроллере. Благодаря этому, разработчики на .NET с минимальными знаниями в области микроэлектроники смогут разрабатывать различные устройства на .NET nanoFramework.
Читать дальше →
Total votes 35: ↑34 and ↓1+40
Comments54

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Date of birth
Registered
Activity