Главная » Разработка встраиваемых систем
Работа с 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 узнаете под катом.
Читать далее »Управляем контактами 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.
Читать далее ».NET nanoFramework — платформа для разработки приложений на C# для микроконтроллеров
.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С ее помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудование. .NET nanoFramework является малой версией «большого» .NET Framework предназначенного для настольных систем. Разработка приложений ведется на языке C# в среде разработки Visual Studio. Сама платформа является исполнительной средой .NET кода, это позволяет абстрагироваться от аппаратного обеспечения и дает возможность переносить программный код с одного микроконтроллера на другой, который тоже поддерживает .NET nanoFramework. Программный код на C# для настольных систем, без изменений или с небольшой адаптацией (необходимо помнить про малый объем оперативной памяти) исполнится на микроконтроллере. Благодаря этому, разработчики на .NET с минимальными знаниями в области микроэлектроники смогут разрабатывать различные устройства на .NET nanoFramework.
Читать далее »Работа с 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.
Читать далее »Работа с GPIO в Linux на примере Banana Pi BPI-M64. Часть 3. Device Tree overlays. LED, ШИМ (PWM), КНОПКА
В предыдущей части работали с 1-Wire интерфейсом, подключали датчик DS18B20 для замера температуры. В этой публикации познакомимся как работать с устройством класса светодиод (LED), что такое ШИМ (PWM), подключим кнопки и ответим на вопрос, можно ли обойтись без стандартной клавиатуры на USB интерфейсе. Драйвера периферии LED, PWM, BUTTON входят в состав ядра Linux, поэтому данное руководство, так же подойдет владельцам других плат, включая Raspberry Pi. Все указанную периферию будем подключать к плате Banana Pi BPI-M64.
Читать далее »