Pull to refresh
-15
0
Максим @evtomax

User

Send message

Мобильные экранчики в ваших проектах: большой и понятный о гайд о различных дисплеях

Level of difficultyMedium
Reading time18 min
Views22K
image


Пожалуй, немалая часть моих читателей так или иначе интересуется DIY-тематикой. И в различных самодельных девайсах порой есть необходимость вывести какую-либо информацию на дисплей, будь это текст, графики или даже какая-то анимация! Для разных задач существуют самые разные дисплеи и в сегодняшнем материале я хотел бы систематизировать и собрать подробнейший гайд об использовании дисплеев с нерабочих мобильных телефонов: какие бывают протоколы и шины данных, как читать схемы устройств и определять контроллеры дисплеев, какие дисплеи стандартизированы, а какие придётся реверсить самому и как быть с подсветкой. В практической части статьи мы подключим дисплей по протоколу MIPI DBI к RP2040 с использованием DMA. Интересно? Тогда добро пожаловать под кат!
Читать дальше →
Total votes 110: ↑108 and ↓2+106
Comments116

Вольтамперметр на базе ESP8266 с записью данных в лог и передачей их по сети Интернет

Level of difficultyEasy
Reading time2 min
Views21K

Сегодня мы с Вами соберём вольтамперметр на безе ESP8266, он оснащён модулями: INA226, модуль реального времени, цифровой датчик температуры, сенсорный экран, SD карта для сохранения логов, WI-FI модуль, контроллер для управления силовыми ключами.

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

На главной странице у нас отображаются данные: напряжение, сила тока, ватты, миллиампер в час, милливатт в час, текущая температура с цифрового датчика температуры и скорость вращения вентилятора.

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

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments51

Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT

Reading time8 min
Views78K

Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.

Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.

И бонусом затронем новую модель для качественного подробного описания фото.

UPD: Добавлена информация для запуска на Windows с ускорением на AMD.

Читать далее
Total votes 107: ↑105 and ↓2+103
Comments87

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views220K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 325: ↑324 and ↓1+323
Comments342

Сокровища HTML: 7 тегов, которые упростят вам жизнь

Level of difficultyEasy
Reading time7 min
Views21K

Все мы знакомы с широко используемыми HTML тегами, такими как <div>, <p>, <a>, и <img>. Однако, существуют HTML - теги, которые могут упростить жизнь, и вместо написания дополнительного кода, выполнят всю работу :)

Читать далее
Total votes 70: ↑65 and ↓5+60
Comments28

Шпаргалка с командами Docker

Reading time5 min
Views652K
Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.



Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments15

Xiaomi Mi Thermometer 2 не только Bluetooth, но и ZigBee

Level of difficultyMedium
Reading time4 min
Views72K

TL;DR: Да, можно программно изменить датчик для работы в сети Zigbee, достаточно по воздуху перезаписать прошивку.

Многим пользователям умного дома известен квадратный датчик температуры и влажности от Xiaomi LYWSD03MMC. Его очевидные плюсы — это LCD экран, подключение к системе умного дома MiHome и конечно же цена. Его без преувеличения можно назвать если не самым, то точно одним из самых дешевых "умных" датчиков, которые имеют интерфесы для подключения к умному дому. В данном случае это популярный bluetooth, который позволяет подключиться к датчику со смартфона и увидеть показания. Поэтому он завоевал своё место в сердцах строителей умных домов как дешевое и надёжное решение.

Читать далее
Total votes 91: ↑91 and ↓0+91
Comments152

Приключения ржавого 1602 (HD44780 A00)

Level of difficultyEasy
Reading time7 min
Views8.2K

Как то выдрал из старого принтера HP экранчик, и решил вспомнить былые времена примитивных поделок с символьными экранчиками. Получилось добавить printf, вывести русские символы и мерцающий растр. А так же дополнил программу кодом для дисплеев WH1602, которые использовал раньше.

код
Total votes 24: ↑23 and ↓1+22
Comments3

Освобождение робота-пылесоса, который стал моим другом

Level of difficultyEasy
Reading time8 min
Views26K
Немного доп. оборудования, несколько команд Linux и вуаля! Пылесос свободен! Фото Cath Virginia / The Verge

В целом роботы-пылесосы мне нравятся. Для меня это эдакий небольшой друг, который чистит за меня пол. Просто фантастика. Но, к сожалению, есть одна проблема — я им не доверяю. Эти девайсы постоянно отправляют отчёты на серверы, что может представлять угрозу для безопасности и тайны личной жизни. Мне такое не по духу, и я подумал, что кто-то уже должен был хакнуть эту схему. После недолгих поисков в интернете я понял, что прав. Мне попался проект Valetudo, нацеленный на освобождение роботов-пылесосов от связи с облаком.
Читать дальше →
Total votes 115: ↑114 and ↓1+113
Comments44

Старый софт, LPT и современное железо

Reading time23 min
Views15K

В своей прошлой статье я не был полностью честен. Перед тем, как получить рабочее устройство, я много раз проверял как мой код работает, перезаписывая его на многоразовую флеш AT28С64. И с самого начала знал что отлаживаться придется на железе, а потому встал вопрос программатора параллельных EEPROM.

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

Однако, у отца оказался программатор Omega. На самом деле это не совсем программатор, это базовый блок на основе которого, теоретически, можно собрать множество разных устройств используя разные адаптеры, но один из адаптеров (имеющихся в наличии) — это универсальный программатор Orange. Все это разработки cnc‑lab.com, там же можно найти описание этого железа http://cnc‑lab.com/omega.htm . Но есть одна небольшая загвоздка: у меня современные компьютеры с Windows 10 и Windows 11, а этот программатор использует LPT. И нужно было как‑то из этой ситуации выходить.

Эта статья о том, как можно заставить работать на новом компьтере старый софт и старое железо, рассчитанные на связь через LPT, при этом не прибегая к изменению ни оригинальных исполняемых файлов, ни схемотехники устройства.

Читать далее
Total votes 65: ↑64 and ↓1+63
Comments33

Почему за нарушение NDA чаще всего ничего не будет: в чём проблема большинства компаний

Level of difficultyEasy
Reading time4 min
Views9.4K

Привет! Я Наталья Новикова, юрист по договорам, автор книг в жанре фантастики и приключений.

Когда ИП-шки или юрлица просят меня составить NDA (соглашение о неразглашении коммерческой тайны), я сразу говорю: оно у вас не будет работать, не тратьте деньги.

Ну потому что это нужно создать целую систему, при которой можно реально отсудить у работника пару сотен тысяч рублей за слив информации. Это долго и требует постоянного внимания. Но почему-то у нас принято думать, что если сотрудник подписал пять листочков "Соглашения NDA", где написан штраф 1 000 000 рублей за разглашение любой секретной информации, то компания может спать спокойно: теперь за любой слив базы или отчёта о прибыли конкурентам она поимеет денег с того, кто их слил.

А для того, чтобы получить эти денежки, нужно дойти до суда. А в суде пять листочков NDA не прокатят. Там зададут вопросы.

И ответов у компании, скорее всего, не будет.

Узнать, что дальше
Total votes 34: ↑27 and ↓7+20
Comments55

Пишем Python-макрос для FreeCAD

Level of difficultyMedium
Reading time10 min
Views5.9K

В этой статье мы напишем макрос для FreeCAD, который из N+1 цилиндров создаёт симметричный барабан с N отверстиями, разберемся с азами модуля FreeCAD в Python, а ещё изучим теорию сдвига и вращения фигур в пространстве.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments10

I2C датчик INA219 + Python + Repka Pi: измеряем ток, напряжение и мощность во встраиваемых системах управления

Level of difficultyMedium
Reading time31 min
Views9.6K

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

Результаты контроля можно передавать, например, на пульт управления или использовать как‑то еще. Когда заряд аккумуляторов подходит к концу, можно отключить какие‑нибудь устройства с целью экономии энергии или инициировать зарядку аккумуляторов вашего устройства. Если в устройстве есть сервоприводы, можно контролировать потребляемую ими мощность, а при перегрузке отключать все сервоприводы или некоторые из них.

В этой статье мы расскажем об использовании для контроля напряжения, тока и мощности недорогого модуля GY-219 с интерфейсом I2C и чипом INA219. Вы сможете подключить его практически к любому микрокомпьютеру, где есть такой интерфейс.

В статье будет описано подключение GY-219 к отечественному микрокомпьютеру Repka PI, однако все будет работать и с Raspberry Pi. В интернете вы найдете руководства, как подключить GY-219 к любому другому микрокомпьютеру или микроконтроллеру с интерфейсом I2C.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments22

Программируем и отлаживаем STM32 через USB Type-C порт, не нарушая спецификации USB

Level of difficultyEasy
Reading time2 min
Views15K

USB Type-C - действительно универсальный порт.

В данной статье я расскажу о том, как использую Type-C для отладки устройств на STM32. По каким линиям проведен интерфейс SWD, чтобы не нарушить спецификацию USB и сохранить совместимость со всеми устройствами, как сделать свой программатор, и в чем плюсы и минусы этого решения под катом.

Читать далее
Total votes 37: ↑37 and ↓0+37
Comments18

Пишем свой QTableView с нуля

Level of difficultyHard
Reading time6 min
Views11K

Итак жил был фреймворк Qt и последние 10 лет ничего в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов (по горизонтали) в одной строке. Ещё ему хотелось растягивать одну из ячеек по ширине двух других.

Искал, искал чел готовый пример в интернете и не находил. И вот однажды подумал он посмотреть как сделан внутри сам QTableView и стало плохо ему от количества строк кода, не одна тысяча там.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments55

Создаем проект STM32 C++ FreeRTOS в vscode для очень маленьких

Level of difficultyEasy
Reading time4 min
Views10K

Жил себе спокойно, писал кодик в Keil и не парился. Писал изначально на СИ, но кода становилось все больше, а я все ленивее, перешел на С++ и ARM Compiler V6,19. Но пришел к тому что простых прерываний в таймере стало не достаточно, даже можно сказать не правильный подход. Задался желанием подключить какую-нибудь ОС. Выбор пал на FreeRTOS. Довольный, скачиваю операционку, подтягиваю файлы к проекту на плюсах, и получаю кучу ошибок. Попытка их устранить не увенчалась успехом. Вспомнил что есть CubeMX и там можно сгенерировать проект с уже подключенным freertoos. Проверил, 5-ым компилятором и языком СИ, проект отлично собирается, но как только переименовываем main.c в .cpp и выбираем компилятор 6,19, получаем кучу ошибок на ядро ОС, на определение inline и т.п. Так я и не смог подружить подружить ОС и C++ в Keil. Пришлось заменить среду разработки, изначально выбор пал на CubeIDE, все отлично дружится и собирается, но в душе оставались сомнения. В итоге финальным выбором стал vscode, далее опишу как создать проект именно в нем.

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

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments4

Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia? Сам себе экосистема ч.2

Level of difficultyMedium
Reading time16 min
Views16K
image

Windows Phone… услышав название этой мобильной системы, поневоле начинаешь с теплотой вспоминать своего недавнего, такого необычного мобильного друга, как будто прошло всего пару месяцев с момента смены смартфона на iPhone/Android. А ведь с момента фактической смерти Windows Phone прошло уже почти 10 лет! Увы, время вспять уже не повернуть, а мобильное подразделение Nokia не спасти, однако при наличии навыков разработки мобильных приложений, большом энтузиазме и фанатизме, есть шанс вернуть жизнь своему старому другу! Недавно я снова загорелся диким энтузиазмом и смог вернуть жизнь старенькой «люмии», написав собственные клиенты нужных мне сервисов с нуля — и готов поделиться этим с вами во всех подробностях!

Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно? Тогда добро пожаловать в статью!
Читать дальше →
Total votes 81: ↑79 and ↓2+77
Comments74

Книги по C++, которые можно рекомендовать разработчикам в 2023 году

Reading time4 min
Views38K

Продолжаем публиковать подборки хороших книг. В этот раз расскажем об актуальных и в 2023 году книгах, которые пригодятся как начинающим разработчикам, так и их опытным коллегам. Если у вас есть собственные предпочтения, поделитесь, пожалуйста, в комментариях.

Читать далее
Total votes 21: ↑16 and ↓5+11
Comments39

Автоматизация бурления: ChipArp

Level of difficultyMedium
Reading time12 min
Views3.6K

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

Как ни странно, несмотря на многократно выросшую с тех пор мощность современных компьютеров и синтезаторов, в современном музыкальном ПО этот классический приём стал менее доступен, чем раньше. Расскажу о том, почему так вышло, а также о своём довольно старом проекте (2017 год), в котором я попытался решить эту проблему, и почему это не очень-то получилось, хотя и получилось.
Читать дальше →
Total votes 69: ↑69 and ↓0+69
Comments7

Видеокарта VGA для микроконтроллера

Level of difficultyMedium
Reading time17 min
Views14K
image

Иногда, при разработке устройств на микроконтроллерах, возникает потребность в выводе на дисплей большого количества информации или же в выводе информации на крупный дисплей для возможности ее считывания с большого расстояния. К сожалению, готовых решений этой проблемы нет, а те что есть – весьма дороги. Например, графические ЖК-дисплеи с возможностью подключения к микроконтроллеру обычно имеют диагональ не более нескольких дюймов и достаточно существенную цену (причем, даже монохромные, о цветных вообще можно не говорить).

В то же время есть огромный парк старых ЖК мониторов. Модели с диагональю 15-19 дюймов можно приобрести в рабочем состоянии за 200 – 500 руб. Особенно это касается моделей с немодным сейчас соотношением сторон 4:3. Эти модели достаточно надежные. Лампы CCFL, используемые для подсветки, конечно, теряют яркость за годы эксплуатации и их спектр свечения уходит в неприятный красноватый оттенок, но благодаря большому количеству таких мониторов всегда есть возможность выбрать более-менее живой экземпляр. Кроме того, лампы CCFL относительно несложно заменить обычной светодиодной лентой, подключив ее напрямую к источнику питания 12 В монитора. Однако при этом обычно необходимо заблокировать цепи обратной связи от микросхемы управления подсветкой к контроллеру самого монитора, иначе монитор будет думать что подсветка неисправна и просто выключится. Также придется пожертвовать функцией регулировки яркости. Однако, этой функцией мало кто пользуется. Обычно яркость монитора настраивается один раз в жизни, сразу после его покупки и потом никогда не меняется.
Читать дальше →
Total votes 69: ↑68 and ↓1+67
Comments76

Information

Rating
4,345-th
Location
Брянская обл., Россия
Date of birth
Registered
Activity