Search
Write a publication
Pull to refresh
36
0
Александр Воронин @av0000

User

Send message

Где покупать радиодетали и компоненты? Часть I: Россия

Reading time4 min
Views176K
Давайте поговорим о покупке электронных компонентов в интернете. Я собрал список интересных отечественных и зарубежных магазинов:

а) которые заточены под любителей DIY и делают свои собственные крутые продукты: конструкторы, модули, обучающие курсы и т.д.;

б) для профи, с широкой номенклатурой электронных компонентов.

Продолжение: Часть II: зарубежные магазины

Кадр из к/ф «Иван Васильевич меняет профессию»
Продолжение

Telegram выпустил официальный MTProto Proxy Server

Reading time3 min
Views141K
image

Наконец-то дождались, после пристального рассматривания и реверс инжениринга протокола MTProto Proxy, Telegram решил выпустить официальный вариант, с поддержкой монетизации promoted каналов, да еще и сразу в Docker образе.
Читать дальше →

VPN везде и всюду: IPsec без L2TP со strongSwan

Reading time10 min
Views340K
image
достаточно сильный лебедь

Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

Небольшое введение в мир IPsec

Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.
Читать дальше →

Настройка IPTV от Ростелеком на роутерах MikroTik

Reading time3 min
Views111K
В свое время когда я купил роутер MikroTik, передо мной кроме базовой настройки инета встала задача обеспечить работу IPTV, до того момента у меня был установленный Ростелекомом D-link. Сама базовая настройка инета на микротике заняла у меня примерно 10 минут, а вот с IPTV пришлось повозиться. Все мануалы прочитанные мной тогда не учитывали многих моментов, до которых я дошел расковыряв настройки многострадального D-link-а и без которых работать в данной схеме ТВ нормально не будет. В этой статье я хочу обозначить полученную мной универсальную инструкцию в данной ситуации.
Читать дальше →

Проверка корректности адресов в памяти на Cortex-M0/M3/M4/M7

Reading time9 min
Views15K
Привет, Хабр!

По поводу случившегося на днях послабления режима, возмущения в комментариях одного соседнего поста о том, что статьи про микроконтроллеры — сплошь мигание светодиодом, а также безвременной гибели моего стандалон-блога, восстанавливать который мне пока лень, переложу сюда полезный материал об одном прискорбно мало освещаемом прессой трюке в работе с ядрами Cortex-M — проверке произвольных адресов на валидность.


Одна из весьма полезных и при этом почему-то в готовом виде нигде не описанных возможностей на микроконтроллерах Cortex-M (всех) — это возможность проверки корректности адреса в памяти. С её помощью можно определять размеры флэша, ОЗУ и EEPROM, определять наличие на конкретном процессоре конкретной периферии и регистров, прибивать упавшие процессы при сохранении общей работоспособности ОС и т.п.
Читать дальше →

Пишем модуль ядра Linux: I2C

Reading time15 min
Views39K
Хабр, привет!

Данная статья посвящена разработке I2C (Inter-Integrated Circuit) модуля ядра Linux. Далее описан процесс реализация базовой структуры I2C драйвера, в которую можно легко добавить реализацию необходимого функционала.

Опишем входные данные: I2C блок для нового процессора «зашитый» на ПЛИС, запущенный Linux версии 3.18.19 и периферийные устройства (EEPROM AT24C64 и BME280).

Принцип работы I2C достаточно прост, но если нужно освежить знания, то можно почитать тут.


Рисунок 1. Временная диаграмма сигналов шины I2C
Читать дальше →

Счетчик импульсов на Linux (получаем информацию о расходе газа со счетчика ВК-G4)

Reading time5 min
Views18K
В процессе автоматизации домашнего хозяйства было обнаружено, что имеющийся в наличии счетчик расхода газа ВК-G4 обладает интересной особенностью: его в младший разряд встроен магнит, который может замыкать геркон, устанавливаемый снаружи самого устройства (т.е. для его подключения не требуется разрешения от газовой компании). Это даже указано в паспорте на сам счетчик. Правда там рекомендуется использовать «НЧ генератор импульсов IN-Z 61», но на самом деле это просто геркон с креплением на счетчик за невменяемую цену. Поэтому вместо IN-Z 61 было решено использовать самый дешевый датчик Холла с цифровым выходом (т.е. со встроенным триггером Шмитта).
Читать дальше →

Использование rrd4j для OpenHab2 persistence

Reading time8 min
Views9K
OpenHab – популярный сервер «умного дома» (или IoT, как сейчас модно говорить) и уже обозревался на Хабре. Тем не менее, документации по отдельным аспектам настройки сервера не так много, как хотелось бы. А на русском её, считай что и нет.

Важной особенностью OpenHab является модульность. Сам по себе сервер обеспечивает базовые функции (даже без какого бы то ни было UI). Весь остальной функционал предоставляется плагинами. Одним из типов плагинов является persistence – предоставление возможности хранить историю значения для айтемов (параметров устройств). Это необходимо для отображения исторических данных (графики) и восстановления состояния айтемов при рестарте сервера.

Существующие плагины позволяют использовать для хранения все популярные БД. Я же расскажу про настройку очень интересного бекэнда – rrd4j. Это высокопроизводительное хранилище для данных, которые представляют собой ряды значений, привязанных ко времени. Автор вдохновлялся набором RRDTools, но переписал его функционал на Java (OpenHab тоже написан на Java), оптимизировал и расширил функционал. Файлы хранилищ rrd4j не совместимы с файлами RRDTools.
Читать дальше →

Снятие показаний счетчиков в домашних условиях

Reading time4 min
Views47K

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

Читать дальше →

Проще, чем MQTT? MQTT/UDP

Reading time3 min
Views15K
Хотел написать на эту тему подробную статью, но, очевидно, руки не доходят. Посему краткое сообщение. Я разработал и реализовал на нескольких языках в виде прототипного кода версию протокола MQTT под рабочим названием MQTT/UDP. Для нетерпеливых и тех, кому уже всё понятно и очевидно, код на Гитхабе

Зачем

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

За это время я выяснил (да, впрочем, и до того понимал), что главное свойство систем УД — надёжность.

Все системы с центральным узлом по определению ненадёжны. Отсюда — желание получить интерконнект компонент системы (а их в реальном умном доме много) без использования какого-либо центрального хаба.
Читать дальше →

Основы электробезопасности при проектировании электронных устройств

Reading time12 min
Views72K
Привет, Хабр!

После волны, поднятой моим предыдущим постом, довольно заметное число людей спрашивали меня (в фейсбуке, в личке и т.п.), на что, собственно, обращать внимание, чтобы вместо умной розетки на ардуино не получить очередной тазик-эвтаназик.


Тема это большая и сложная, но я постараюсь выделить основные моменты — не в последнюю очередь на основании ошибок, которые я видел во всевозможных реальных устройствах и проектах, в том числе публиковавшихся на Хабре. Я не буду долго и нудно перечислять ГОСТы, но перечислю совсем базовые вещи, которые необходимо понимать и соблюдать, чтобы не убить хотя бы себя (если вы планируете не убивать также и окружающих, то после завершения этой статьи не поленитесь пролистать и релевантные ГОСТы).

Итак, вы собрались делать устройство, которое как минимум одним своим концом включается в розетку.
Читать дальше →

Как сделать солнечный фонарик своими руками (часть 1)

Reading time8 min
Views50K


Солнечные фонарики можно смело разделить на несколько групп, это «авторские», сделанные из каких — то достаточно уникальных вещей и остроумные по задумке, мини — прожекторы, предназначенные для освещения по направлению, или подсветки сверху цветочных клумб и рядовые солдаты дачного освещения — классические фонарики на столбике предназначенные для освещения дорожек. Как и из чего их можно сделать я расскажу в данной статье. Также будет рассмотрено несколько вариантов исполнения электроники для тенистых участков сада, где подзарядка фонарика от солнца затруднена и яркостью освещения придётся немного поступиться.
Узнать больше

Фиаско. История одной самоделки IoT

Reading time8 min
Views42K
Большинство статей пишется по принципу «Я/мы это сделал/и, глядите как круто!». Эта же публикация посвящается провальному проекту. Добро пожаловать под кат…
Читать дальше →

Qt: рисование по мотивам векторной графики

Reading time10 min
Views14K

Qt предоставляет программисту очень богатые возможности, однако набор виджетов ограничен. Если ничего из имеющегося в наличии не подходит, приходится рисовать что-то свое. Простейший способ — использовать готовые картинки — имеет серьезные недостатки: необходимость хранения изображений в файле или ресурсах, проблемы с масштабируемостью, с переносимостью форматов изображений. Ниже описывается вариант использования принципов векторной графики без использования собственно векторных изображений.

Читать дальше →

Применение Arm Mbed OS. Тонкая настройка

Reading time17 min
Views19K

LNDC1


После того как с помощью Arm Mbed OS удалось помигать светодиодом, настало время протестировать и настроить другие важные сервисы. Далее рассказывается:


  • Технология конфигурирование Mbed
  • Почему сложно перейти на C++ в обычных RTOS
  • Как экономить память в RTOS
  • Как организуются прерывания в Mbed OS
  • Чем удобно отлаживать Mbed OS
  • Как избавиться от лишнего слоя абстракции SDK
Читать дальше →

Blue pill (синяя таблетка) STM32F103 в качестве ПЛК

Reading time6 min
Views83K

Введение


Наверняка у каждого, кто когда — то начинал или только начинает изучать микроконтроллеры STM32, осталась в запасе вот такая отладочная плата китайского производства, метко прозванная интуристами Blue Pill (синяя таблетка).

Такая плата построена на основе чипа STM32F103C8T6, который представляет из себя 32 битный процессор на базе ядра Cortex — M3. Ниже на картинке показана классическая плата и назначение выводов.

Внешний вид классической платы
My Image

Назначение выводов
My Image

Как за 5 минут сделать ПЛК из подручных средств?


Как часто бывает, уроки из интернета научили работать с таймерами, USART — ом, переключать состояния выходов и даже с DMA получилось поработать! И после всех тестов плата благополучно занимает место на полке запасных частей — вещь хорошая, но пока достойного применения не нашлось.
Читать дальше →

Хотел красивую железку. Получилось

Reading time4 min
Views45K

Часть 1 >> Часть 2 >> Вы находитесь здесь


Однажды любимая жена у друзей на даче нашла радужную пружинку слинки. Вспомнила детство, подошла к лестнице и запустила. Чудо, но пружинка с первого раза идеально пропружинила по каждой ступеньке.
— Получилось! — с радостным удивлением воскликнули все, кто был рядом.
Трёхлетней дочке тоже захотелось попробовать. Она взяла пружинку, забралась на лестницу и запустила её. Пружинка пролетела над лестницей и шмякнулась боком на траву.
— Получилось! — радостно закричала дочка.


Прошёл год с начала моего фанового проекта. Получилось! Та самая красивая железка выглядит вот так:
Моя прелесссть


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

Варим!

Комбинированный датчик, с преферансом и поэтессами

Reading time7 min
Views37K
Сначала мы делали датчик температуры и влажности для офисов в красивом настенном корпусе с интерфейсом RS-485 Modbus, но пока делали, аппетиты немного выросли.

В итоге, в компактный корпус вместили датчики:
— концентрации СО2,
— температуры/влажности
— освещенности
— шума
— концентрации VOC — «летучих органических веществ (ЛОВ)»
— движения

А также:
— ИК-передатчик (с приемником для обучения)
— а еще умеет пищать и моргать «глазом» красным/зеленым
Читать дальше →

Использование аккумулятора от iPhone при разработке носимой электроники

Reading time8 min
Views57K
Приветствую, читатель.

Довольно часто у меня возникает задача разработки портативных устройств с питанием от одной ячейки Li-ion аккумулятора. И, если заказчика обычно это не беспокоит, то у меня, как у опытного инженера, при виде такого ТЗ по спине пробегает дрожь. Это связано с тем, что оценка уровня заряда аккумулятора, а также оставшегося времени работы — это очень непростая задача, хотя на первый взгляд может показаться иначе.



Есть несколько вариантов действия в таком случае, о них поговорим ниже.
Читать дальше →

ESP8266 + FLProg – Создание web интерфейса настройки

Reading time7 min
Views66K
Источник

Предыдущий пост, посвящённый связке FLProg и ESP8266, был обзорным, а теперь рассмотрим работу в программе с этим контроллером более подробно.
Осторожно, очень много картинок!

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity