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

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

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

Входная дверь (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 комментариев
anleal 2013

А на сколько хватало батареек в такой штуковине?
Лбюопытно будет сравнить до и после модернизации.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для anleal:

А на сколько хватало батареек в такой штуковине?

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

Евгений Степанищев (bolknote.ru) 2013

Комментарий для anleal:

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

hshhhhh (hshhhhh.name) 2013

Комментарий для Евгения Степанищева:

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

ИБП можно на изоленту примотать :)

Евгений Степанищев (bolknote.ru) 2013

Комментарий для hshhhhh.name:

Ну я же не для сарая в деревне это делаю.

Батарейки подороже ночь пережили, но видно, что ещё одну не переживут.

anleal 2013

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

А у карты никак мощность wi-fi нерегулируется?
Вспоминаются 3g роутеры от опсосов (Mi-Fi ещё кличут), там нечто с минимальным радиусом действия для более менее продолжительной работы от аккумулятора.

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

Евгений Степанищев (bolknote.ru) 2013

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

У меня дверь фиг разберёшь :) Хорошая, толстого металла, со стороны квартиры — дерево.

А у карты никак мощность wi-fi нерегулируется?

Увы, такого параметра нет: https://flashair-developers.com/en/documents/api/config/

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

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

anleal 2013

Хорошая, толстого металла, со стороны квартиры — дерево.

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

Может пуститься на обходной вариант, если глазок может на движение например реагировать подобно видеорегистратору в авто.
Или цель именно в постоянной актуальности видеокадра?

Евгений Степанищев (bolknote.ru) 2013

Комментарий для anleal:

Вот это дерево же как-то крепилось, я б задал вопрос производителю, наверняка не вы первый кто желает что-то подвести к двери (датчики, камеры, электрозамки)

Дверь много лет назад покупалась.

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

Он на движение и реагирует, только карта ничего об этом не знает, щедро расходует питание.

Vlad528 2013

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

masterspammer (masterspammer.livejournal.com) 2013

Комментарий для Евгения Степанищева:

Насколько я помню, карточка подлежит хаканию; там нет регулировки мощности передатчика, понятно, но может там есть возможность его отключать, что можно использовать, если на файловой системе ничего нового не появлялось из фотографий (имею в виду скрипт, выполняющийся на самой карточке)?

Евгений Степанищев (bolknote.ru) 2013

Комментарий для masterspammer.livejournal.com:

Штатно там ничего такого нет, только если расковыривать и программировать. Это без стенда делать проблематично — легко брикнуть карточку.

anleal 2013

Комментарий для Евгения Степанищева:

Штатно там ничего такого нет, только если расковыривать и программировать. Это без стенда делать проблематично — легко брикнуть карточку.

Выше там мне ссылка была на разработчиков, нельзя ли им внести предложение или задать вопрос?
Т. е. объяснить что необходим например слип режим в прошивке и задать вопрос на предмет отслеживания по изменениям фс — просыпание скажем на минуту.
Если изменений нет то засыпать. НА буке можно скрипт ежеминутно запускать на скан эфира если самому забирать.
Или при изменениях делать аплоад чего-то куда-то, но у вас тут внезапно карточка точку не видит.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для anleal:

Попробую написать разработчикам, спасибо за предложение!

masterspammer (masterspammer.livejournal.com) 2013

Комментарий для Евгения Степанищева:

Да, только если расковыривать; с другой стороны, тогда значительную часть логики можно на карточке и сделать
(просто: возникла новая фотография -> включить wifi -> отправить -> выключить; сложно: включать/выключать более интеллектуально).

P.S. сначала я думал, что скрипты делаются на карточке.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для masterspammer.livejournal.com:

P.S. сначала я думал, что скрипты делаются на карточке.

Нет, там готовый протокол: https://flashair-developers.com/en/documents/api/