Search
Write a publication
Pull to refresh
-15
0
Игорь Голов @IgorGolov

Инженер — программист

Send message

COOLRF WF1: Умный термостат теплого пола

Reading time4 min
Views24K


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

Умный дом и автоматизация офиса

Reading time14 min
Views19K
Умный дом (Smart Home), в представлении многих, является единым «организмом» со своими жильцами, обеспечивая их безопасность, комфорт и различные удобства для жизни. При этом отдельные компоненты такого дома «невидимы» для самих пользователей. Примерно, как не замечаешь современную операционную систему смартфона, а вызываешь нужное приложение, так и умный дом должен обеспечить своим хозяевам оптимальные условия для проведения времени в кругу семьи, встреч с друзьями или решения повседневных задач. Такой дом должен создать максимально комфортные условия для отдыха или работы, без отвлечения на бытовые мелочи и, при этом, экономя потребляемые энергоресурсы.



Очевидно, встает вопрос о том, как же построить такой идеальный дом или сделать «интеллектуальной» свою квартиру? На самом деле, ответ не совсем очевиден.

Нестандартный способ подружиться с STM32: не Ардуино и не Discovery

Reading time4 min
Views26K

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


И на Хабре, и на geektimes уже достаточно много статей, посвящённых микроконтроллерам серии STM32F, например: Дешевая STM32 плата + Arduino IDE, Попытка подружиться с STM32 и ответ на неё Как надо дружиться с STM32 и многие другие. В совокупности они очень хорошо освещают эту тему, но есть одно но… Во всех этих статьях рассматриваются готовые платы и один конкретный контроллер, что на этой плате. А что делать тем, кто хочет поиграться с разными контроллерами, да ещё и на макетной плате? Например, многие известные мне платы с контроллером STM32F4 (та же STM32F4-Discovery) в макетную плату не воткнуть. Но мне лично хочется что-то типа такого (внимание, все картинки кликабельны):



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

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

Визуализация плотности или что такое шлирен-метод

Reading time2 min
Views25K



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

Черная магия голубой таблетки (делаем программатор Black Magic Probe из модуля на базе STM32F103)

Reading time4 min
Views55K

Зачем?


В эпоху Arduino UNO и Atmega328 я вполне обходился без программатора, прошивая микроконтроллер сначала загрузчиком Arduino через другую Arduino (Arduino as ISP), а потом через обычный последовательный порт, и лишь после появления поддержки Arduino для модулей на основе Nordic Semiconductor nrf51822 и nrf52832 для меня впервые стало актуальным наличие swd-программатора, ибо никаким другим способом прошивку в голый китайский модуль не зальешь.

Стандартом де-факто в данной области являются программаторы Jlink немецкой компании Segger Microcontroller System, известные не только своими прекрасными ТТХ, но и заоблачной ценой (около $500-600). Надо отдать должное компании Segger, для некоммерческого использования выпускается EDU версия, полностью идентичная Jlink Base, но даже она стоит в России в районе 3000 руб. Любимый Aliexpress полон китайских клонов, однако и они относительно недешевы, не говоря уж о прочем.

Есть еще ST-LINK/V2 от ST Microelectronics, правда, под вопросом их совместимость с микроконтроллерами производства не самой STMicro.

В итоге, мой взгляд неминуемо пал на JTAG/SWD программатор Black Magic Probe (BMP), собравший на Kickstarter более $47,000 при заявленной цели в $10,000.
Читать дальше →

Контроллер доступа на Go + Raspberry Pi + Arduino Nano

Reading time10 min
Views26K
Хочу поделится очередным решением тривиальной задачи реализации сетевого контроллера доступа (СКУД).

Предыстория возникновения данной задачи заключается, как это часто бывает, в желании заказчика получить особый функционал работы СКУД контроллера. Эта особая функциональность заключается в следующем:
Читать дальше →

Мигаем светодиодом в STM32 на ассемблере

Reading time3 min
Views20K
Некотрое время назад захотелось мне освоить ассемблер и после прочтения соответствующей литературы пришло время практики. Собственно о ней и пойдет дальше речь. Первое время я практиковался на Arduino Uno (Atmega328p), теперь решил двигаться дальше и взялся за STM32. В руки ко мне попала STM32F103C8 собственно на ней и будут проходить дальнейшие эксперименты.

Инструменты


Я использовал следующие инструменты:

  • Notepad++ — для написания кода
  • GNU Assembler — компилятор
  • STM32 ST-LINK Utility + ST-LINK V2 — для прошивки кода на микроконтроллер и отладки

Начало


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

jmp main

В нем прописываются конкретные адреса и во время прерывания процессор сам подставляет прописанный в векторе адрес в PC регистр. Вот пример моего вектора прерываний:

.org 0x00000000					
SP: .word STACKINIT				
RESET: .word main
NMI_HANDLER: .word nmi_fault
HARD_FAULT: .word hard_fault
MEMORY_FAULT: .word memory_fault
BUS_FAULT: .word bus_fault
USAGE_FAULT: .word usage_fault
.org 0x000000B0
TIMER2_INTERRUPT: .word timer2_interupt + 1

Хочу обратить внимание читателя, что первой строкой идет не reset вектор, а значения которым будет инициализироваться стэк. Сразу следом за ним идет reset вектор после которого следуют 5 обязательных векторов прерываний (NMI_HANDLER – USAGE_FAULT).
Читать дальше →

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

Reading time4 min
Views39K


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

К чему это привело читайте дальше.
Читать дальше →

Взгляд снизу вверх или Ubuntu Server для разработчика электроники. Часть 1

Reading time3 min
Views7.3K
При решении задач электроники все методы хороши, если они устраивают ТЗ, бюджет и разработчика. Linux был мне неизвестен, но вместе с задачами, которые решаешь, растешь и сам. Этот пост расскажет о том, как применить компьютер с Ubuntu для связи большого компьютера с контроллером в соответствии со схемой:

Статья описывает практику применения описанной техники и не ставит целью охватить все глубины и возможности современной аппаратуры. Это один из вариантов решения поставленной задачи.
Мне интересно

[Краудкосилка]-газонокосилка, которой может управлять любой желающий через интернет

Reading time8 min
Views15K

У Вас есть минутка? Не могли бы Вы покосить мой газон?


Краткая история разработки на коленке робота-газонокосилки. Управлять ей можно с любой точки земли через интернет. Мечтали почувствовать себя оператором марсохода или лунохода? Всего лишь нужно зайти на сайт mowmylawn.ru и Вы сможете управлять газонокосилкой у меня во дворе!


Программирование МК AVR на языке assembler в среде Linux

Reading time11 min
Views44K

Введение


Ни для кого не секрет, что микроконтроллеры семейства AVR прочно вошли в практику домашних поделок. Кроме того, уже несколько лет наблюдается массовое (на грани эпидемии) увлечение отладочными платами типа Arduino, построенными на базе все тех же AVR. Не буду судить, хорошо это или плохо, ибо статей на эту тему на ресурсе более чем достаточно. Хочу уберечь и моего читателя от споров на тему «что такое Arduino и хорошо это или плохо». Статья не об этом.

Рано или поздно для любого «ардуиньщика» (при условии что он хочет выйти на более высокий профессиональный уровень) наступает момент когда в рамках платформы Arduino ему становится тесно и он начинает задумываться о том а что же в действительности происходит под капотом. И ответы на все его вопросы уже есть, например в виде замечательного курса «AVR. Учебный курс» от глубокоуважаемого DIHALT. Если вы пользователь OS Windows, то и недостатка в инструментах разработки у вас не будет, достаточно бесплатной Atmel Studio, закрывающей все вопросы разработки ПО для МК AVR.

Хоть я и тимлид в коллективе разработчиков ПО прикладного уровня, вопросы «железа» которое в нашей конторе делается на базе AVR с недавних пор стали интересовать меня очень остро. Возникло желание хорошо разобраться во всех аспектах разработки ПО для МК. И так как я являюсь убежденным приверженцем использования в разработке OS на базе ядра Linux, меня заинтересовал вопрос, а как там в линуксах: можно/нельзя ли писать и отлаживать ПО, зашивать его в кристалл с тем же (или примерно тем же) уровнем удобства, который нам доступен в Windows. Тех кого тоже интересует этот вопрос, и в особенности тех, кому тема поста кажется надуманной, приглашаю под кат.
Читать дальше →

Автомобильная электротурбина

Reading time3 min
Views65K
Наиболее действенным способом увеличения мощности двигателя автомобиля является турбина. Однако она имеет ряд существенных недостатков таких как: наличие турбоямы, оптимальная работа в небольшом диапазоне оборотов двигателя, невысокий ресурс, сложность установки в неподготовленный для этого двигатель.

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

Данная статья будет посвящена нашей разработке в этом направлении.


«Доброе утро, Вьетнам!»: Как запустить своё интернет-радио

Reading time5 min
Views18K
Что читать, что слушать, что смотреть и что покупать — сегодняшний выбор пользователя глобальной сети огромен. На смену газетам пришли блоги и коммьюнити в соцсетях, появились новые способы «упаковки» старых и совершенно новые типы контента.

Ранее мы рассказывали о том, что сегодня происходит с радио (здесь и здесь). В частности, мы упоминали, что радио постепенно «уходит в сеть». Феномен интернет-радиостанций заключается в том, что они появляются быстрее, чем вы скажете «переключи».

Открыть интернет-радио может каждый: процесс организации и администрирования достаточно дешёвый (особенно в сравнении с FM-сегментом), а для онлайн-вещания (пока) не требуется специальных лицензий.

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

Умный дом из старого смартфона или антипаттерны домашней автоматизации

Reading time5 min
Views58K
Здравствуйте, дорогие читатели! Очередная история о том, как менеджер самого среднего звена, сдувая пыль с залежавшихся железок на полке, творит такое, от чего у профессионалов всех мастей боль в глазах. ¡Но, это работает, amigo!



Признаюсь, в этот раз я все хотел сделать правильно. Взял Raspbery Pi с полки. Пирожок тот самый, что я уже использовал в своем роботе-газонокосилке: ссылка на пост и ссылка на другой пост. Взял mosquitto, все должно было работать на mqtt, но от себя никуда не убежишь. Под катом море граблей, велосипедов, плохой пайки, сплошной ад для перфекциониста.
Читать дальше →

Автоматический переключатель антенн с управлением на МК

Reading time11 min
Views14K
image

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

50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2

Reading time6 min
Views15K

ПНЯ* — Периферия Независимая от Ядра известная так же как CIP — Core Independent Peripheral



Микроконтроллеры в импульсных источниках питания
Часть 2




В предыдущей части статьи был рассмотрен вариант построения "типового" ШИМ-контроллера Импульсного Источника Питания (ИИП), варианты реализаций ШИМ-контроллеров на основе ПНЯ и некоторые топологии ИИП.
Продолжим знакомство с возможностями Периферии Независимой от Ядра применительно к задаче построения импульсных источников питания.

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

No rest for the wicked. Фотоотчет из дальних уголков России, где мы оказались благодаря Росгидромету

Reading time7 min
Views23K
Но что странное, что непонятнее всего, это то, как авторы могут брать подобные
сюжеты, признаюсь, это уж совсем непостижимо, это точно…
нет, нет, совсем не понимаю.
Н. В. Гоголь


Волею судеб я стал участником грандиозного проекта ЛАНИТ – модернизации метеорологической сети Росгидромета. Практически нигде в цивилизованном мире наблюдатели не носятся по площадке, чтобы снять приборные показания – все, что можно, автоматизировано. В России с этим подзадержались, но благодаря проекту модернизации Росгидромета случилось и переоснащение метеосети. Таких масштабов не было нигде и никогда, но мы реализовали проект всего за два года (2008-2009 гг.). А это, на минуточку, поставка 1842 метеостанций плюс прочего связного и энергетического обвеса. Еще нужно было собрать станции, скомплектовать и упаковать, доставить их в каждый из 85 областных центров, а оттуда уже развозить на станции, устанавливать и настраивать.

В настоящий момент вовсю идет второй этап модернизации. Раскопки в архивах документов и натолкнули меня на мысль о таком посте.


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

Обзор 98 одноплатных компьютеров. Часть 1

Reading time14 min
Views138K
Часть 1
Часть 2
Часть 3
Часть 4

От переводчика: Предлагаю вашему вниманию перевод отчёта по одноплатным компьютерам, который был опубликован на сайте LinuxGizmos.com. В отчёт включены краткие описания 98 плат стоимостью до 200 долларов. В отчёте такие платы называют «хакерскими», чтобы подчеркнуть их пригодность для различного творчества.
Так как объем информации весьма велик, я разбил перевод на несколько частей.

Также хочу предупредить, что под катом очень много картинок!

Итак, часть 1.



КДПВ

В течение последнего года, LinuxGizmos сообщал о дюжинах новых одноплатных компьютерах с открытыми спецификациями, дружественных к разработчикам и «хакерам», на которых можно запустить Linux и Android. Мы добавили их в наш каталог вместе со старыми платами. Платы, попавшие в наш обзор, стоят меньше 200 долларов без учёта пересылки, доступны для доставки в июле этого года, и удовлетворяют нашим (весьма гибким) критериям открытости.
Читать дальше →

Бюджетный мониторинг температуры: Arduino + Zabbix

Reading time4 min
Views37K
У нас в организации развёрнут сервер Zabbix для мониторинга работоспособности серверов и АРМов. Из-за особенностей техпроцесса оборудование «размазано» по нескольким помещениям и разнесено по территории предприятия. Естественно, вместе с основными параметрами компьютеров (работает/не работает) хочется контролировать и микроклимат в серверных. При этом, как обычно, возможности весьма ограничены, и «выбить» значительные средства на сложные системы мониторинга температуры (к ним я отношу и платы управления с термодатчиками для стоечных ИБП APC) — это отдельный квест.

В основной серверной всё просто — установлена одна такая плата (закуплена давным-давно предшественником вместе с основным оборудованием), воткнут APC-шный термодатчик, заведён агент в Заббиксе, всё работает по SNMP. Скучно :) На мониторинг удалённой аппаратной оборудования нет, средств тоже — см. выше. Поэтому было решено проявить смекалку, сэкономить бюджет и заодно прокачать новый навык путём конструирования простого и дешёвого «наколенного» решения, вписывающегося, тем не менее, в существующую инфраструктуру мониторинга Zabbix.
Проявить смекалку

Как я мечтал хайпануть или история «первого» POV fidget spinner’a

Reading time5 min
Views30K
image

Шла середина мая, поисковики взрываются от запросов связанных с так называемыми fidget spinner’ами, Youtube завален роликами о DIY спинерах, мир погряз в хайпе по этим крутящимся конструкциям.

Где-то в это же время в мою голову пришла шальная мысль, которая сместила все другие в сторону и воссев на пьедестал изрекла — «Ты должен сделать POV fidget spinner!».

Information

Rating
Does not participate
Location
Михайловка, Волгоградская обл., Россия
Date of birth
Registered
Activity

Specialization

Application Developer, Database Developer