Неглупый Дом-2

Неглупый дом-2 (55.33КиБ) Я чуть ниже писал про свой «неглупый дом», сейчас добрался до дома и допрограммировал. Теперь немного о том как всё устроено и что добавилось.

Во-первых, появилась возможность смотреть что происходит в прихожей. Там теперь стоит Тошиба АйСи-100, смартбук, на котором сейчас Лубунту — он забирает из интернета команды управления и отправляет каждую минуту обратно скриншот со своей камеры следующей командой:
streamer -c /dev/video0 -b 2 -o /dev/stdout -f jpeg 2>&- | curl -F p=@- http://example.org/home/send-picture.php >&- 2>&-
Во-вторых, появилась возможность настраивать температуру на кондиционере, команды складываются в файл на сервере, а упомянутый смартбук время от времени забирает их оттуда по «крону» несложным скриптом:
for line in $(curl -q http://example.org/home/getcommands.php 2>&-); do
    if [[ "$line" =~ ^[a-z0-9-]+$ ]]; then
        cmd=$(awk "/$line/ {print \$2; exit}" air-hall.txt)
    else
        cmd=
    fi

    if [ -n "$cmd" ]; then
       { echo "$cmd"; sleep 1; } | /usr/bin/telnet 10.0.1.13 4998 2>&- >&-
    fi
done
В файле air-hall.txt находятся соответствия команд подаваемых сервером, командам кондиционера. Очень удачно совпало, что на каждую температуру у моего кондиционера есть отдельная команда — я могу точно выставить ту температуру, которую хочу.

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

На следующий день, в субботу переписал код с тяп-ляп на простенькие модули.

Теперь добавить ещё одну комнату можно простым добавлением файла, а новый датчик — редактированием шаблона и написанием адаптера. Так же теперь нет нужны самостоятельно обновлять страницу, чтобы получить новые данные — всё оформлено как офлайн-приложение, с подгрузкой актуального через аякс.
9 августа 2013 19:26

3 (инкогнито)
9 августа 2013, 22:42

%Шутка про Дом-2%

Евгений Степанищев (bolknote.ru)
9 августа 2013, 23:43, ответ предназначен 3

В заголовке она уже есть.

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

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

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