Обновить
104
0
Новак Сергей@SergeyNovak

C, C++, Linux, ARM.

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

Разбираем планшет на колёсах: установка SIM-карты на Lixiang L7 (рестайлинг 2024)

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

Автомобили несколько лет назад начали переход на новый уровень. Теперь современный автомобиль — это гаджет, который должен быть всегда на связи. Если по ошибке остались открытыми окна, то машина уведомит об этом через приложение, но не возьмёт на себя наглость закрыть без разрешения владельца намеренно оставленные для вентиляции в жару щели в окнах. Нужно, чтобы нагрелся или охладился салон, пока владельцу ещё идти пешком несколько кварталов? Пожалуйста. Если хочется увидеть, что происходит вокруг машины, то через приложение можно увидеть изображение с камер. Кто-то нарушил границы и ходит вокруг машины? Сработает охранник, запишет со всех камер, откуда пришёл и что делал. Можно посмотреть в реальном времени, насколько заряжена батарея и сколько топлива осталось. Используя приложение, можно предоставить доступ удалённо, чтобы другой человек мог воспользоваться автомобилем, когда вы находитесь даже в другой стране. К хорошему очень быстро привыкаешь. Все эти мелочи очень быстро становятся обыденностью, и без них почему-то чувствуешь себя дискомфортно. Они не нужны, пока к ним не привыкнешь, но если их нет, то очень не хватает.

Режим удержания в полосе на Lixiang
Режим удержания в полосе на Lixiang

И сегодня речь пойдёт об одном из качественных, популярных, исследованных вдоль и поперёк китайских авто Lixiang, которые разлетаются как горячие пирожки на примере модели L7 Ultra. Проблема с этими китайскими машинами заключается в том, что китайские производители ориентированы лишь на внутренний рынок в 1.2 миллиарда человек и практически не ориентируются на экспорт. Замена SIM-карты, которая обеспечивает выход в сеть, не предусмотрена совсем: производитель тупо запаял SIM-карту в виде микросхемы прямо в блок телематики (TCU). Чтобы её заменить, нужно отключить эту микросхему от питания и подпаять хвост со слотом для симок, который будет легко доступен. Как это сделать сегодня, я расскажу в подробностях.
Устанавливаем SIM-карту в Lixiang и получаем доступ к ADB-порту

Подключаем AI к LibreOffice: плагин localwriter

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

Прошло всего несколько лет с момента взрыва популярности нейросетей, и уже практически невозможно найти профессию, связанную с работой за компьютером, которая не использовала бы AI для ускорения работы или улучшения её качества. Эта революция повлияла на всех, включая самых маленьких детей. Но, наигравшись с надиктовыванием указаний телефону и написанием запросов в браузере, хочется большего. И мы начинаем искать способы внедрить AI в программы, в которых работаем ежедневно. Программисты дают указания для написания кода через GitHub Copilot прямо из родной среды программирования. Появились плагины для MS Office, которые позволяют подключить AI. Но есть некоторые нюансы. Основная проблема этих плагинов не в том, что они стоят денег, а в том, что они отправляют почти все данные, с которыми вы работаете, на серверы провайдеров AI-услуг. По условиям использования провайдеры AI-сервисов открыто заявляют «Не отправляйте нам приватные данные, мы будем делать с ними, что захотим, включая передачу третьим лицам». И это полностью закрывает путь к использованию подобных сервисов там, где данные хоть сколько-нибудь чувствительны к утечке.
Как запустить локально AI-модель и установить плагин в LibreOffice для работы с нейросетью

Сборка проектов Си и Си++: от простого к сложному. Часть II. Сборщики

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

Продолжаю тему о сборке проектов на Си и Си++, первая часть которой размещена здесь.

Рецепты сборки по правилам хорошего тона должны поставляться с проектом и очень желательно, чтобы они не были привязаны к конкретной ОС или хотя бы к конкретному дистрибутиву Linux, используя специфические команды вроде apt-get, yum, emerge. Если это небольшой пет-проект выходного дня, то, конечно, в качестве рецепта сгодится и bash-скрипт. Пользователи адаптируют. Но если к проекту подключаются другие разработчики, то лучше потратить время на автоматизацию сборки, чтобы не терять его оптом в будущем. В этой части речь пойдёт об инструментах, которые используются для автоматизации процесса сборки программного обеспечения.
Читать дальше →

Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки

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

Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы.

Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы.
Читать дальше →

FreeRTOS для самых маленьких на примере ESP-IDF

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

Все мы знаем, что FreeRTOS — это операционная система для проектов, где каждой задаче установлены строгие рамки времени, чтобы любое действие было гарантированно обработано. На этом познания об этой системе у большинства айтишников заканчиваются, по той простой причине, что 99% из нас не собираются никогда в жизни разрабатывать ничего наподобие софта тормозной системы автомобиля или медицинского оборудования. Но я бы хотел сегодня немного рассказать об этой системе, потому как она вполне может пригодиться многим из нас по другим причинам. Ведь FreeRTOS вполне может оказаться отличным следующим шагом для саморазвития после Arduino, потому как поддерживает невероятное количество процессоров и при разрастании проекта немногим сложнее «Hello World» её использование будет проще для написания кода за счёт своей продуманной архитектуры. Её можно использовать на микроконтроллерах, с которыми многие уже привыкли работать в своих проектах выходного дня и которые обходятся в смешные деньги, например AVR, ESP32 и STM32. Сегодня я покажу, насколько просто использовать преимущества FreeRTOS на примере контроллера ESP32 и фреймворка от производителя Espressif — ESP-IDF, для своей линейки микроконтроллеров.
Читать дальше →

Радиоэфир без регистрации и СМС

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

Пост для тех, кто любит радиосвязь, но не радиолюбитель с позывным

Меня всегда привлекали рации. В детстве в девяностых покупка для меня была недоступной, а радиокружок, который я посещал, был совсем другого уровня. Мы паяли платы уровня мультивибратора, симулятора звука шарика от пинг-понга и канарейки. Поэтому единственной доступной нам удалённой связью во дворе была размотанная проволока из трансформатора со спичечными коробочками на концах в качестве микрофона и динамика (пластиковые стаканчики тогда ещё не получили распространение, были только гранёные). Работало метров на 30.

В старшем возрасте я понял, что могу позволить завалить себя радейками и время от времени покупал различные недорогие модели, которые выбирал лишь по цене и внешнему виду. Но на удивление связать серенькие радиостанции с фиолетовыми или чёрными не получалось, даже если выбрать один и тот же номер канала. Пришлось разбираться, и всё оказалось куда сложнее, чем просто выбрать переключателем номер канала и нажать кнопку PTT (Push-To-Talk). Ну и осложнилось всё задачей не получить по шапке за эфир на частотах, где не следует этого делать. Для прояснения ситуации для начинающих и создан этот пост.
Читать дальше →

Точка доступа Wi-Fi из камеры видеонаблюдения на OpenIPC

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


Пару десятков лет назад меня впечатлила новость, что какая-то корпорация смогла использовать настолько крутые технологии, что впихнули веб-сервер в коннектор RJ45. Для чего это нужно было уже и не вспомню, но сейчас, ковыряясь со своими камерами видеонаблюдения, меня осенила мысль, что плата камеры 38x38 мм не намного больше. Веб-сервер на ней и так есть. Это уже бытовуха. Скукота-скукотища. А вот сделать из ненужной камеры Wi-Fi-точку доступа — тут уже и польза будет. Вместо того, чтобы бороться одним роутером за дальность сигнала, можно просто использовать ещё один, чтобы «вафля» подключалась в самых недосягаемых уголках дома, таких как подвал или шубохранилище. Подобные устройства продаются совсем недорого. Но если имеется плата камеры с мусорки, то мы можем получить на халяву такой гаджет и в нагрузку получить бесценный опыт по тюнингу и сборке OpenIPC. Да и по сути, цель поста — не получение девайса ради экономии трёх копеек, а использование примера для понимания, как может быть полезна OpenIPC. Возможно, вы хотите собрать для одного из своих проектов камеру, которая в дополнение работает как Wi-Fi-точка доступа. Возможно, ещё миллион идей вас посетят в процессе чтения.
Читать дальше →

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

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


Многие уже слышали о проекте OpenIPC, который представляет собой альтернативную универсальную прошивку для камер видеонаблюдения. Сегодняшний пост для тех, кто хочет попробовать этот софт, кто дружит с Linux, но далёк от программатора, паяльника, фена и многих подобных вещей, которые, как правило, сопровождают смену прошивки и путь обратно к заводской. Ведь многие боятся, что залив новую прошивку, она не заработает, а дороги к родной уже не будет. И эти опасения вполне оправданы, потому как на большинстве плат производители всеми средствами ограничивают возможности создания бэкапов. С каждой новой версией это становится сделать всё сложнее. Ещё такой вариант загрузки будет удобен администраторам, кому требуется обслуживать огромное количество одинаковых камер, ведь одно изменение в директории обновит сразу все камеры.

Из дополнительных железок нам понадобится мультиметр, USB UART-адаптер на 3.3 вольта и dupont-проводки от макетной платы, чтобы подключиться к камере. Сегодня будем настраивать загрузку OpenIPC на камере с сервера вместо классической загрузки с микросхемы флэш-памяти. Если понравится, можно даже оставить работать камеру таким образом навсегда.

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

Смарт-избушка на курьих ножках без электросетей

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

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

Поэтому был выработан план:

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

Зачем на камере и видеорегистраторе нужен криптоблок и как его восстановить

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


Представьте себе ситуацию, когда на камере наблюдения испортилась флэшка с прошивкой, и камера нуждается в ремонте. Берём копеечную флэшку и меняем, а прошивку скопируем с точно такой же камеры. Пять минут рекламы, и теперь камера работает и показывает видеопоток вновь. Но есть нюанс. Дело в том, что она теперь является полной копией камеры-донора прошивки. Это и ежу понятно, они же и были одинаковыми — возразите вы. Были одинаковыми всем, кроме таких настроек, как MAC-адрес и идентификатор в облаке, куда камера сливает свой видеопоток. А теперь они совсем близнецы.

Когда распространились камеры с облачным доступом, массово решились такие проблемы, как доступ к камере без внешнего IP-адреса или с динамическим адресом. Теперь стало ненужным использовать проброс портов на роутере, VPN, динамический DNS, требующие целой инфраструктуры для доступа к камере. Запускай себе приложение, и оно получит доступ к видеопотоку или к архиву через облако. Производители камер в то время пробовали различные варианты, которые часто заканчивались печальными результатами, как с камерами Foscam, связанные с тем, что производитель выбрал путь простоты и дешевизны, а пользователи за него проголосовали рублём. Камеры становились легкодоступными, дешёвыми и, в конце концов, собой просто заполонили весь мир, проникнув в магазины, детские сады, зоопарки, аэропорты, бары, подъезды, офисы, входы, выходы, проходы, пароходы и даже в спальни с туалетами. В крупнейшем каталоге камер insecam.org тогда были сотни тысяч камер со всего мира.
Что такое криптоблок в прошивке, зачем он нужен и как его заменить

Одноплатный компьютер из камеры видеонаблюдения. Создаём WiFi-мобиль. Часть I

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


Я уже рассказывал про то, как из телевизионной приставки можно сделать одноплатный компьютер (SBC — single board computer). Если же у вас завалялась ненужная или разбитая камера видеонаблюдения, не спешите её выбрасывать. Я покажу, как её можно использовать, даже если на ней не работают какие-либо функции вроде звука, изображения и т. п. Сегодня нас камера интересует только как SBC. Расскажу, как найти куда подпаять нагрузку, какую нагрузку можно подключить к камере и какими способами можно ею управлять.
Читать дальше →

Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W

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

Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board computer) начинкой и телевизионные приставки классический тому пример.

Когда-то я приобрел ТВ приставку X96 Max Plus 100W на Android чтобы потестить ее вдоль и поперек и пришел к тому что классическое ее применение для просмотра мультиков и Android игр мне не интересно.

Читать далее

Установка универсальной прошивки OpenIPC на примере IP камеры с процессором HI3516DV100 и сенсором OV4689

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

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

Решают проблемы производители каждый по своему. Как вариант, через облако, через своё приложение Android с приватными протоколами. Но через несколько лет после продажи облачной камеры, бесплатное облако вполне может стать платным, приложение обрастает рекламой до безобразия. А если проект производителя не зашел, то прописанные в ней сервера отключаются и ваша камера, возможно даже с отличным оборудованием внутри, становится бесполезным кирпичём, потому как способов использования больше нет.

В случае с зоопарком рутеров, ворох проблем заставил энтузиастов собраться с силами и создать открытую платформу OpenWRT на базе Linux. И ради тех, кто ждет решения для камер, сейчас кипит работа над аналогичным открытым проектом OpenIPC - универсальной встраиваемой платформы на базе Linux для IP камер. Проделан колоссальный труд, и есть уже ряд камер, на которые можно установить новую прошивку, получив базовый функционал.

Дальше рассказываю на какие камеры какими способами и зачем можно установить систему OpenIPC на примерах.

Читать далее

Управление RC машинкой 27mhz с компьютера

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

Накопилось у меня некоторое количество радиоуправляемых игрушек, из тех, которые покупать своим двум детям нельзя: один пульт управляет всем в округе, никакого разделения ни по частотам, ни по кодам. Одновременно играть не получится. У меня эти игрушки работают на частоте 27mhz, но аналогичные могут работать на частотах 35, 40, 49 mhz по тому же простейшему протоколу, о котором и пойдет речь дальше.

Моя идея заключалась в том, чтобы сделать USB девайс, на который можно передавать с компьютера коды команд, а это устройство каждую команду закодирует и выдаст в эфир RC-машинке.

Читать далее

Информация

В рейтинге
6 670-й
Зарегистрирован
Активность

Специализация

Бэкенд разработчик, DevOps-инженер
C++
C
Linux
Английский язык
Разработка программного обеспечения
Программирование микроконтроллеров
C++ stl
Git
MongoDB
Bash