
В третьей части публикации, посвященной работе с BLE на андроиде, мы научимся связываться с нашими гаджетами и управлять ими. Для этого мы будем читать и записывать данные сервисов, имеющихся на наших устройствах.
болтун
В третьей части публикации, посвященной работе с BLE на андроиде, мы научимся связываться с нашими гаджетами и управлять ими. Для этого мы будем читать и записывать данные сервисов, имеющихся на наших устройствах.
Здравствуйте все! ✋
При первой же попытке подключить экран ILI9341 по SPI к MIK32 АМУР выявил пару проблем, одна касается библиотеки HAL от Микрона, а вторая касается платы ELBEAR ACE-UNO ревизии 1.0.1 от ELRON.
Для начала поясню, я использую свой Makefile и работаю в VSCode, есть возможность работать с PlatformIO но я ей не пользуюсь. Прошиваю МК через COM-порт, для этого использую бутлоадер и загрузчик от elron.tech.
Для запуска экрана я взял библиотеку которую использовал ранее для работы с МК от Миландр К1986ВК025 (ОКР «Счетчик М»), заменил внутренности функций SPI_Master_Init, SPI_SendData и т.д., взяв их из примера который находится в репозитории Микрона - HAL_SPI_Master.
В их примере идёт передача 20 байт с одновременным приёмом, мне же необходимо передавать побайтово. В этом моменте как раз и появляется ошибка, с которой пришлось немного повозиться. В функции HAL_SPI_Exchange есть метка error, посмотрите пример ниже:
Увидев видео про эту плату, я подумал, что она по сути может быть полноценной медиа приставкой, файлопомойкой и торрентокачалкой одновременно и при этом занимать место размером с маленькую книгу формата А5 и кушать 5 ватт в простое, работая 24/7. Вкусно!
На самом деле несмотря на маркетинг, нормальная комплектация стоит порядка 175 долларов (а не 100, плюс доставка и растаможка) и диски, естественно не входят в эту цену. Речь идёт про плату CM3588 на базе системы на чипе RK3588. Маркетинговая страничка, спецификация, вики. Комплектов на алике очень много вариантов (с корпусами и всякими доп. железками) - выбирайте очень аккуратно.
Изначально мне казалось будет приключение на 20 минут, но в итоге пришлось чуть повозиться и не всё получилось. В этой статье я расскажу, что именно получилось сделать с этой платой, а что не получилось и какие-то минимальные результаты тестирования прошивок от производителя, дисков и копирования файлов по сети.
Привет! В своей работе я регулярно внедряю различные решения на кластере Kubernetes. Для тестирования проектов очень важно иметь тестовую среду, которая была бы недорогой, проста в обслуживании и, при необходимости, могла поддерживать не слишком нагруженные приложения в продакшене.
Самый простой способ - это использовать виртуальные машины или различные контейнерные решения (как, например, Minikube), однако мне не нравится такой подход из-за ограничений виртуализации и ресурсов. Я стремлюсь создать кластер, который можно использовать в реальном бизнесе и который обеспечит надежность в случае сбоев.
Идеальным и бюджетным решением являются микрокомпьютеры на базе архитектуры ARM, например Orange Pi 3 LTS. Я слышал о российских аналогах, таких как Repka Pi, но пока не имел опыта работы с ними, а Raspberry Pi, хоть и обладает множеством модулей, но является дороговатым вариантом. Orange Pi 3 LTS компактный, достаточно мощный и поставляется с образом OC Debian 11. Это устройство оснащено 4 ядрами, 2 ГБ оперативной памяти и процессором с тактовой частотой 1,8 ГГц. Стоимость этого устройства, на момент написания статьи, весьма демократичная - около 4000 ₽.
В прошлой статье я рассказал об моем проекте - сделать на горнолыжном склоне разметку спортивной слаломной трассы с помощью световых меток от узкосфокусированных фонарей. В отличии от настоящих вешек, световое пятно световешки безопасней, в них нельзя врезаться новичку. Это позволяет ставить трассу на любых склонах где катаются и обычные отдыхающие. Сейчас световешки за счет гибко-жесткого крепежа настраиваются в момент установки. И для перестройки трассы необходимо их хоть и не пересверливать, но все равно в ручную устанавливать. Я решил сделать электропривод фонаря, что бы удаленно менять направления луча и быстро перемещать метки, делая трассу проще или сложнее. В прошлой статье попросил Хабр-сообщество помочь написать приложения для мобильного телефона для управления приводами фонарей. К сожалению помощников так и не нашлось, и потому пришлось и далее все делать самому. В общем, что из этого вышло, текущее состояние и общее направление развития проекта в новой статье.
Gowin has clear advantages over Xilinx in the educational FPGA board market: Gowin boards are several times less expensive, the synthesis speed is several times faster, and the EDA package is two orders of magnitude smaller: we are talking about 1G versus 100G disk space. Of course, Xilinx is still the king of high-end prototyping boards that cost $10K-100K, but for the students such boards are irrelevant; such boards are for ASIC design companies. A beginning EE student needs a board for less than $100, and Gowin not only fits the bill but also covers all the needs, specifically:
В последнее время коллеги по "цеху" независимо друг от друга стали спрашивать меня: как получить c одного SDR-приемника одновременно все каналы Bluetooth? Полоса ведь позволяет, есть SDR с выходной полосой 80 МГц и более. Можно, конечно, сделать это на ПЛИС, но время такой разработки будет довольно большим. Мне давно было известно, что сделать такое на GPU довольно просто, но чтобы так!
В этой статье я бы хотел рассказать о том, как можно управлять умным домом и всеми устройствами (не только Zigbee) в Home Assistant даже без подключения к интернету.
Скачиваем образ дистрибутива Arch Linux
Утилиты для записи образа на флеш-накопитель:
Руководство на Habr как записать образ на флеш-накопитель с помощью Ventoy
Видео на YouTube по использованию Ventoy
В статье предпринята попытка разобраться в содержимое startup файла микроконтроллера STM32F4, построенного на базе ядра Arm Cortex M4. Для запуска ядра используется ассемблерный код, который и предстоит изучить. Для лучшего понимания материала необходимо иметь представление об архитектуре ядра Cortex M4. Сразу отмечу, что замечания и уточнения приветствуются, т. к. они позволят дополнить представленную информацию.
Wch-link является программатором для ARM, RISC-V микроконтроллеров. По возможностям это аналог St-link, JLink и прочих. По сравнению с st-link он поддерживает контроллеры не только фирмы STM. А по сравнению с JLink стоит намного дешевле и не имеет проблем с лицензиями, которые могут встречаться у дешевых клонов JLink. Также плюсом идет поддержка набирающих популярность контроллеров от китайской компании WCH.
Есть несколько вариантов этого отладчика, я буду говорить о версии Wch-linkE rev 1.3.
Мы занимаемся сбором данных с ИПУ в многоквартирных домах. Наше предпочтение - проводное подключение. Обычно мы подключаем одинаковые типы счетчиков в один канал - Вода, Газ, Электричество.
Однажды к нам перешел дом, на котором в качестве счетчиков электричества стояли "Меркурий 203.2ТL". Особенность этих счетчиков в том, что они используют в качестве интерфейса опроса - CAN шину. И тут важно уточнить, что именно только CAN шину, ничего более от CAN там нет. То есть, если вы купите преобразователь Ethernet<->CAN по типу USR-CANET200
- работать у вас ничего не будет. Причина в том, что подобные преобразователи используют кадры CAN для общения между устройствами, но разработчики счетчиков "Меркурий 203.2ТL" вертели на своем вертеле все это и просто поставили внутри драйвер CAN<->UART.
Преобразователей, способных просто работать в чистом виде по CAN, не так уж и много.
Скажу честно, мы не любим зависимости, поэтому пошли своим путем. Была приобретена Orangepi Zero, USB<>SerialTTL, TTL<>CAN. Все это было слеплено вместе в один преобразователь Ethernet<>CAN. Сразу скажу, что мы пробовали несколько разных драйверов CAN и на практике они оказались довольно капризными, мы пришли к выводу, что лучше использовать драйвер VD230 с UsbSerialTTL-CH340G.
Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino Nano. Хотелось быстро отделаться проверить работу самой платы при помощи ардуиновской библиотеки SPI.h – не получилось. В результате проделанный объём работы вылился в эту заметку.