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

Я как то писал, что чтобы записать видео с экрана, моожно воспользоваться 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 на юбунту

Одному человеку потреботвалось отредактировать несколько анкет в формате 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

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

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

 

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

 
  2016-05-15

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

Давно играюсь с 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 не сильно высокая пропускная способность.

 

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