Обновить
3
0
Сергей@sketcompani

Пользователь

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели44K

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели322K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.3K

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

Читать далее

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

Время на прочтение10 мин
Охват и читатели120K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели37K

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

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

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

Читать далее

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

Время на прочтение4 мин
Охват и читатели8.2K

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели50K


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

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

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

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

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.3K


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

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

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

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

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

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели42K

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели79K
image

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

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

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели13K
Приветствую всех!

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



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

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

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели54K

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели3.8K

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

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели8.8K

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

Читать далее

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

Время на прочтение7 мин
Охват и читатели47K
Если вы менеджер и хотите, чтобы ваши лучшие разработчики выгорели и разуверились в вашей способности руководить – могу помочь. Мне довелось работать в двух командах, подверженных выгоранию, и молча смотреть, как окружающие меня талантливые программисты один за другим покидали команду или компанию.

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

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

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели5.5K

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

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

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

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

Практика Go — Concurrency

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели19K

Сборник реальных советов по написанию сопровождаемых программ на языке Go. Автор - Dave Cheney, опытный разработчик на Go и один из его ведущих пропагандистов.

Читать далее

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

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели5.1K

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

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

Открыть

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели10K

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

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

Читать далее

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

Время на прочтение14 мин
Охват и читатели37K

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

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность