Pull to refresh
4
0
Сергей @sketcompani

User

Send message

Кратко про протоколы взаимодействия в микроконтроллерах: SPI, IDC, UART, CAN

Level of difficultyEasy
Reading time10 min
Views26K

Привет, Хабр!

Утренний будильник, кофеварка, микроволновка, телевизор, кондиционер – все они оборудованы микроконтроллерами. Микроконтроллеры управляют функциями устройства, обеспечивая пользовательский интерфейс и взаимодействие с другими устройствами. Микрокотроллеры также используются в автомобилях, к примеру для контроля работы двигателя или системы ABS. А в медицине практически все оборудование работает на микроконтроллерах.

Протоколы в микроконтроллерах позволяют устройствам «понимать» друг друга и работать вместе, создавая общую систему. Протоколы определяют, как устройства подключаются, обмениваются данными, синхронизируют действия, управляют форматированием, временем и последовательностью сообщений между микроконтроллерами и другими компонентами в системах.

В этой статье рассмотрим такие протоколы взаимодействия как SPI, IDC, UART, CAN

Читать далее

Как я склеил картон и продал на маркетплейсах на 50 млн в год

Level of difficultyEasy
Reading time8 min
Views305K

В 2020-м мой работодатель начал прижимать меня по условиям, я забрал команду, снял склад и запустил свое производство когтеточек. Казалось бы, ничего сложного: закупаешь клей, картон, и находишь людей, которые 5 000 раз в день готовы повторять одни и ту же операцию. Но есть нюансы.

Читать далее

Рассчитываем рейтинг товара на основе оценок пользователей с KafkaStreams и OpenSearch

Level of difficultyMedium
Reading time14 min
Views5.1K

Всем привет! Меня зовут Александр. Последний год тружусь фрилансером на проекте по созданию очередного маркетплейса. Мои задачи включают разработку скоринговой системы продуктов, которая бы позволяла формировать выборку товаров по популярности на основе нескольких показателей. Одним из показателей являются оценки пользователей по шкале от 1 до 5. Думаю, что не станет открытием Америки то, что расчет рейтинга товара по среднему арифметическому всех оценок приводит к насовсем корректным результатам выборки. Например, при таком подходе товар "А" с одной оценкой 5 в рейтинге будет выше товара "Б", у которого сотня оценок 5 и одна оценка 4. Решение данной проблемы давно найдено - для расчета следует применить доверительный интервал биномиального распределения по методу Уилсона (Wilson Score Confidence Interval).

Читать далее

Домашний медиа сервер minidlna

Reading time10 min
Views98K

Так сложились обстоятельства, что мне удалось скоммуниздить старенький ПК, да и чтобы он просто не пылился, так как такое старье продавать за 5-7 тысяч (цена в моем регионе за подобную конфигурацию) мне стыдно, а получать за него 3 тысячи — ну такое. Я решил, сделаю дома небольшую библиотеку фильмов, музыки, да и у жены очень много фотографий, которые её очень дороги.

Читать далее

WebSocket в Go и причем тут горилла

Level of difficultyMedium
Reading time7 min
Views22K

Привет, Хабр!

WebSocket позволяет открыть интерактивный коммуникационный сеанс между пользовательским браузером и сервером. Здесь большое отличие от традиционного HTTP, который ограничен моделью запрос-ответ и не подходит для сценариев, требующих постоянного обмена данными

Go с помощью своей простоты и поддержкой конкурентности становится хорошим кандидатом для работы с WebSocket.

Читать далее

iKOOLCORE R2: 3-дюймовый мини-ПК с четырьмя 2.5 GbE Ethernet-портами. На что он способен?

Reading time4 min
Views7.1K

Вся линейка мини-ПК iKOOLCORE — крошечные устройства, они меньше, чем большинство других миниатюрных компьютеров сторонних производителей. Тем не менее разработчику этих девайсов удаётся обеспечить неплохую функциональность, что позволяет использовать их как в офисе, так и дома.

Недавно появилась новая модель, iKOOLCORE R2, и мы решили, что о ней стоит написать отдельно, что сегодня и делаем. Подробности, как всегда, под катом.

Читать далее

Графические оболочки FFmpeg

Level of difficultyEasy
Reading time6 min
Views40K


Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.

Но есть люди, которые всегда предпочтут GUI. Они считают графический интерфейс «наиболее эффективным и удобным способом работы на десктопе». На самом деле они во многом правы, в том числе для специфических задач видеообработки важно сразу видеть результат.

FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Читать дальше →

KC868-E16T: сбалансированное решение

Level of difficultyEasy
Reading time4 min
Views4.8K


Компания Kincony известна своим креативом и радует нас разнообразными контроллерами, но в своём творческом порыве часто создаёт весьма экзотические модели, в которых, например, есть огромное количество цифровых входов, но нет аналоговых или есть входы, но нет ни релейных, ни транзисторных выходов и т. д.

И вот, похоже, компании Kincony всё-таки удалось создать модель, которую можно назвать сбалансированной — в ней есть весь «джентльменский набор» входов, выходов и прочих составных частей DIY контроллера.

«Сбалансированность» важна не сама по себе, а для обеспечения применимости контроллера для реализации наибольшего количество проектов по «малой» автоматизации и похоже KC868-E16T как раз и является таким контроллером.

Далее мы подробно разберём его начинку и подтвердим или опровергнем это предположение.
Читать дальше →

ESP32 снимает показания водяных счетчиков и сам передает их «куда надо»

Level of difficultyEasy
Reading time7 min
Views38K

В сети сотни статей про использование ESP32 для съема показаний приборов учета, но практически все из них про интеграцию с «умным домом». Мой вариант реализации решает практическую задачу - просто сам передает показания, снимая с меня эту задачу.

Основное отличие моего решения, от тех что я видел, заключается в максимальной автономности и легкости контроля и управления. ESP32 самостоятельно общается с сайтом который принимает показания приборов учета посредством встроенного http клиента. Процесс контролируется и управляется встроенным в ESP32 telegram ботом.

Читать далее

Подключаем дисплей к любому одноплатнику с SPI: большой мануал о поиске экранчиков для ваших проектов

Level of difficultyMedium
Reading time14 min
Views49K
image

Сейчас появилось достаточно много различных дешевых одноплатников с очень достойными характеристиками, которые вполне можно назвать экономичными и портативными. Однако очень часто встает вопрос вывода изображения на дисплей: к сожалению, в подобные устройства обычно ставят урезанные версии чипсетов без видеовыхода на обычные матрицы. Конечно в них практически всегда есть HDMI, но это совершенно не выход для портативного устройства: прожорливый чип скалера будет очень негативно влиять на время работы от АКБ. Да и сами подобные дисплеи очень дорогие: почти 2.000 рублей за матрицу со скалером — это действительно бьет по карману. Сегодня я расскажу Вам о существующих протоколах для дисплеев, подскажу, как применить экранчики от старых навигаторов/мобильников и мы подключим с вами SPI-дисплей к одноплатнику без видеовыхода. Причем мы реализуем как просто библиотеку, которая позволяет выводить произвольную графику из ваших программ, так
и службу, которая будет напрямую копировать данные из фреймбуфера и преобразовывать в формат для нашего дисплея. Интересно? Тогда жду вас в статье!
Читать дальше →

Как запустить сотовую сеть стандарта AMPS при помощи SDR

Level of difficultyHard
Reading time12 min
Views11K
Приветствую всех!

Многие из нас всё ещё помнят такой стандарт связи как AMPS. В лучшие времена он, как и другой аналоговый стандарт NMT-450, был достаточно популярен на просторах России. И, возможно, у кого-то из нас даже был такой телефон.



Хотя сети общего пользования прекратили работу уже давным-давно, при помощи некоторого оборудования и софта всё ещё возможно дать старым телефонам возможность вновь зазвонить.
Итак, в сегодняшней статье разберёмся, как запустить сотовую сеть стандарта AMPS. Узнаем, с какими сложностями придётся столкнуться и как заставить всё это работать. Традиционно будет много интересного.
Читать дальше →

Умный дом на Raspberry Pi и Home Assistant: добавляем диммеры и реле Wiren Board

Level of difficultyEasy
Reading time10 min
Views38K

К нам обратился Петр из Минска, который решил рассказать о своем опыте сборки умного дома. Он выбрал популярную платформу Raspberry Pi и интегрировал домашние устройства в Home Assistant.

Но со светом возникли проблемы: Петр запланировал везде диммирование, причем диммеры должны работать, даже когда контроллер выключен. Здесь как раз подошли модули Wiren Board. Но как сделать так, чтобы эти модули заработали под Home Assistant?

Петр установил шлюз Modbus-Ethernet и написал на Python интеграцию модулей Wiren Board в Home Assistant.

Мы посетили умный дом Петра и спешим поделиться с читателями подробностями.

Читать далее

Flutter и работа с нативным кодом на примере библиотеки для работы с NFC

Level of difficultyEasy
Reading time3 min
Views3.2K

Как исправлять недочеты в нативных библиотеках при работе с флаттером на примере NFC

В большинстве случаев при работе с флаттером разработчику никак не приходится взаимодействовать с нативным кодом (Java/Kotlin и ObjectiveC/Swift), потому что инструментарий флаттера довольно богат. Но иногда возникают случаи, когда без этого не обойтись. Самым частым примером является работа с датчиками телефона.

Рассмотрим проблему: представим что вам нужно сделать чтение данных карты с NFC. Вы выбрали плагин, в нашем случае это был nfc_manager 3.1.0, который позволяет это делать, но на android из него не возвращается номер карты, который вам необходим. Что делать? С такой проблемой мы недавно столкнулись и сейчас расскажем как это решается.

Для решения данной проблемы нужно выполнить несколько шагов.

Во-первых необходимо скопировать код библиотеки к себе в проект. Должно получиться так:

Читать далее

Как написать новостной Телеграм-канал если ты не программист. Часть третья

Level of difficultyMedium
Reading time7 min
Views6.6K

Итак, мы подошли к финальной части ботостроительной трилогии. Наш бот уже умеет смотреть RSS-ленту Мотора, подгружать свежие новости, слать сообщения администратору бота, а также реализована вся логика работы с модерацией сообщений перед отправкой в канал и работой с ChatGPT. Осталась одна проблема - обновление ленты происходит единожды, при запуске скрипта. Исправим эту оплошность.

Читать далее

Доводим разработчика до выгорания: три простых шага

Reading time7 min
Views47K
Если вы менеджер и хотите, чтобы ваши лучшие разработчики выгорели и разуверились в вашей способности руководить – могу помочь. Мне довелось работать в двух командах, подверженных выгоранию, и молча смотреть, как окружающие меня талантливые программисты один за другим покидали команду или компанию.

В первом случае я был ведущим специалистом в стартапе на посевной стадии с финансированием, работал непосредственно под и совместно с руководителем. Во втором я был одним из рядовых разработчиков, работал в команде из одиннадцати человек в составе крупной технологической компании (уровня Meta, Google, Apple и т.д.). Вот пошаговое руководство из методички выгорания, по которой работали эти команды.
Читать дальше →

ShIoTiny5 — светодиоды, индикаторы и шкалы

Level of difficultyEasy
Reading time14 min
Views5K

Продолжаю публикации на тему системы визуального программирования микроконтроллеров - ShIoTiny5.

Пользователю всегда приятно, когда устройство не просто хорошо выполняет свою функцию, но и красиво отображает информацию о своём состоянии. Даже простое устройство становится привлекательным, если оно мигает светодиодами, имеет красивую шкалу и отображает свои показания в понятном виде на индикаторе.

О том, какие возможности реализованы в ShIoTiny5 для отображения информации на светодиодных индикаторах, рассказано в этой статье. Приведены примеры реализации устройств на базе модулей ESP8266 с прошивкой ShIoTiny5.

О светодиодах, индикаторах, шкалах.

Как два байта переслать: контрибьютим в KPHP

Level of difficultyEasy
Reading time14 min
Views4.6K

KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.

Наша задача - добавить в KPHP функции из PHP для работы с многобайтовыми строками. Добавляем фукнции мы в рантайм т.е. в С++ код, к которому имеет доступ код, транслированный из PHP.

Открыть

Учим ламу говорить на руcском

Level of difficultyEasy
Reading time5 min
Views8.1K

Тут я рассказывал как можно использовать магию низкорангового разложения (Low Rank Adaption) матриц для того что бы легко дообучать большие текстовые модели. Сейчас же я напишу свою реализацию LoRA используя PyTorch, переведу весь датасет alpaca-cleaned (на котором училась альпака - языковая модель родом из стенфорда) на русский язык, используя взломаный яндекс переводчик, и наконец "скормлю" его языковой модели, что бы она наконец смогла понимать русский язык.

Советую ознакомится с кратким теоретическим описанием происходящего (хотя вроде как такие просьбы не работют()

Читать далее

Как начинать проект на Go в 2023 году

Reading time14 min
Views25K

Когда-то я написал статью о том, как начинать проект на Go в 2018 году. С тех пор многое изменилось, и я захотел написать обновлённую версию статьи. В ней я расскажу всё, что нужно новичку, чтобы приступить к работе с Go.

Читать далее

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity