Неглупый дом-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, значит есть и Джаваскрипт, который его читает, посмотрел код страницы, сразу всё встало на свои места.
27 августа 2013 07:26

Bagir (инкогнито)
27 августа 2013, 12:20

Не известно же что будет с сайтом этим через год.

Я бы на твоем месте уже сейчас бы запустил сниффер и начал разбирать протокол. Если данные идут по какому нибудь http, то можно в dns/hosts прописать алиас домена на 127.0.0.1 (или какой другой сервер в локальной сети) и будет счастье. Предполагаю, что устройство делает POST данных в формате JSON - по крайней мере это было бы логично.

Вот с https чуть-чуть сложнее будет.

Евгений Степанищев (bolknote.ru)
27 августа 2013, 13:15, ответ предназначен Bagir

Неизвестно, конечно. Только зачем решать проблему, которой нет?

Vladimir Moskva (fulc.ru)
27 августа 2013, 18:04

У тебя узкое место получается: если протечет вода, из-за этого отключится электричество, то датчик не сможет передать данные на сервер без работающего вайфая. А если даже вайфай-роутер будет работать от ИБП, может сломаться интернет ("подъездный" роутер выключится, например, или провод перегорит в случае пожара). А если бы передал напрямую на ноутбук, ноутбук смог бы отправить смс.

Евгений Степанищев (bolknote.ru)
27 августа 2013, 19:22, ответ предназначен Vladimir Moskva (fulc.ru):

Датчик не позволяет напрямую на роутер передать, но:

1) что это за кошмарный потоп от которого всё так разом накроется?
2) лучше так, чем вовсе никак

Евгений Степанищев (bolknote.ru)
27 августа 2013, 19:23, ответ предназначен Vladimir Moskva (fulc.ru):

На ноут то есть, а не роутер.

Mopsicus (mopsicus.ru)
27 августа 2013, 21:16

Напиши поподробней про самодельный умный дом. Как что подключал, где покупал итд. Интересно.

Евгений Степанищев (bolknote.ru)
27 августа 2013, 21:30, ответ предназначен Mopsicus (mopsicus.ru):

Я потихоньку и пишу, это уже третий пост на эту тему:
http://bolknote.ru/2013/08/09/~4036/
http://bolknote.ru/2013/08/09/~4037/

Vladimir Moskva (fulc.ru)
27 августа 2013, 21:35, ответ предназначен Евгений Степанищев (bolknote.ru):

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

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

Евгений Степанищев (bolknote.ru)
27 августа 2013, 22:02, ответ предназначен Vladimir Moskva (fulc.ru):

Прорвет трубу около розетки
У меня нет ни одной трубы около розетки :) Честно сказать, я ни разу не видел, чтобы так делали.
Я к тому, что ты специально делал так, чтобы при возникновении чрезвычайной ситуации смс точно отправилась независимо от того, есть ли интернет.
Не получится — не умеют эти устройства так. Разве что заменить DNS, расколоть протокол и собирать с них информацию напрямую. Может и займусь, когда все датчики придут.

zg (zg.livejournal.com)
27 августа 2013, 22:57, ответ предназначен Евгений Степанищев (bolknote.ru):

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

Sergey Cheban (sergey-cheban.livejournal.com)
28 августа 2013, 06:35

Как-то время работы от батареек (всего три месяца) не радует. Неужели нельзя растянуть на подольше?

Евгений Степанищев (bolknote.ru)
28 августа 2013, 06:49, ответ предназначен zg (zg.livejournal.com):

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

Евгений Степанищев (bolknote.ru)
28 августа 2013, 06:51, ответ предназначен sergey-cheban.livejournal.com:

How can I extend the battery life of my Twine? Twine currently runs 60 days on fresh alkaline AAA batteries (when running firmware 2.0 and radio May 24 2013), but if you want to extend that time, there are two things you can do:
1. Set all your rules at once. Changing rules often requires more frequent Twine updates.
2. When you don’t need Twine to be portable, plug it into a micro USB charger. Just about any micro USB power supply will work. This won’t charge Twine, but it will stop it from using battery power.
http://help.supermechanical.com/kb/using-twine/power-frequently-asked-questions

anleal (инкогнито)
28 августа 2013, 14:27, ответ предназначен Евгений Степанищев (bolknote.ru):

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

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

Евгений Степанищев (bolknote.ru)
28 августа 2013, 19:00, ответ предназначен anleal

Стоит, когда это возможно. У этих устройств нет такой возможности.

Евгений Степанищев (bolknote.ru)
28 августа 2013, 19:13, ответ предназначен anleal

Т.е. я не говорю, что это плохая идея, просто с этим устройством это невозможно. Хотя такое пожелание от пользователей есть: http://community.supermechanical.com/index.php?p=/discussion/198/accessing-it-locally-#Item_15

oldTV (инкогнито)
30 августа 2013, 15:07, ответ предназначен Евгений Степанищев (bolknote.ru):

Евгений, а можно пояснений?
1. На картине 6 секций, 5 с температурами. Я так понимаю - одно устройства Twine и 5 сенсоров? Так? Можно с ценами прям, что покупали и как подключали?
2. почему выбор на twine?
3. можно более подробные фотки по установке и подключению сенсоров - прям пошагово

Руслан (инкогнито)
31 августа 2013, 09:57, ответ предназначен Евгений Степанищев (bolknote.ru):

Планирую в новой квартире тоже датчиков забабахать все случае жизни, так что спасибо за интересные заметки. Думаю в качестве сервера умного дома использовать вот такую штуку http://dx.com/p/tronsmart-mk808-android-4-1-1-dual-core-mini-pc-google-tv-player-w-1gb-ram-8gb-rom-black-232824 с установленной ubuntu (picuntu если говорить точнее). Довольно компактная штука, работает по wi-fi, можно спрятать куда угодно и управлять по ssh.

Евгений Степанищев (bolknote.ru)
31 августа 2013, 20:45, ответ предназначен Руслан

Я ещё расскажу как-нибудь про остальные датчики, только руки дойдут.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)