неглупый дом

Розетка для тревожных людей

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

Белая электрическая розетка с тремя гнездами и индикатором, установленная на бежевой стене.

13 комментариев

Датчик для растений

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

Сказано — сделано! А чтобы не забыть его поливать, взял на «Авито» специальный датчик от «Сяоми». Брал подержанный, поэтому обошёлся недорого.

Датчик оказался занятной штуковиной — кроме влажности почвы, измеряет её плодородие, а так же уровень освещённости и температуру воздуха. После установки можно выбрать растение, за которым предполагается следить (там внушительный список) и в интерфейсе можно будет увидеть какие параметры далеки от оптимальных.

Если верить датчику, на новом месте тоже беда со светом. Поменял шило на мыло.

Скриншот приложения для растения zamioculcas zamiifolia: влажность почвы 41%, плодородие 399 мкС/см, интенсивность света 267 люкс, температура воздуха 25,2°C.

7 комментариев

Надёжность устройств «умного дома»

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

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

Как будто это не так много.

P. S. про Юникод продолжу завтра. По крайней мере так планирую.

7 комментариев

Реанимация акаровского выключателя

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

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

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

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

Интерфейс умного дома: вкладки «Детская», «Зал», «Кабинет». Карточки устройств: выключатель ванной, кондиционер, лампа, очиститель, светильники, часы, экран, Яндекс Лайт.
После всех манипуляций выключатель Aqara (заведён как два светильника) заработал с хабом Xiaomi Smart Home

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

В нашем доме поселился…

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

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

Поскольку это плюс-минус совпало с моментом, когда в одной из соседских квартир на этаже начался ремонт, я считаю, что дело раскрыто. Видимо и правда виновата строительная пыль. У меня по квартире разведена вентиляция из коридора (по проекту дома так сделано), но откуда она засасывает воздух мне доподлинно неизвестно, думаю, что пыль проникает через неё.

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

Круглый дисплей на белом устройстве показывает число 167, температуру 24°C, влажность 24%, значки Wi-Fi и автоматического режима, а также индикатор заряда и кнопки питания.
Стоило в соседской квартире на этаже начаться ремонту, показатель запылённости сразу попёр вверх

12 комментариев

Полезный сценарий

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

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

Сценарий: датчик в прихожей (08:00–20:00) фиксирует открытие двери. Станция в зале приветствует «Добро пожаловать!», остальные устройства сообщают «Кто-то пришёл».

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

6 комментариев

LOOKin Remote 2

Хочу поделиться решением проблемы выключения проектора. Специфика задачи такова, что проектор управляется дистанционным пультом по BLE и у него нет никаких интеграций ни с одной инфраструктурой умного дома. А мне бы очень хотелось, в перспективе, уходя из дома, выключать одной командой «Алисе» всё, что принято выключать в таких случаях. Включая проектор.

Я уже был готов пойти на крайние меры — купить такой же пульт, вскрыть корпус и подпаять что-нибудь «умное» к нужной кнопке, но нашлось решение лучше.

Белый квадратный гаджет с глянцевой чёрной крышкой и USB-портом на боковой грани, лежащий на деревянной поверхности.
Так выглядит LOOKin Remote 2, универсальный управляемый пульт для ИК и БЛЕ

Оказалось, что какие-то отечественные ребята делают универсальный пульт с почему-то импортным названием LOOKin Remote 2, который, помимо привычного многим управления по ИК, умеет так же подавать команды через BLE.

К сожалению, сигнал включения работает не со всей техникой, и мой проектор на него тоже не реагирует. Ребята пока не знают в чём тут дело, но работают над этим:

Это общая проблема, она обязательно должна решится, потому что проблема массовая. Не включает, не понимаем почему.

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

Зато повезло в другом. Во-первых, у этого устройства есть интеграция с «Алисой», надо только не забыть включить «Удалённое управление».

Экран приложения «Проектор» с активной вкладкой «Пульт управления», красной кнопкой питания, кнопками громкости, цифрами 0–9 и неактивной кнопкой «Источник».
Виртуальный пульт, который «Алиса» подключила через интеграцию

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

В итоге всё получилось, теперь сценарий «Алисы» «Я ухожу» выключает ещё и проектор.

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

Как выключить проектор

Есть у меня желание подключить проектор к «умному дому» — было бы очень неплохо включать и выключать его через «Алису». К сожалению, компания XGIMI, которая его выпускает, ничего для этого не сделала, поэтому придётся что-то делать с этим самому.

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

Решил попробовать подлезть через Chromecast — это АПИ для вещания аудио и видио на различные устройства. Подумал, что там могут быть какие-то методы для включения и выключения устройства.

Скриншот терминала с выводом команды dns-sd, отображающий список сетевых сервисов (AirPlay, Google Cast, принтеры, умная техника) и их параметры в формате таблицы.
Поиск сервиса Chromecast проектора через mDNS, сервис виден, можно подключаться

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

Так же у проектора есть вход HDMI, а у HDMI бывает CEC (Consumer Electronics Control) — протокол управления бытовой техникой, через него точно можно включать и выключать проектор, но чем это делать? Нужно какое-то оборудование, которое умеет подавать команды по сигналу. Из готового нагуглился только какой-то мутный адаптер, который надо подключать к компьютеру, для меня это не вариант.

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

8 комментариев

Чего не хватает в «Алисе»

Спросили чего мне не хватает в «Алисе». Чтобы описать, надо последить за своими сценариями, крепко подумать, а потом тщательно всё описать. С таким планом отвечать я буду вечность. Поэтому опишу всего один пункт, мне его не хватает сильнее всего.

Скриншот интерфейса умного дома: карточки датчиков (двери, дыма, протечки) и часов по комнатам с показателями заряда, температуры и влажности.
Датчики моего «умного дома», которые видит «Алиса»

У меня дома, помимо датчиков воздуха, о качестве которого я регулярно пишу, есть несколько датчиков утечки воды и датчик дыма в кухне-гостиной. При этом часть датчиков привязана к «Mi Home» через китайское облако, а остальное — к «Алисе».

Я надеялся сделать сигнальные сценарии, которые при утечке и/или дыме слали бы мне на смартфон уведомление.

В MiHome мне это удалось без проблем — простой двухшаговый сценарий «если сработал датчик, то послать уведомление на телефон».

Но тут выяснилось, что «Алиса» на такое неспособна. В группе для бывших сотрудников «Яндекса» мне так и сказали, что такой возможности сейчас нет, порекомендовали запрограммировать колонку на проигрывание громкого звука в момент срабатывания датчика.

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

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

14 комментариев

Таймеры в «Яндекс.Алисе»

У меня «умный дом» в большей степени завязан на «Алису» — я пользуюсь встроенными интеграциями с различными экосистемами, так как придерживаться одного производителя нереально — это слишком сильно ограничивает выбор. И эта алисоцентрированность меня иногда подводит.

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

Скриншот интерфейса приложения «Квартира»: видны сценарии умного дома, включая «Завтра 07:00 Утром открыть занавеску», «Включение подсветки шкафа» и «Включи новогоднее настроение».
Сценарий, запускаемый по таймеру, — в семь утра в рабочие дни открывать занавеску

Я широко пользуюсь таймерами в «Алисе», — например, в сценарии «спокойной ночи» «Алиса» начинает играть колыбельные, которые выключаются через 50 минут. Это удобно, но беда в том, что таймеры не всегда срабатывают и это расстраивает, на это не я один жалуюсь.

Сегодня утром у меня не сработал запрограммированный сценарий открытия штор в спальне. Я не знаю почему — «Алиса» не сообщает.

Выглядит как какая-то мелочь, которую достаточно просто починить с ресурсами «Яндекса», но почему-то она годами не работает как до́лжно, странно. При этом у китайского Mi Home такой проблемы нет, значит проблема гарантированно решаемая.

6 комментариев

Датчик воздуха

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

Это китайский датчик Qingping Air Monitor Lite — симпатичный белый кубик из приятного пластика. Сейчас, если постараться, его можно найти за шесть тысяч ($86), я покупал за четыре ($58).

Белый цифровой датчик качества воздуха на деревянной полке, подключенный к розетке; на экране отображается уровень CO2 — 1084 ppm и время 08:14.
Датчик Qingping Air Monitor Lite (кодовое имя — cgllc.airm.cgdn1)

Через приложение Mi Home его можно подсоединить к «умному дому», при этом он ещё становится хабом для BLE-устройств, что тоже бывает полезно.

В зависимости от настроек, он умеет отображать показания в разных режимах. У меня настроено так, что табло работает в промежутке в 7:00 и выключается в 21:00, чтобы не мешать спать, а показания автоматически листаются — датчик последовательно показывает уровень углекислого газа, частиц 2,5 и 10 микрометров, влажности и температуры.

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

Хорошая штука, рекомендую. Жаль цена всё-таки высоковата.

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

Воздух в квартире

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

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

Скриншот приложения «Монитор воздуха»: PM2.5 — 55, PM10 — 57, CO2 — 994, темп. 26.0°C, влажность 56%.
Необъяснимые показания датчика сегодня ночью

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

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

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

Получается пыль летит из кухни-гостиной (следующий очиститель встанет как раз в эту комнату). Откуда она там берётся — это вопрос. Возможно из вентиляции или из-за входной двери — не исключено, что эта пыль от строительных смесей, которая летит из тех квартир, где делают ремонт. У нас из-за неё иногда в подъезде срабатывает пожарная сигнализация.

Буду исследовать дальше.

5 комментариев

Тепловизор дома

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

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

Тепловизионное изображение двери с температурными метками: 28,2°C на стене, 43,5°C и 46,7°C на дверном полотне, логотип InfiRay в углу.
Тёплый пол здорового человека — после перенастройки вжарило так, что ногам стало больно

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

Погулял по настройкам, обратил внимание, что температуру контроллер у меня берёт как от встроенного, так и от некого внешнего датчика. Без понятия какой комплект я покупал — с внешним сенсором или без, но на всякий случай переключил замеры на встроенный.

Настройки тёплого пола: выбран встроенный датчик, калибровка температуры 0, гистерезис 2; внизу меню выбора датчика с подтверждением.
Настройки датчиков контроллера тёплого пола

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

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

5 комментариев

Очиститель воздуха

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

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

Скриншот приложения «Монитор воздуха»: PM2.5 — 18, PM10 — 18 (отлично), CO2 — 1162 ppm, t 25°C, влажность 52%, графики за день.
Показания микрочастиц воздуха до и после включения очистителя

А тут, готовясь переехать на новую квартиру, прикупил в экосистему умного дома пару датчиков климата, и не зря — показатели по микрочастицам на новом месте оказались выше нормы. В чём причина не знаю. Может район такой, или строительная пыль выходит из-под полов (хотя стяжку и пылесосили, но что-то наверняка осталось), или от соседей что-то приносит, всё-таки не все ещё доделали отделку своих квартир.

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

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

6 комментариев

Дым!

Я уже давно по частям постепенно делаю квартиру «умной». Правда сейчас этот проект на паузе — в связи с ремонтом в новой квартире и последующим переездом. Тем не менее, когда-то я активно им занимался и сейчас у нас дома работают более тридцати «умных» устройств.

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

Скриншот приложения «Дым»: предупреждение о звуковом сигнале при дыме, журнал с записью «17:33 Включить сигнализацию» и кнопка «Автоматизация».
Сработал удалённый датчик дыма

Максимальную пользу принесли датчики. Как-то раз сработал датчик затопления — выпал плохо закреплённый в канализации шланг слива из стиральной машины. Однажды зимой я обнаружил, что забыл выключить обогреватель и обесточил его через «умную розетку».

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

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

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

Новая возможность «Алисы»

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

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

Сценарий «Спокойной ночи»: при фразе громкость до 1, выкл. через 50 мин, колыбельные, гасит люстру, светильники, ночник в детской.
Сценарий «Спокойной ночи» внутри умного дома «Яндекса»

Про новую «Станцию» я писать не буду, речь не об этом, но из её самопрезентации внезапно выяснилось, что у «Яндекса» есть другое приложение для управления «умным домом», в котором внезапно можно в сценариях давать несколько команд колонке.

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

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

4 комментария

«Неглупый дом»: температура в прихожей

Предыдущие мои покупки съели весь бюджет самодельного «умного дома» на пару месяцев вперёд, поэтому на этот раз я позволил себе совсем скромную покупку — подумал, раз у меня всё равно в прихожей стоит смартбук с Линуксом, почему бы не приделать к нему термометр и не мерить им температуру?

Тем более, что датчик от корпуса греться не будет — корпус пластиковый, да и сам смартбук не нагревается. Заказал в Сингапуре сенсор TEMPer за триста рублей, сегодня он пришёл, выглядит гармонично:

TEMPer (46.78КиБ)

Вообще, кто не помнит, в роли «сердца» моего «умного дома» у меня тошибовский смартбук, на котором когда-то жил Андроид, а теперь стоит Лубунту. Процессор там ARM, так что нужны специальные драйвера.

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

sudo aptitude install libusb-dev libusb-1.0-0
wget -q http://raw.github.com/padelt/pcsensor-temper/master/src/pcsensor.c
wget -q http://raw.github.com/padelt/pcsensor-temper/master/src/Makefile
make
wget -q https://raw.github.com/padelt/pcsensor-temper/master/udev/99-tempsensor.rules
sudo cp 99-tempsensor.rules /etc/udev/rules.d
sudo cp pcsensor /usr/local/bin/

Осталось только добавить небольшую команду в крон и датчик будет отсылать мне свои показания:

/usr/bin/wget -O/dev/null -q "http://sample.org/api/cmd.php?t=$(/usr/local/bin/pcsensor | cut -d' ' -f5)"

Это самый простой и беспроблемный датчик из тех, что я покупал. Обратите внимание в правый верхний угол, там теперь показывается температура:

Температура в прихожей (33.23КиБ)

13 комментариев

«Неглупый дом»: входная дверь

Разобрался я всё-таки со входной дверью. На часах три часа ночи, картинка за дверью сейчас выглядит вот так:

Входная дверь (19.92КиБ)

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

Вырезал ножом подходящую нишу, запихал внутрь карточку вместе с переходником:

Препарированный видеоглазок (45.56КиБ)

Отыскать паяльник всё-таки пришлось — в процессе прорезания ниши, выдрал провода динамика. В остальном обошлось без приключений.

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

Вторую точку к смартбуку я добавил через утилиту wpa_cli по инструкции, найденной в интернете. Скрипт для заливки данных получился на этот раз развесистым:

# переключаюсь на точку доступа в карте
/sbin/wpa_cli select_network 1
/sbin/dhclient wlan0

# текущая дата и временный файл
DATE=$(/bin/date +%d-%m-%Y)
TEMP=$(/bin/tempfile) || exit
trap "/bin/rm -f -- $TEMP" exit

/usr/bin/touch /tmp/eye.current

# смотрим снимки за сегодня, выбираем первый, который ещё не заливали, скачиваем
for file in $(/usr/bin/curl -s "http://eye/command.cgi?op=100&DIR=/$DATE" | /usr/bin/awk -F, "/$DATE/ {print \$2}"); do
    echo $DATE/$file
done |
/usr/bin/diff /tmp/eye.current - | /usr/bin/awk '/^>/ {print $2}' |
/usr/bin/head -1 | /usr/bin/tee -a /tmp/eye.current | {
    read FILE && /usr/bin/curl -s "http://eye/$FILE" > "$TEMP"
}

# переключаемся обратно на интернет
/sbin/wpa_cli select_network 0
/sbin/dhclient wlan0

# если с карты что-то слили, заливаем это на сервер
[ -s "$TEMP" ] && /usr/bin/curl -F p=@"$TEMP" http://example.org/api/pict.php

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

Если кому интересно, переходник использовал китайский, купил за 160 рублей на И-бэе, карточку взял тошибовскую, Флейэйр на 16ГБ, покупал за 1700 рублей там же.

16 комментариев

Ещё немного про «неглупый дом»

Жена попросила добавить время на обновляющиеся фото прихожей нашего доморощенного «умного дома». Мне не жалко, я дописал.

Заодно устранил переодическое зависание команды получающий фото с камеры и добавил обновление скриншота каждый 15 секунд (теперь программа делает три фото каждый свой запуск из крона):

#!/bin/bash

TEMP=$(/bin/tempfile) || exit
trap "/bin/rm -f -- $TEMP" exit

for i in {0..2}; do
    # убиваем зависшие процессы
    /usr/bin/killall streamer 2>&-

    # снимаем скриншот
    /usr/bin/streamer -j 85 -o "$TEMP" -f jpeg -s 640x480 2>&- || exit

    # повышаем ему яркость
    /usr/bin/mogrify -modulate 300,100 "$TEMP"

    # печатаем дату
    TIME=$(/bin/date +'%d.%m.%Y %H:%M:%S')
    /usr/bin/mogrify -pointsize 24 -fill white -gravity SouthWest -draw 'text 5,5 "'"$TIME"'"' "$TEMP"

    # льём на сервер
    /usr/bin/curl -F p=@"$TEMP" http://example.org/api/pict.php >&- 2>&-

    # спим 15 секунд
    sleep 15
done

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

«Неглупый дом» (33.21КиБ)

Вообще, у меня в ближайших планах было присоединить к этой системе видеоглазок (я уже пару месяцев использую «Falcon Eye FE-VE02»), у него нет никакого интерфейса, но есть карта памяти, правда, МикроСД.

План у меня был такой — купить карту СД с вай-фай точкой на борту, через китайский переходник соединить её с разъёмом МикроСД, соединяться смартбуком, который является мозгом моего «умного дома», с картой и забирать фотки гостей.

Переходник и карта (164.92КиБ)

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

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

Новая вай-фай точка (96.36КиБ)

2 комментария

Неглупый дом-3

Неглупый дом (63.64КиБ)

Количество датчиков моего самодельного «умного дома» потихоньку увеличивается.

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

Вчера, ура, приехали ко мне два устройства фирмы Supermechanical, которые умеют передавать температуру, свою ориентацию в пространстве, уровень вибрации и (с дополнительным датчиком) нет ли воды на контролируемой поверхности по вай-фаю. Меня, конечно, более всего последний датчик и интересовал.

В коробке он лежит в небольшом отделении с надписью «IS IT WET?». Питание — от двух «мизинчиковых» батареек, либо от юэсби-зарядки (в комплекте нет, но можно купить любой «китай» с подходящим током).

Датчик сырости (62.36КиБ)

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

Неприятно, что нет какого-либо АПИ, чтобы эту информацию забирать. Правда, на форуме ребята приводят способ получить её в удобоваримом виде — достаточно залогиниться и данные каждого устройства (у меня их два) можно будет забрать в формате JSON.

Написал башовский скрипт на свой компьютер «умного дома» (в его роли — смартбук с Лубунтой на борту):

#!/bin/bash
COOK=`mktemp /tmp/sup.XXXXXXX`
SUP1=`mktemp /tmp/sup.XXXXXXX`

# очищаем временные файлы на выходе
function Remove {
    rm -f "$COOK" "$SUP1"
}

trap Remove EXIT

# логинимся на сайт, куки запоминаем
wget --quiet -O /dev/null --keep-session-cookies --save-cookies "$COOK" \
     --no-check-certificate --post-data="email=EMAIL&password=PASSWORD" \
     https://twine.cc/login || exit 1

# забираем данные в формате JSON
wget --quiet -O "$SUP1" --load-cookies "$COOK" --no-check-certificate \
     https://twine.cc/YOURID/rt?cached=1 || exit 1

# отправляем данные на сайт моего «умного дома»
curl -F p=@"$SUP1" http://example.org/someapi/dtm.php?num=1 >&- 2>&-

Как видите, ничего особо сложного, правда с возвращаемыми данными пришлось ещё разбираться, к счастью, раз есть JSON, значит есть и Джаваскрипт, который его читает, посмотрел код страницы, сразу всё встало на свои места.

19 комментариев

← 1 2 →