2016-12-01

Комнатный контроллер с управлением по Modbus RTU

умный дом

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

Сейчас у меня дома весь свет управляется четырьмя контроллерами собранными на базе Arduino Pro Mini. Один контроллер управляет светом в кухне, гостиной и лоджии. Второй в душе, Третий управляет ванной и коридором, а четвертый управляет светом в двух комнатах и гардеробной, он то и будет моим первым пациентом для перепрошивки. В качестве коммуникационной платы во всех контроллерах используются готовые сборки max485, но их то я пока и не подключил, так что мой умный дом еще достаточно глуп. Чтобы заставить всю систему работать были созданы простые прошивки, не подразумевающие централизованного управления, и вот, наконец, я готов это сделать для одного из контроллеров, который управляет светом в двух комнатах и гардеробной.

В качестве серверного решения будет крутится Openhab. Прошивка позволяет управлять светом в двух комнатах и гардеробной, причем, для гардеробной реализовано плавное включение через ШИМ с регулировкой максимального значения. Яркость можно регулировать на сервере, так-же как включать и выключать свет. Дополнительно, поддерживаются герконы на дверях в комнатах и гардеробной, при этом, герконы на дверях в комнаты просто сигнализирует о своем состоянии на сервер - я еще не придумал сценарии их использования, а геркон на двери гардеробной будет дополнительно включать свет при открытии двери - свет там все-равно нужен всегда. Также подключил датчик температуры и влажности - так как в гардеробная еще и серверная - температуру знать там не повредит. Вот пока и весь функционал, а больше пока и не нужно, все остальное можно реализовать на сервере, если понадобится.

К слову сказать, код контроллера все еще мне не нравится. Это пока еще proof of concept. Есть еще что можно улучшить. Из последних нововведений мне понравилось использовать указатели на функции - их активно используют например, при программировании для Pebble. Это позволяет лучше разбить код на более мелкие, но при этом универсальные блоки, и в отличии, например, от виртуальных функций код не становится медленнее, что важно, если у вас медленный процессор с ограниченными ресурсами.

Прошивку выложил на github - https://github.com/maxistar/Controller03

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

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

 

Оставить комментарий

 
  2016-10-28

Как записать видео с экрана в linux

howto

Я как то писал, что чтобы записать видео с экрана, моожно воспользоваться VLC. Однако, такой способ имеет одну проблему - указатель мыши, почему-то, оказывается невидим на получающемся видео. Чтобы исправить ситуацию, некоторые пытаются накладывать поверх фальшивые курсоры, но я до сих пор не нашел способа который бы хорошо это делал.

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

Все просто, в моем случае это:

> ffmpeg -video_size 1366x767 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i default output.mp4

Где 1366x767 - это разрешение экрана минус единица. При этом захват получается еще и со звуком!
 
Вот здесь можно найти примеры для других ОС: https://trac.ffmpeg.org/wiki/Capture/Desktop
 

Оставить комментарий

 
  2016-10-20

Ну ну...

разное

"В Питтсбурге же петляющие дороги, огромное количество мостов, сложные перекрёстки, и полно снега, дождя и мокрого снега. Как сказал один из директоров Uber, если робомобиль сможет ездить в Питтсбурге, он сможет ездить везде." Отсюда

 

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

 

Оставить комментарий

 
  2016-10-20

Поставил Рекапчу

движок

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

 

Оставить комментарий

 
  2016-09-06

Телефон LeTv Pro 1

гад-же-ты

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

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

Переднее стекло - очень приятное на ощупь, гладкое и палец по нему легко скользит, у Nexus было впечатление что водишь пальцем по оконному стеклу, а тут практически не ощущаешь сопротивления.

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

Из глюков - серьезный глюк. Похоже в прошивке зашит троян. Через несколько дней использования устройства, браузер стал открывать левые странички, пытаться загрузить сторонние apk и открывать Google Play c предложением поставить то или иное ПО. Если ничего не загружать и не соглашаться ставить, проблем нет, но это серьезный недостаток для обычных пользователей. Попробую перепрошить телефон другой прошивкой, говорят это возможно, но можно и получить в результате кирпич.

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

Выводы такие - если нужен стабильно работающий телефон, не видитесь на низкую цену. 

 

Оставить комментарий

 
  2016-08-29

Как открыть на docx на юбунту

howto

Одному человеку потреботвалось отредактировать несколько анкет в формате docx для одного банка. Про то что не у всех есть Microsoft Office в этом банке видимо не знали - поэтому анкеты в docx.

Сначала этот человек попытался открыть файлы в Open Office - так файлы оказались с поломанной разметкой, часть символов не отобразилась вообще, часть строчек съехали. В принципе можно было бы исправить кривую разметку, найти похожие символы и переформатировать текст, но овчинка выделки не стоила. Так что, решил этот человек искать другие варианты.

Загрузил это человек docx анкету в Google Drive и открыл фалики в Google Docs. Но видимо, толи Google Docs не совсем хорошо понимает формат docx, толи тексты были настолько кривыми, но они корректно в Google Docs тоже не открылись.

Решил тогда этот человек сконвертировать документы в pdf при помощи одного из многочисленных online конветеров. PDF вышел замечательный, разметка отобразилась как надо, вот только отредактировать его не получилось не одним из известных этому человеку способов.

В конце концов, когда все известные способы были перепробованы, этот человек зашёл на один популярный торрент трекер и скачал оттуда Microsoft Office 2007 да поставил его под Wine. Документы открылись в том виде, в каком они и должны были открыться.  

Вывод - самый простой способ отредактировать docx в ubuntu - поставить на Ubuntu Microsoft Office. Больше никак. И это, когда на дворе двадцать первый век, когда космические корабли бороздят просторы большого театра. Печаль...

 

Коментариев: 3

 
  2016-08-23

Размер имеет значение

гад-же-ты

Пока осваивал два своих маленьких 3D принтера, понял, что размера мне не хватает - чтобы сделать что-либо реальных размеров приходится или печатать по частям, или отказываться от печати вообще. Склеить PLA можно только дюже ядовитым дихлорэтаном, что сводит на нет всю его экологичность и безопасность (PLA - это ни что иное как полиактид - полимеризованная молочная кислота). Поэтому как только наткнулся а выгодное предложение с принтером побольше - сразу заказал. Теперь у меня есть Prusa i3! (Ссылку на фото даю из Amazon Clouddrive, так как закачку фото в блоге я тоже поламал, пото как нибудь починю). Присланное собралось без проблем, благо на Youtube полно подробных видеоинструкций. Печатать еще не пробовал, посмотрим что получится.

 

Оставить комментарий

 
  2016-08-04

Попытался починить бложик

разное

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

хорошая - мне больше не будут сыпаться комментарии от спамеров

плохая - комментарии больше не работают...

Попробую починить как нибудь, проблемка ерундовая, но времени на ерунду как всегда не хватает.

 

Оставить комментарий

 
  2016-05-31

Удобный переходник для ESP-03

diy, arduino

Нашел на thingiverse удобный преходник для ESP-03 для макетной платы. До этого приходилось припаивать к площадкам ESP-03 проводочки которые затем вставлялись в макетную плату. Выглядело это дело не очень. Но тут совершенно случайно наткнулся в сети на удобный переходник который можно распечатать на 3D принтере - и тут же распечатал - получилось просто прекрасно:

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

 

Оставить комментарий

 
  2016-05-15

Увеличение чиcла GPIO для esp8266

diy, arduino

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

Одной из проблем этого модуля является ограниченное количество портов общего назначения. У ESP-01 свободным остается только GPIO2, хотя можно еще использовать GPIO0 и два порта через которые заливают прошивку с компьютера RX и TX тоже можно использовать как GPIO.

Однако, мне для моих поделок нужно было больше GPIO выводов, гораздо больше. Сначала, хотел попробовать сдвиговые регистры, однако потом пришла в голову идея получше - 1Wire!

У фирмы Maxim есть замечательные ключи, например, ds2413 содержит два управляемых ключа, которые могут работать как для чтения так и для записи. У ds2408 их 8. При этом, можно сколько угодно вешать таких устройств на одину шину 1Wire которая в простейшем случае представляет из себя выход GPIO микроконтроллера с подтягивающим резистором 4.7 кОм. 1Wire позволяет вешать до 256 устройств на шину, что позволяет получить отличную масштабируемость.

У китайцев на aliexpess можно купить аналог ds2413 - 3A 2100H. Хотя, у большинства продавцов написано, что продают они ds2413 - у того у которого я купил, на картинке четко была видна маркировка - 3A 2100H, больше в описании об это ничего не было сказано. От оригинальных микросхем аналог отличается только семейным кодом - у оригинального он 0x3A у китайского 0x85 так что, если заходите взять поиграть, не наколитесь. Сначала, хотел написать грозный отзыв продавшему мне эти чипы китайцу, но когда скетч успешно заработал, я написал не очень грозный...

Вот пример для работы с ардуиной, который мне помог разобраться. Еще потребуется библиотека OneWire. В последних версиях есть поддержка esp8266. Чтобы пример заработал с 2100H нужно поменять в нем 0x3A на 0x85.

Теперь, можно делать на esp8266 устройства с любым количеством входов-выходов. При условии, кончено, что они будут не слишком быстро переключаться - у 1wire не сильно высокая пропускная способность.

 

Оставить комментарий

разное (190)
howto (124)
программирование (109)
гад-же-ты (75)
мысли (42)
PHP (41)
JavaScript (39)
вебмастеринг (37)
linux (29)
гондураша (28)
юмор (25)
полезное (21)
движок (17)
Android (17)
софт (15)
кино (14)
деньги (14)
видео (13)
diy (11)
путешествия (10)
беспредел (10)
книги (10)
музыка (10)
интернет (10)
умный дом (8)
занимательная физика (8)
ztools (8)
языки (7)
Nokia 5800 (7)
хостинг (7)
lifehack (6)
вебдизайн (6)
css (6)
arduino (5)
apple (5)
связной (5)
прелоадер (5)
козлы (5)
oDesk (5)
кухня (4)
svn (4)
движек (4)
аниме (4)
Python (4)
занимательная юриспруденция (4)
software (3)
synphony (3)
рестораны (3)
энергия (3)
спорт (2)
фото на документы (2)
webmastering (2)
гитара (2)
Берлин (2)
Java (2)
bash (2)
Ruby on Rails (2)
гаджеты (2)
дурдом (1)
авторское право (1)
восстановить (1)
C++ (1)
технологии (1)
годнурас (1)
микросервисы (1)
сайты (1)
наука (1)
programming (1)
SEO (1)
Приехал ESP32 - Cam (1)
Поиск по блогу:

Valid XHTML 1.0 Strict