Видеонаблюдение на ардуино

Содержание статьи

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Камера на основе Arduino с передачей видео по Bluetooth

Сегодня вы вряд ли кого-нибудь удивите мобильным телефоном с камерой, беспроводными гаджетами и другими техническими достижениями. Благодаря платформе Arduino миллионы людей открыли для себя удивительный мир электроники и программирования. Было уже написано множество инструкций о том, как обмениваться данными между мобильным телефоном и Arduino через Bluetooth. В этом примере мы тоже будем обмениваться данными между мобильным телефоном на Android и Arduino UNO через Bluetooth, но мы будем передавать не просто набор символов и цифр, а изображение.

Кто-то скажет, что это невозможно, Arduino слишком медленно обрабатывает большие объемы данных с хорошей скоростью. И он будет абсолютно прав. А что, если немного помочь Arduino – перенести всю «тяжелую» работу на плечи другого устройства? И такое устройство есть.

Это уникальный TFT-щилд для Arduino. В этом уроке мы покажем, как можно подключиться через Bluetooth к Arduino и телефону Android, получить изображение с камеры OV7670 на Arduino UNO и перенести его на телефон Android. Затем, наоборот, перенесем изображение с камеры телефона Android на Arduino UNO и отобразим его на экране специального TFT-экрана.

Помимо Arduino и TFT-щилда основными компонентами данного проекта также являются камера OV7670 и Bluetooth-модуль HC-06 (HC-05).

Все демонстрационные скетчи написаны в среде Arduino IDE, поэтому вначале необходимо установить Arduino IDE – https://www.arduino.cc/en/main/software. Затем необходимо установить библиотеку для TFT-щилда – github.com/YATFT/YATFT. После установки Arduino IDE необходимо запрограммировать плату Arduino UNO. Для простоты рекомендуем прошивать отдельно, без экрана TFT. Код основного файла ArduinoBluetoothCamera.ino следующий:

Код заголовочного файла OV7670_regs.h:

На телефоне Android необходимо установить ArduinoTFT.apk (https://cdn.instructables.com/ORIG/FP9/HGMG/JUINB9LK/FP9HGMGJUINB9LK.apk) и разрешить приложению использовать Bluetooth и камеру.

В модуле Bluetooth необходимо установить скорость передачи данных 115200 (команда «AT + UART = 115200, 0, 0»). Это оптимальная скорость, с которой Arduino UNO удается получать и обрабатывать данные. (Теоретически вы можете увеличить скорость, оптимизировать прием и обработку данных, но для этого требуется больший объем оперативной памяти). Обратите внимание, что модуль Bluetooth подключается к порту отладки Arduino UNO. Таким образом, при работе с Bluetooth порт отладки недоступен. А перед программированием Arduino UNO (в комплекте с модулем Bluetooth) необходимо отключить модуль Bluetooth. И после программирования подключите его обратно.

Arduino.ru

Видеонаблюдение на даче через GPRS. Без Электричества.

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

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

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

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

Знаю что Ардуина не тянет видео поток.. Как вариант можно передавать не весь поток 30кадров сек а просто пару кадров, если изображение изменяется (детектор движения).

Что можете подсказать по реализации?

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

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

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

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

Знаю что Ардуина не тянет видео поток.. Как вариант можно передавать не весь поток 30кадров сек а просто пару кадров, если изображение изменяется (детектор движения).

Что можете подсказать по реализации?

мои 9 камер 320×200

канал проводной 128kbit/s минимум (по документам оплачивается 1024kbit/s)

а вы значит без статического ip как камеры искать “в интеренетах во всяких” собираететсь?

gsm – концевики – sms-ки максимум

ух не увидел тут еще батарейка чтоб

может космический спутник проще направить по блату на вашу дачу

ладно если бы еще про солнечные батареи разговр пошел

может дяде васе с соседней деревне приплачивать чтоб ночевал в ваше даче а не “шуровал” в вашем сарае?

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

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

Насчет GPS не знаю, но скажем 3G usb модем стоит 700руб, я через него смотрел HD видео на ютюбе, без тормазов, значит уж транслировать какую-то жалкую вебку он должен без проблем.. ТОлько бы придумать как его присобачить без компьютера.

Читайте также:  Камеры наружного видеонаблюдения как выбрать

Про солнечную батарею я тоже думаю, но врядли она даст больше чем батарейка.. да и много ли надо? В конце концов мобильный телефон живет на батарейке 3 дня..

Если бы можно както было отключить все функции в мобильнике, оставив только включенной камеру и настроить передачу данных на сервер по 3g- можно было бы использовать его.. Добавить только бат.блок или солнечную батарею.

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

Вы бы везде поменяли батарейки на аккумуляторы и забыли про кроны и подобную муть

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

Ну аккумулятор сам себя не зарядит.. Только если к солнцу подключать, а так батарейку поменять проще.

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

Телефон с камерой и видеозвонок когда хочешь смотреть

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

сначало стопор дашь

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

в другом варианте одинокая IP камера на постоянно включенный Switch+PC+ИБП+static IP то есть

я бы исключив хранение 1 месяца оставил только online

оставил цепочку 3gMTS + dlink-dir-620 + tplink -sc3130

Расскажите ну IP динамический камера видна порт любой 80 и т.д.

Что дальше поподробней?

ватт скажем 20 потребляет

камера смотрю 5в 2а

роутер вроде 9в 0.8а

ардуиной сигнализацию реализовать инфрокрасники приемники передатчики по периметру

и поднимать питание +5и+9 вольт с аккумулятора авто чтоб зарегеистрировался проключил наружу

видеопоток пошел на динамический IP

Чем? Как ловить поток?

ссылку на сервер

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

Есть выделенный сервер в германии под всякие сайты, там статический ip. Там можно развернуть все что угодно.

Камера знает Ip (правильнее сказать не камера а устройство с камерой) сервера, логинится с парой логин-пароль например, устанавливается связь и система начинает передавать видео поток клиенту на сервере..

Сервер этот поток записывает в видео файл. Соответственно я захожу на сервер нахожу этот файл и просматриваю его. Вроде проблем нет.

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

Задача самого устройства – коннектится к серверу и отправлять ему данные с камеры, все остальное это уже серверная часть.. Вот насчет формата и сжатия – не знаю как и что происходит.. то ли камера шлет 30 фоток jpg в секунду, то ли есть какой-то формат потокового видео специальный..

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

За ссылки спасибо, такую камеру нашел за 2300руб + 3Gwifi роутер за 2500р – по идее неплохая связка, разве только с энерго потреблением.. ну и довольно заметно.. Устанавливая такое на “дереве” – велик риск что в первую очередь сопрут именно сию конструкцию)

Хотя если стоимость поделить этак на 5, то уже и не так жалко, можно и рискнуть.

А вообще у меня в телефоне например есть 3G и есть функция Wifi точки доступа.. можно значит передавать данные через телефон. зарядка кушает 5v 0.6А.. Камера тоже есть можно было бы все замудрить в одном устройстве, вот только жалко телефон, может купить бу андроид с камерой дешевле всего выйдет))

А хотя погодите, вспомнил что еще валяется вот такой:

Может его можно применить? В него точно можно воткнуть USB камеру, Wifi есть, а вот будет ли он дружить с 3G гыи модемом незнаю.. но это был бы самый компактный вариант, вот только прожорлив – потребляет до 2А.

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

. а вот будет ли он дружить с 3G гыи модемом незнаю.. но это был бы самый компактный вариант, вот только прожорлив – потребляет до 2А.

Зачем такие сложности – возмите простенький роутер с Wi-Fi и поддержкой внешних 3G модемов!

Беспроводную IP камеру с Wi-Fi можно настроить так, чтобы она реагировала на движение, если конечно она поддерживает функцию “Motion detection”.

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

В итоге работать это будет по такой схеме:

IP камера (например такая) –> роутер –> 3G модем

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

Есть такая штука DDNS называется , это к выделенному static IP

По току крона – забудьте сразу, готовый dvr на 4 камеры + упс с переделанной питающей частью, большим батарейным пулом и зарядкой от солнца теоретически возможен, но дорог и сложен в реализации питания. На арду даже не смотрите.

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

Зачем бесперебойник переделывать? Есть же готовые батареи специально для резервного питания видеокамер, например такая 3000mA Rechargeable Lithium Battery

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

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

Недавно наткнулся на сервис pointgsm. ru. До сих пор доволен. Была задача на тепловоз камеры поставить с онлайн трасляцией, на остров через gsm 3g/4g связь, себе на дачу тоже поставил работает без проблем И белый ip адрес выделяют,стоимость небольшая, купил себе pointgsm базовый чтобы за объектом следить и подключил к камере, вывели мне картинку на сайт, теперь без проблем мониторю. Плюс само устройство небольшое подходит к любой камере и любому видеорегистратору. Так что всем рекомендую.

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

Да большинство китайских DVR из коробки могут таботать с 3G модемами. Отправлять e-mail при тревоге. А если провайдер выделит белый ип – то и видео можно будет смотреть.

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

Скорее всего эта pointgsm устроена до тупого просто: как они сами пишут, приблуда основана на wifi роутере, а в настройках клиента там прописывается их сервер как vpn. Так что белый ip для устройства не нужен, если он есть у сервера, они просто коннектятся через этот роутер и 3G модем к своему серверу и передают на него поток. Вероятно нужно написать серверную часть (протокол) которая будет обрабатывать определять “ху из ху” по идентификатору устройства, и разделять видео потоки с одного устройства (камер может быть несколько). ну а дальше клиент подключается к серверу, где ему отдают (ретранслируют) потоки с его устройств. Поэтому можно снимать сигнал с обычных веб-камер – никаких ip выделять не нужно.

Если подобрать софтовые решения (по сути принцип веб-вещания, как на вебинарах), то поднять такую систему можно с легкостью, на более компактных устройствах и на своем vpn, да еще и конкуренцию составим этим ребятам при желании)

Ethernet камера на базе Arduino

В данном проекте мы подключим камеру через Ethernet при помощи Arduino. Т.о. вы сможете делать фото внутри дома, просто открыв веб-страничку в вашем браузере. Для данного проекта вам не понадобится какое-либо специальное приложение для смартфона.

Шаг 1: Используемые материалы

Шаг 2: Подключение модулей

Аппаратное соединение модулей вместе не вызовет особых проблем. Выполните подключение согласно рисунку.

Шаг 3: Подготовка программного обеспечения – библиотека

Для данного проекта нам понадобится загрузить несколько библиотек. Все б иблиотеки можно загрузить с ресурса http://arduino.cc

  • Adafruit_VC0706.h (для TTL камеры)
  • SdFat.h (для SD-карты)
  • SdFatUtil.h (для SD-карты)
  • Ethernet.h (для Ethernet шилда, устанавливается по умолчанию в скетче)
  • SoftwareSerial.h (для TTL камеры)

После загрузки всех библиотек вы готовы для запуска проекта.

Шаг 4: Программное обеспечение – код скетча

В данном разделе размещается код скетча проекта.

Загрузите файл скетча – ethernet_camera.ino

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

1. Необходимо изменить параметры mac[] и ip[] для вашего arduino.

2. Для отображения jpg файла в браузере мы должны подать команду для преобразования в формат jpg, как показано ниже:

В скетче указаны блоки с подробными комментариями – процедура прошивки, последовательная передача данных, файлы чтения/записи SD-карты, ethernet и т.д.

Шаг 5: Запуск и тестирование результатов


На картинке выше показан результат работы ethernet камеры.

Для фотографирования: Напечатайте в командной строке любого браузера http:/xxx.xxx.xxx.xxx:5555/ttt

Для просмотра полученной фотографии: Напечатайте в командной строке любого браузера http:/xxx.xxx.xxx.xxx:5555/image.jpg

Для удаления фотографии: Напечатайте в командной строке любого браузера http:/xxx.xxx.xxx.xxx:5555/rrr

Подключение камеры в Arduino и вывод изображения в окне браузера

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

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

Необходимые компоненты

Нам понадобятся следующие компоненты:

  • Arduino Uno
  • Arduino Ethernet Shield
  • Serial Camera

Вот и все. что понадобится для нашего проекта.

Подключение камеры к Arduino

Подключается камера очень просто.

Подготавливаем софт: библиотеки

Для проекта нам понадобятся следующие библиотеки Arduino:

  • Adafruit_VC0706.h (для TTL камеры)
  • SdFat.h (для SD карты)
  • SdFatUtil.h (для SD карты)
  • Ethernet.h (для Ethernet шилда)
  • SoftwareSerial.h (для TTL камеры)

Все эти библиотеки вы можете скачать на оффициальном сайте Arduino.

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

Скетч для Arduino

Некоторые необходимые комментарии к коду приведены ниже.

1. Надо изменить mac[] и ip[] в соответсвии с информацией о вашем Arduino.

2. Для того, чтобы отобразить jpg файл в браузере, его надо преобразовать в jpg формат, для этого надо прописать следующие строки

Запуск и проверка работоспособности

1. Для того, чтобы сделать снимок, пропишите в строке браузера:

2. Для того, чтобы отобразить снимок, укажите в строке браузера:

3. Для того, чтобы удалить снимок, напишите в строке браузера:

На рисунке ниже показан пример теста камеры.

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

TTL-модуль видеокамеры для Ардуино со стандартом NTSC

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

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

Основным производителем таких камер сейчас является компания – adafruit.com.

Пример модуля камеры: OV7670 300KP VGA Camera Module

Характеристики TTL камеры

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

TTL Serial JPEG камера с NTSC видео от Adafruit

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

Читайте также:  Видеонаблюдение на предприятии законность

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

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

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

При этом, у неё есть куда более значимые достоинства, перекрывающие все недостатки, например:

  1. Камеры чувствительны к ИК излучению, что не только даёт обнаружить любые изменения в цветопередаче, но и позволяет отслеживать движения в полной темноте. Учитывайте, что каждый модуль индивидуален, и подбирать его стоит по вашим требованиям, в данном случае мы рассмотрим именно систему видеонаблюдения.
  2. Размеры в 32 мм квадратных при фотоматрице CMOS в четверть дюйма.
  3. Соответственно разрешению, и мегапикселей немного – всего 0.3.
  4. А вот формат выходных данных зависит от камеры; если вам нужен простой модуль для видеонаблюдения, то подойдёт и стандарт M-JPEG, который будет выдавать не более 30 кадров в секунду.
  5. Все параметры, будь то баланс белого или экспозиция, автоматически подстраиваются в зависимости от программы.
  6. Максимальное усиление – 16 Дб, а вот динамический диапазон – все 60 Дб.
  7. Угол обзора небольшой – всего 60 градусов, учитывайте это, когда будете выбирать место для установки. Но его можно значительно расширить, прикупив специальные фишай линзы.
  8. Фокусное расстояние – от 10 до 15 метров.
  9. Битрейт установлен изначально 38400, менять его вроде бы и можно, с помощью АТ+ команд, но на деле это не работает или же попросту бесполезно.
  10. Потребляют такие модули в среднем 75 мА, учитывайте это, если собираетесь сделать автономную камеру видеонаблюдения.
  11. Работает в функциональном напряжении 5В, а подключается по 3.3 В TTL через три проводника.

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

Подключение и настройка

Зачастую камера для Ардуино приходит без коннекторов, поэтому вам необходимы специальные проводники, которые придётся подпаивать к пинам отдельно. Благо контакты расположены приблизительно в 2-х мм друг от друга, что упрощает подключение видео с Аrduino к МК.

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

Если же вам не нужна видеосъемка, по какой-то причине, то достаточно и 4-х проводов. Естественно, лучше подобрать разные цвета, для удобного кабель-менеджмента, когда вы будете упаковывать поделку в заготовленный корпус. В нашем случае расклад таков:

  1. Для 5В пина подключаем красный проводник.
  2. На заземление отправляем черный.
  3. Белый идёт на пин для получения данных.
  4. Зеленый – на TX, предназначенный для передачи картинки.

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

Соединение деталей, схема

Теперь соединим всё вместе. Эта схема предоставлена самим производителем таких камер – Adafruit:

Программирование

Так как мы говорим о простейшей реализации, то предполагаем, что у вас нет навыков работы с С++, а соответственно, сгодится любая библиотека из общественного источника.

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

Для камеры нужно использовать приложение Windows Comm Tool. Нужно использовать серийный протокол. Сами производители рекомендуют переходник для FTDI или USB/TTL конвертер. Для Arduino можно брать серийный чип (FTDI) и загрузить скетч в мк:

Для плат типа Leonardo нужно брать этот код:

Теперь нужно скачать и настроить библиотеку от производителя:

Обнаружение движения

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

Когда телефон удаляется настолько, что NTSC перестаёт работать, информация и СМС будут передаваться по беспроводному интернету и наоборот.

Связка: камера, Ардуино и Андроид

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

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

Использование видеокамеры с Arduino

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

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

Оцените статью
Добавить комментарий