2015-10-25

Умный свет на Arduino

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

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

Наиболее нетривиальной задачей было организовать управление точечными светильниками с плавным включением. Её я успешно решил, выкинув "родные" блоки питания, замнив их на управляемые ШИМ источники тока и запитав всю схему от одного мощного блока питания. Светильники на 3 Ватта питаются от блока питания 12 вольт, светильники на 6 Ватт - от блока питания на 24 вольта.

Сам контроллер собран в корпусе на дин-рейку, заказанном на чипе&дипе. Корпус, кстати, оказался весьма удобным с макетной платой, на которой и были размещены маломощный блок питания для ардуины и три семисторных ключа с оптронной гальванической развязкой - безопасность превыше всего! Сама плата arduino pro mini и микросхема max485 для шины модбас размещены на отдельной макетной плате и помещенны в тот же корпус, благо место позволяет. 

Прошивку написал с нуля - она пока не совсем такая как я хочу, но уже не вызывает рвотного рефлекса при взгляде на код - оказывается, ардуино позволяет писать программы на вполне приличном C++ с объектами, наследованием и виртуальными функциями. Все это делает код вполне читаемым и, главное, поддерживаемым в будущем. Код выложил на github - замечания и дополнения приветствуются! 

Основная фишка - одна кнопка. Тут я вполне согласен со Стивом Джобсом - одна кнопка рулит! 

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

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

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

 

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

 
  2015-10-22

Резервная копия для Google Authenticator

Двухфакторная аутентификация сейчас пользуется заслуженной популярностью. Аутентификация с использованием Google Authenticator - отличная альтернатива аутентификации на основе SMS сообщений. 

Но вот вопрос - что делать если устройство потеряется? А как просто будет перенести данные для авторизации если у вас новое устройство? 

Сейчас для того чтобы перенести авторизацию с одного устройства на другое нужно обнулить токены авторизации на одном устройстве и настроить их на другом. Хорошо если у вас только один аккаунт под управлением Google Authernticator - а если десять? У меня сейчас пять таких аккаунтов и их перенос для меня сильно проблематичен.

Не так давно я решил вопрос с потерей устройства регистрируя ключ на двух устройствах одновременно. Но вот у меня появился новый телефон. Проблема встала с новой остротой.

Хочется иметь возможность в любое время развернуть токены с одного телефона на другом. Желательно также, чтобы в любое время я бы имел возможность снести Google Authenticator и заменить его на любой другой, например, на FreeOTP.

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

Оказалось, что задача резервного копирования решается не просто просто а очень просто! Значит, чтобы получить на двух телефонах одинаковые коды, нам всего лишь нужно знать этот "секретный" код. А ведь когда мы настраиваем аккаунт нам этот код показывают на экране! Дополнительно, его можно скопипастить в виде текста и сохранить в надежном месте! Далее, просто вводим этот код в ДРУГОЙ телефон и вуаля! Мы имеем ДВА телефона с одинаковыми кодами! Более того, теперь, в случае, если мы сбросили наш телефон до заводских настроек, мы всегда можем восстановить наш Google Authenticator как было!

Таким образом, алгоритм подключения телефона дополняется дополнительным шагом - а именно - сохранением секретного ключа в секретном же месте. После чего, данный секретный ключ может быть введен на любом устройстве, в любое время! Кроме того, вы можете попробовать использовать любые другие OTP программы, например FreeOTP.  Который, в отличие от Google Authenticator - полностью открытый и не имеет разрешений ходить в интернет. Да я теперь даже смогу использовать Pebble для авторизации!

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

 

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

 
  2015-10-21

Восстановленный Nexus 5 с AliExpress

Встала необходимость потестировать свои программки на Nexus 5. Покупать новое устройство просто для тестов очень не хотелось. Сначала посмотрел, что продает народ на avito - честно сказать - не вдохновило. Либо откровенное фуфло - либо слишком дорого за б/у аппарат.

Но оказывается, на aliexpress китайцы продают восстановленные аппараты по довольно низким ценам. Решил посмотреть как это работает и, заказал себе устройство.

Посылка пришла быстро, причем, на обычное почтовое отделение - обычно телефоны мне приходят на почту где есть отделение таможни, а тут пришел туда где я обычно получаю свою корреспонденцию. Задекларировали как Game Console.

В посылке оказался стандартный набор - телефон, руководство по эксплуатации, наушники, зарядное устройство с кабелем micro usb и.... серьга в ухо!

Не уверен что это серьга именно в ухо, но других идей у меня нет. Что это? Знак признательности от дядюшки Ляо? Не уверен что Google дарит своим покупателям такие подарки, хотя мало ли... Нужно следовать моде...

Аккумулятор устройства оказался разряженным в ноль, поэтому, трудно сказать в каком он состоянии. Само устройство без признаков использования, хотя, пока я не вставлял симку.

Выглядит вполне новым и, если все будет ок, он будет теперь моим основным устройством.

 

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

 
  2015-09-05

Фантастические летающие книги Мистера Морриса Лессмора

Сегодня увидел волшебное, этот пятнадцатиминутный мультик получил в 2012 году Оскара. Потрясающе!

 

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

 
  2015-09-02

Прием платежей с Paypal

Paypal разродился новым сервисом paypal.me. Сервис позволяет легко и просто пересылать деньги кому угодно, из тех пользователей кто создал там страничку. Вот так, например выглядит моя:

Фишка в том, что согласно региональным правилам Paypal в России донейшены запрещены! Ждем массовых блокировок аккаунтов?

 

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

 
  2015-08-10

Платный музыкальный контент

Неожиданно обнаружил, что Борис Борисович продает свои произведения через Интернет. С удовольствием купил один из его синглов в формате flac - всего за 65 рублей и ты вроде как и не пират уже, да и процесс покупки оказался на редкость простым.

 

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

 
  2015-07-31

Безлимитный облачный хостинг

Фотографирование для меня болезненный процесс так как после каждой фотосесии получается несколько гигабайт данных которые непонятно где хранить. Полтора терабайта на моем стареньком компьютере подходят к концу, а алгоритма действия в случае если один из трех дисков, которые там стоят умрет у меня нет. У меня уже была ситуация когда диск умер а с ним ушел в небытие и хороший кусок фотоархива.

В связи с этим остро встал вопрос о расширении дискового хранилища. Остановился на Amazon Cloud Drive, сейчас его испытываю.

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

Через сайт можно закачивать файлы не более двух гигабайт.

Через клиента под windows и mac такого ограничения нет, но я пока их не пробовал.

Есть консольная утилита умеющая закачивать до файлы до 100Gb и подсоединять папку Cloud Drive к файловой системе linux через fuse. Папка, правда, подсоединяется в режиме read only. Но с этим уже можно жить.

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

 

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

 
  2015-07-17

Запись видео с экрана при помощи VLC

Столкнулся с досадной проблемой - recordmydesktop на моем компьютере отвратительно записывает видео происходящего на дисплее. А очень нужно было записать несколько роликов. На помощь пришел VLC - оказывается он умеет создавать прекрасные ролики с экрана при минимуме настроек.

Вот подробное описание как это делается.

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

 

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

 
  2015-07-11

Pebble Time

Приехали новые часы. Вот впечатления от гаджета.

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

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

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

- русская прошивка уже есть на PebbleBits - правда пока она не интегрирована в сайт, для меня это не критично.

- на обратной стороне новых часов написано 30M water resist - на старых было написано 5ATM, что как бы намекает о пятидесяти метрах - получается водонепроницаемость слегка ухудшилась. Видимо из-за микрофона. Но, если честно, не на 50 метров не на 30 метров мне с ними нырять не приходилось и не планирую.

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

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

 

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

 
  2015-07-07

Pebble Watch в полевых условиях

Испытал в полевых условиях ставшие уже легендой Pebble Watch первого поколения, для чего взял их с собой в поход по Медведице не байдарках. Перед походом их зарядил и отключил Bluetooth в настройках, так как большую часть времени телефон у меня все равно был выключен.

Без Bluetooth умные часы превращаются просто в часы. Кроме часов у меня было установлено несколько приложений не требующих коммуникаций с телефоном - в частности секундомер. Очень понравилось нырять с включенным секундомером - если нырять в очках то прекрасно видно сколько времени ты уже находишься под водой, теперь я знаю что дольше минуты задержать дыханье у меня не получается :)

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

 

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