Поигравшись с Raspberry Pi и камерой для него, я задумался о его практическом применении. Как раз к этому моменту созрела необходимость в автономной системе наблюдения с функциями охраны для дачи (безнадзорные соседские детки сожгли баню на даче в результате посиделок с алкоголем и курения).
Возможно, мой опыт и результаты работы (образ SD со всем настроенным ПО) будут полезны.
Видео на местности не снимал. На зиму не рискнул оставлять на неохраняемой даче с засыпанными снегом дорогами.
Некоторые кусочки работы в тепличных условиях:
Проект не был заказным. Делал исключительно для себя и собственного удовольствия. От работы с видео в автономном режиме через модем отказался сразу. Видео через модем в режиме даже в 3G — это несерьезно.
Входные ограничения проекта:
Входные требования, которые я сформулировал для себя:
За исключением кругового обзора, все остальные требования удалось реализовать.
![](https://habrastorage.org/r/w780q1/files/754/e38/0a2/754e380a21bf495f99d49a0e21c023ee.jpg)
Полностью круговой обзор не получился. Эксперименты показали, что подавать ток через пару «щетки от электродвигателя дрели+токосъем из фольгированного текстолита» явно не лучшая идея. Примерно в пределах 2-5 поворота на 360 градусов происходит сбой по питанию и перезагрузка. Добавление электролита большой емкости не сильно помогло. В результате поставил два ограничителя на угол поворота 270 градусов и записал напрямую без токосъемника.
Фоток конструкции с щетками не делал, но экспериментировал с ней много. На фото можно понять, как это выглядело изначально (убраны щетки и токосъемные кольца из фольгированного текстолита).
Экспериментировать с другими видами токосъемников не стал. Для моих целей и места установки 270 градусов обзора достаточно (угол здания).
Вывод: токосъем «угольная щетка + медная плоскость» подходит только для случаев, когда кратковременное пропадание контакта не принципиально и где за счет движения по инерции, контакт будет восстановлен.
![](https://habrastorage.org/r/w780q1/files/8c9/af0/052/8c9af0052fce411991d456337c6f37eb.jpg)
Для поворота задействованы дешевые шаговые двигатели. По паспорту они работают от 12V, но как показала практика, и при 19V не греются в режиме «1 минута через 3 минуты без режима удержания». Драйвер UN2003 справляется с током при 19V даже в корпусе SO16 (SMD) без перегрева. С штатными драйверами UN2003 в DIP корпусе, которые продаются в комплекте к шаговикам, вообще проблем не должно быть.
Поворот выполняется плавно и совершенно бесшумно.
Эвольвентные шестерни с модулем 1мм, если кому интересно, очень хорошо режутся на ЧПУ станке фрезой 1мм из стеклотекстолита.
![](https://habrastorage.org/r/w780q1/files/72c/448/8de/72c4488de4af42e692d4815860f7f79c.jpg)
Выбор именно шаговых двигателей обусловлен простотой управления и точностью позиционирования при автономной работе.
Для выставления на «0» предполагал использовать геркон с магнитом, но после отказа от кругового обзора, пришел к выводу, что более удобна следующая технология:
Позиционирование на «0» таким способом происходит довольно медленно, но все же быстрее, чем загрузка Linux. Скорость загрузки Linux на малине просто удручает.
Как много раз говорилось, малина ну ОЧЕНЬ привередливая к питанию. Я запитал ее и WiFi USB от 19V 2.6A блока питания (какой был) от старого ноутбука через stepdown DC-DC преобразователь. Отдельный stepdown DC-DC преобразователь понадобился на питание 3G модема.
От одного преобразователя запитать модем и плату не получилось, хотя по «китайскому паспорту» тока DC-DC модуля должно было хватать. Тока в статике одного преобразователя хватает, но при активации модема слышно как срывается генерация в модуле преобразователя напряжения, переходя в звуковой диапазон, и проседает напряжение на выходе с перезагрузкой Linux.
Штатная камера Rasberry Pi c заменой объектива. Объектив подошел от модуля MT9D111, купленного давно на e-bay для экспериментов. Матрица не пригодилось, а объектив подошел идеально. Вместе со штатным объективом снялся и встроенный в него IR-фильтр. Что даже хорошо, поскольку новый объектив с маркировкой IR. Цвета на снимках несколько искажены (розоватые снимки), но за то возможна IR подсветка.
В качестве датчика используется PIR модуль на BISS0001. Передатчик из брелка на 433Мгц, немного доделанный (один биполярный транзистор и резистор) и управляемый выходом с PIR модуля.
Эксперименты показали, что от 12V кислотного аккумулятора эта комбинация работает минимум 2 месяца (может и больше, не пробовал).
Приемник 4-х канальный и продается в комплекте с брелком. Таким образом, обеспечивается 4 зоны охраны с возможностью сделать фото места срабатывания.
Дальность комплекта передатчик-приемник меньше, чем заявлено у продавцов, и уже приблизительно на 40 метрах прямой видимости прием не устойчив. Возможно это помехи от Raspberry pi, GSM модема и/или DC-DC преобразователей.
Летом, некоторыми ночами, были «ложные» срабатывания. Вероятно на птиц или летучих мышей.
Первый вариант датчика был с отдельным выходом для активации IR подсветки. Фото тогда не делал, но ничего сложно нет. Просто еще один транзистор, управляемый с выхода PIR. Подсветка – круглая плата от камеры наблюдения на 12V с IR светодиодами.
После проб, от локальной IR подсветки зоны датчика отказался:
По сигналу от датчика:
![](https://habrastorage.org/r/w780q1/files/451/f32/43e/451f3243efd442d89e3dbd0bd7b5d54a.jpg)
Настройкам 3g модема, WiFiи пр. посвящено очень много подробных статей, и повторять их считаю нерациональным.
Образ SD со всем
настроенным ПО.
Файл /home/pi/read.me содержит ссылки, на файлы, где нужно прописать свои пароли.
Настроено на сервисы Yandex (e-mail и облачный диск).
Login/password консоли и ftp — стандартный: «pi/raspberry»
Потенциальные возможности для улучшения (на мой взгляд):
Компоненты стандартные:
Спаять:
У кого есть станок ЧПУ – без проблем можно нарисовать и выпилить корпус/шестерни. Нарисовать и вырезать можно максимум за 3 часа. Свой исходный чертеж не выкладываю. Делал бы второй раз – сделал бы иначе и компактнее.
Если бы мне было нужно сделать тиражируемое промышленное решение для аналогичной задачи охранной сигнализации, то я не выбрал бы Raspberry Pi.
Взял бы OEM модуль камеры, контроллер типа STM32… c интерфейсом под камеру и OEM модуль GSM модема.
Как то мне удобнее такие вещи совсем без OS делать или на специализированных OS.
Время на разработку функционала чисто охранной сигнализации ушло бы максимум 3-4 раза больше, чем сопряжение кучи бесплатного ПО с избыточной функциональностью и доведение всего этого зоопарка до рабочего состояния.
Энергопотребление малины и привередливость к питанию просто удручают.
А так raspberry pi игрушка интересная. Но только поиграть. Хотя это мое личное мнение и я его не навязываю.
Возможно, мой опыт и результаты работы (образ SD со всем настроенным ПО) будут полезны.
Видео на местности не снимал. На зиму не рискнул оставлять на неохраняемой даче с засыпанными снегом дорогами.
Некоторые кусочки работы в тепличных условиях:
Проект не был заказным. Делал исключительно для себя и собственного удовольствия. От работы с видео в автономном режиме через модем отказался сразу. Видео через модем в режиме даже в 3G — это несерьезно.
Входные ограничения проекта:
- Низкоскоростной Интернет через GSM модем (МТС). В лучшем случае 2G;
- Нет своего хоста с «белым IP»;
- Только легкодоступные компоненты.
Входные требования, которые я сформулировал для себя:
- Автономная работа с перегрузкой после сбоя питания и программных сбоев;
- Поворотная платформа (горизонталь+вертикаль) с круговым обзором;
- Длиннофокусный объектив;
- Внешние автономные датчики с радиоканалом;
- Автоматическая съемка зоны срабатывания датчика;
- Посылка Alarm SMS;
- Посылка Alarm+фото низкого/среднего разрешения на e-mail;
- Фоновая выгрузка фото высокого разрешения на облачный диск;
- Фоновая выгрузка логов на облачный диск;
- Управление через e-mail (посылкой bash скриптов и получение результатов их выполнения);
- Управление через SMS. Вызов предопределенных скриптов. Например, повернуть камеру и сделать снимок;
- Пересылка пришедших на модем SMS на e-mail;
- Дополнительный функционал при нахождении рядом, в пределах устойчивого WiFi (15-20м):
- Функции WiFi роутера с раздачей Интернета;
- Доступ по ftp и ssh консоль;
- Web video stream c камеры.
За исключением кругового обзора, все остальные требования удалось реализовать.
![](https://habrastorage.org/files/754/e38/0a2/754e380a21bf495f99d49a0e21c023ee.jpg)
Круговой обзор по горизонтали
Полностью круговой обзор не получился. Эксперименты показали, что подавать ток через пару «щетки от электродвигателя дрели+токосъем из фольгированного текстолита» явно не лучшая идея. Примерно в пределах 2-5 поворота на 360 градусов происходит сбой по питанию и перезагрузка. Добавление электролита большой емкости не сильно помогло. В результате поставил два ограничителя на угол поворота 270 градусов и записал напрямую без токосъемника.
Фоток конструкции с щетками не делал, но экспериментировал с ней много. На фото можно понять, как это выглядело изначально (убраны щетки и токосъемные кольца из фольгированного текстолита).
Экспериментировать с другими видами токосъемников не стал. Для моих целей и места установки 270 градусов обзора достаточно (угол здания).
Вывод: токосъем «угольная щетка + медная плоскость» подходит только для случаев, когда кратковременное пропадание контакта не принципиально и где за счет движения по инерции, контакт будет восстановлен.
![](https://habrastorage.org/files/8c9/af0/052/8c9af0052fce411991d456337c6f37eb.jpg)
Поворотная платформа.
Для поворота задействованы дешевые шаговые двигатели. По паспорту они работают от 12V, но как показала практика, и при 19V не греются в режиме «1 минута через 3 минуты без режима удержания». Драйвер UN2003 справляется с током при 19V даже в корпусе SO16 (SMD) без перегрева. С штатными драйверами UN2003 в DIP корпусе, которые продаются в комплекте к шаговикам, вообще проблем не должно быть.
Поворот выполняется плавно и совершенно бесшумно.
Эвольвентные шестерни с модулем 1мм, если кому интересно, очень хорошо режутся на ЧПУ станке фрезой 1мм из стеклотекстолита.
![](https://habrastorage.org/files/72c/448/8de/72c4488de4af42e692d4815860f7f79c.jpg)
Выбор именно шаговых двигателей обусловлен простотой управления и точностью позиционирования при автономной работе.
Для выставления на «0» предполагал использовать геркон с магнитом, но после отказа от кругового обзора, пришел к выводу, что более удобна следующая технология:
- Поворот горизонтальной вертикальной и платформы на максимальный угол;
- При достижении упора шаговые двигатели начинают пропускать шаги (двигатели слабенькие и это вполне допустимо);
- В конце цикла поворота на максимальные углы, можно считать, что достигнут «0» относительно упоров.
Позиционирование на «0» таким способом происходит довольно медленно, но все же быстрее, чем загрузка Linux. Скорость загрузки Linux на малине просто удручает.
Особенности питания
Как много раз говорилось, малина ну ОЧЕНЬ привередливая к питанию. Я запитал ее и WiFi USB от 19V 2.6A блока питания (какой был) от старого ноутбука через stepdown DC-DC преобразователь. Отдельный stepdown DC-DC преобразователь понадобился на питание 3G модема.
От одного преобразователя запитать модем и плату не получилось, хотя по «китайскому паспорту» тока DC-DC модуля должно было хватать. Тока в статике одного преобразователя хватает, но при активации модема слышно как срывается генерация в модуле преобразователя напряжения, переходя в звуковой диапазон, и проседает напряжение на выходе с перезагрузкой Linux.
Камера
Штатная камера Rasberry Pi c заменой объектива. Объектив подошел от модуля MT9D111, купленного давно на e-bay для экспериментов. Матрица не пригодилось, а объектив подошел идеально. Вместе со штатным объективом снялся и встроенный в него IR-фильтр. Что даже хорошо, поскольку новый объектив с маркировкой IR. Цвета на снимках несколько искажены (розоватые снимки), но за то возможна IR подсветка.
Внешние датчики
В качестве датчика используется PIR модуль на BISS0001. Передатчик из брелка на 433Мгц, немного доделанный (один биполярный транзистор и резистор) и управляемый выходом с PIR модуля.
Эксперименты показали, что от 12V кислотного аккумулятора эта комбинация работает минимум 2 месяца (может и больше, не пробовал).
Приемник 4-х канальный и продается в комплекте с брелком. Таким образом, обеспечивается 4 зоны охраны с возможностью сделать фото места срабатывания.
Дальность комплекта передатчик-приемник меньше, чем заявлено у продавцов, и уже приблизительно на 40 метрах прямой видимости прием не устойчив. Возможно это помехи от Raspberry pi, GSM модема и/или DC-DC преобразователей.
Летом, некоторыми ночами, были «ложные» срабатывания. Вероятно на птиц или летучих мышей.
Первый вариант датчика был с отдельным выходом для активации IR подсветки. Фото тогда не делал, но ничего сложно нет. Просто еще один транзистор, управляемый с выхода PIR. Подсветка – круглая плата от камеры наблюдения на 12V с IR светодиодами.
После проб, от локальной IR подсветки зоны датчика отказался:
- IR светодиоды подсветки отчетливо видны в сумерках. Демаскирует место установки датчика;
- Ночью, локальная IR подсветка, включаемая от PIR датчика, дает, похоже, положительную обратную связь по IR излучению и начинаются «чудеса» с непрерывным срабатыванием PIR датчика. Нужно «мудрить» с взаимным расположением датчика и подсветки. Сложно, неудобно и зависит от времени суток.
По сигналу от датчика:
- Камера поворачивается на программно заданный угол по горизонтали и вертикали;
- Делает снимки низкого разрешения (640x480) и снимок с максимальным разрешением (сохраняется в tmpfs);
- Снимок с низким разрешением посылается на e-mail;
- Передается SMS, информирующая о срабатывания датчика;
- Снимок с высоким разрешением, в фоновом режиме, выкладывается на облачный диск. Если не получается отправить сразу, то сохраняется в архив на SD, для последующей отправки.
![](https://habrastorage.org/files/451/f32/43e/451f3243efd442d89e3dbd0bd7b5d54a.jpg)
Программное обеспечение
Настройкам 3g модема, WiFiи пр. посвящено очень много подробных статей, и повторять их считаю нерациональным.
Образ SD со всем
настроенным ПО.
Файл /home/pi/read.me содержит ссылки, на файлы, где нужно прописать свои пароли.
Настроено на сервисы Yandex (e-mail и облачный диск).
Login/password консоли и ftp — стандартный: «pi/raspberry»
Потенциальные возможности для улучшения (на мой взгляд):
- Сделать "/" полностью readonly. По большей части я вынес всю запись в файлы в tmpfs. Но, кое что осталось и было лень возится, поскольку, на практике, вероятность порчи SD, после нештатного выключения питания, снизилась до удовлетворяющих меня значений;
- Hardware reset модема путем прерывания цепи его питания. Может это субъективно, но иногда “вкл/выкл” помогает лучше, чем software reset модема. В принципе, это не сложно. Всего один полевой транзистор в цепи питания модема.
Компоненты
Компоненты стандартные:
- Raspberry pi + SD карта от 4Гб;
- Raspberry pi camera (китайский клон);
- GSM модем – MTC 3G (ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard).
- WiFi из стандартных, рекомендованных.(ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter);
- Шаговые двигатели 28BYJ-48 12V + драйверы на UN2003;
- Блок питания – любой 12-20V не менее 2A;
- Stepdown DC-DC преобразователи – 2шт. На «китайский» выходной ток не менее 2A;
- Объектив, если не устраивает стандартный (а он совсем никакой) – любой какой понравится. Объективы для камер наблюдений есть на любую задачу и кошелек;
- RS232TTL-USB модуль для подключения консоли. Фактически только для отладки;
- Плата приемника и нужное количество PIR модулей и брелков передатчика (полно на ebay в разных вариантах).
Спаять:
- Удлинитель USBдля модема с выносом +5V к отдельному DC-DCпреобразователю;
- Согласование уровней между GPIO 3.3V IN и выходами приемника. На каждый канал – биполярный транзистор + пара резисторов. Я еще светодиод для контроля поставил;
- Разъемы и шлейфы, что бы соединить все это.
У кого есть станок ЧПУ – без проблем можно нарисовать и выпилить корпус/шестерни. Нарисовать и вырезать можно максимум за 3 часа. Свой исходный чертеж не выкладываю. Делал бы второй раз – сделал бы иначе и компактнее.
Выводы из полученныx результатов
Если бы мне было нужно сделать тиражируемое промышленное решение для аналогичной задачи охранной сигнализации, то я не выбрал бы Raspberry Pi.
Взял бы OEM модуль камеры, контроллер типа STM32… c интерфейсом под камеру и OEM модуль GSM модема.
Как то мне удобнее такие вещи совсем без OS делать или на специализированных OS.
Время на разработку функционала чисто охранной сигнализации ушло бы максимум 3-4 раза больше, чем сопряжение кучи бесплатного ПО с избыточной функциональностью и доведение всего этого зоопарка до рабочего состояния.
Энергопотребление малины и привередливость к питанию просто удручают.
А так raspberry pi игрушка интересная. Но только поиграть. Хотя это мое личное мнение и я его не навязываю.