Ардуино веб камера

Сверхдешёвая камера с управлением — своими руками


В качестве преамбулы скажу, что поскольку, подобная статья уже была, я по-началу и не собирался писать о камере на хабр.
Камера была сделана, просто ради интереса, тренировки навыков и отработки технологии удалённого управления физическими объектами.
Немного позже использовал эту систему как наглядный пример, сопровождающий обзор, на другом ресурсе (а фактически, в качестве чита что-бы подтянуть голоса). Это был настоящий бета-тест, который выявил кучу недоработок. За это огромное спасибо всем неравнодушным, помогавшим кто советом, а кто и куском кода.
При этом, посетители, которые игрались с камерой, помимо того, что не проходило и часу чтобы не помянули хабр, так ещё и начали активно интересоваться устройством всего этого дела, техническими деталями, программной реализацией и конечно же стоимостью.
Вот это всё и сподвигло меня на статью. А чтобы не повторюшничать, я и решил заостриться на стоимости, т.к. у автора предыдущего топика на эту тему, насколько я помню, итоговая стоимость вылилась во что-то в районе 5000р.
О том какова стоимость моей поделки: читаем ниже.
Итак, «как корабль назовешь, так он и поплывет», раз написал заголовок про дешевизну — буду соответствовать прозой, так что, детали — потом, а сперва о стоимости.

Пройдём по ценам*

* все цены даны со скидками. О скидках — отдельно, пожже.
Необходимый набор:

  • Arduino Uno (или nano) — 15.29$
  • Сервопривод (рулевая машинка) SG90 2х2.37$ = 4.74$
  • Вебкамера 3.01$

Итого: 23.04$ (примерно 750р, на данный момент)
Дополнительный набор (ленивости + плюшки):

  • Экран от Nokia 5110 — 250р (в комплекте с самой Нокией и блоком питания, куплено пару лет назад, будем считать, что именно для этой цели, реально можно найти уже вдвое дешевле, или вообще на халяву)
  • MegaShield v4 к Arduino — 5.86$
  • Проводки-коннекторы — 2.86$ (40 штук за эту цену, реально использовано 7)
  • Сверхяркий сверхсиний сверхтодиод для подсветки экрана — 5р/шт (лучше 4шт., у меня сделано неправильно)

Итого: примерно 550р
Всего: 1300р

О реализации

Всё делалось с нуля. Повторять то, что уже было — я не стал, во-первых из соображений тренировки, а во-вторых Ethernet-модуля у меня на тот момент не было, я решил что это всё слишком сложно (там был завязан MySQL) и это решение мне однозначно не подойдёт.
О задачах
Задачи я себе обозначил следующие:

  • Видеть картинку/видео
  • Иметь возможность управлять камерой
  • Иметь возможность управлять размером и качеством видео или картинки, причём не «уже на стороне клиента», а «ещё на стороне сервера, по команде клиента». Такая необходимость возникла из-за того что мне не везде доступен «большой и широкий интырнет»
  • Обеспечивать приемлемую «реалтаймовость»
  • Иметь задел на будущее — управление нагрузкой 220В и т.д. Собственно ради этого всё и затевалось, т.к. готовые решения либо жутко дороги, либо такой возможности не предоставляют.

О проблемах
В ходе реализации возникли вопросы вот такого плана:

  • Видео либо грузит процессор в случает показа на несколько пользователей, либо даёт задержку 5-10, т.е. не обеспечивает «реалтаймовость», из-за чего нельзя сразу определить адекватность и вообще работоспособность управления
  • Использование сервиса трансляций, хотя и сильно разгружает сервер в случае большого онлайна, не обеспечивает необходимую надёжность, и, опять же, даёт задержку
  • Специальный сервер для трансляции видеопотока требует определённых навыков, которых у меня пока что нет
  • Использование отображения путём смены картинок не обеспечивает высокий fps, а также постоянно обращается к жёсткому диску, что, при большом количестве пользователей, может вызывать лаги картинки не из-за загрузки процессора, а именно из-за обращения к диску

О решениях

  • Решено использовать в качестве отображения — картинки
  • Для исключения жёсткого диска из процесса выдачи картинок установлен RamDisk, на который дважды в секунду «ложится» изображение с вебкамеры
  • Для выдачи картинки решено использовать php и gdlib
  • Обновление картинки инициируется клиентом посредством javascript и ajax, и происходит без обновления самой странички

Довольно лирики!

Как выглядит

Выглядит всё более чем скромно
Работает примерно так:

Ардуина, если кто не видел

Мегашилд с проводками

«Сэндвич» в профиль

«Сэндвич» анфас

LCDшка

Она же вид сзади (пины и кондёр)

В сборе

В сборе 2

Колхоз — система проводков и верёвочек (крепление камеры)




Куда же без него

Как устроено аппаратно

Вебкамера подлючена по USB к компьютеру.
Arduino тоже подключена к компьютеру по USB.
Все внешние устройства, ввиду исключительно малого потребления тока, подключены напрямую к Arduino, работает круглосуточно уже полтора месяца, с онлайном 10 пользователей в момент наименьшей нагрузки.

Как работает программно

На стороне клиента чистый веб-интерфейс, без всяких плагинов и примочек. Только html, css, и javascript (+ajax).
На стороне сервера

  • Сам сервер — Apache
  • Обработчик скриптов — php
  • Приём картинок с камеры — любая самая простая доступная, бесплатная или самопальная программа для сохранения картинок с вебкамеры
  • Хранение картинки — RamDisk, утилита для создания дискового раздела в оперативной памяти (русскоязычная версия RAMDisk «Enterprise» бесплатна для локализованных систем)
  • Чтобы не прописывать в php прямых локальных путей, папка с картинкой смонтирована в www папку с помощью juction (бесплатная утилита Марка Руссиновича)
  • Передача управления из интернета к Arduino реализована с помощью программы-прокси, следующим образом: php скрипт создаёт UDP сокет и отправляет датаграмму на определённый порт, далее программа-прокси слушает этот этот порт и принимает приходящие на него сообщения и отправляет их на COM-порт Arduino (можно даже без обработки). Выбор UDP вызван исключительно для упрощения системы, UDP не требует никаких подтверждений и проверок о доставке-отправке ни со стороны клиента, ни со стороны сервера.

На стороне Arduino

  • Сама (почему «сама»? потому что «плата») Arduino
  • Скетч внутри неё — стандартные примеры из штатного набора arduino-0022 servo и serial + найденная на просторах интернета библиотека для дисплея, доработанная до приемлемого вида (в плане кириллицы и латиницы одновременно)
  • На данный момент плюсом стоит мегашилд, чисто из-за удобства и культурного вида — в этом варианте я не спаял ни одного проводка (за исключением платы к дисплею)

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

Будьте внимательны к мелочам

Хочу отметить проблемы с программной частью которые случались из-за собственной невнимательности/неосведомлённости/ненаблюдательности:

  • Первое с чем я серьёзно мучался: Arduino принимает из отправленной на её виртуальный COM-порт строки отдельно первый байт и отдельно всё остальное. Какие изощрения я только не пробовал — и с массивами и с кучей проверок… Хоть ты убейся. Решение проблемы? Пришло неожиданно и внезапно, в моментк огда я об этом и не думал: Sleep 2 после чтения каждого байта. ВСЁ!
  • Вторая проблема — серьёзная нагрузка на сервер, казалось бы, из ничего, возникла потому, что обновление картинки было сделано по таймеру, не дожидаясь собственно факта загрузки картинки (или ошибки загрузки). Таком образом отсылалась куча «лишних» запросов.
  • Третье: FireFox оказался самым правильным и капризным браузером, и заставил меня учиться писать валидный код. Так например, событие OnClick по элементу Option работать не должно. А оно работет, везде кроме огнелиса.
  • Четвёртая, совершенно не явная и редко всплывающая: периодически картинка «ломалась». Как выяснилось, это происходило в момент когда файл был занят при записи. Т.е. проверка file_exists() проходила, а файл оставался залоченным. Не помогла и проверка is_writable(). Пришлось организовывать цикл по наличию ошибки и внутри него отрабатывать чтение файла «до победного конца».

Оставшиеся недоработки

Есть и такие.

  • Во-первых, это описанные в каментах «левые» символы иногда появляющиеся в конце сообщения на экране. На самом деле это команды управления. Уши этого бага растут из того что если активно спамить или жать кнопки, буфер ком-порта не успевает полностью прочитаться Ардуиной и последующие сообщения валятся в конец буфера. Решение есть, но пока не сделано.
  • Во-вторых, это периодическое падение UDP-сокета в программе прокси при большом онлайне. В чём причина — не знаю. Проявляется не сразу. Умирает и не «откисает». Помогает закрытие сокета и бинд по-новой. Возможно, виноват кривой видовский winsock.ocx. Переписывать это дело на API в бейсике, как-то лень. Пока одним из «топорных» решений вижу сброс и ребинд сокета по таймеру, каждые, скажем, полчаса.

О скидках

Общеизвестно, что в Китае — дешевле. Главное знать места, где именно дешевле, и как добыть дополнительную скидку.
Тут смысла писать нет — слишком большой объём текста с картинками, к тому же известный большинству.
Поэтому дабы не провоцировать ярых противников борьбы со спамом и прочим «реферальством», отмечу необходимый минимум — это скидка 15% на BiC, складывающаяся из одноразового купона на 10% и скидки за первую покупку 5% при вводе рекомендателя + хинт, как использовать эту систему неоднократно.
Все заинтересовавшиеся, могут ознакомиться с полной информацией по ссылке на страничке с, собственно, самой камерой.

Ссылки

Камера, работающий экземпляр, для тех кто ещё не видел и не наигрался
Топик, в котором ссылку на камеру слили на хабр раньше времени

УПРАВЛЕНИЕ КАМЕРАМИ ВИДЕОНАБЛЮДЕНИЯ

ЧЕРЕЗ ИНТЕРНЕТ — ДИСТАНЦИОННОЕ — PTZ

Современные системы видеонаблюдения играют очень важную роль в обеспечении безопасности любых объектов. Поэтому специалисты уделяют повышенное внимание качеству оборудования и его настройке. Одна из основных проблем видеонаблюдения – это наличие так называемых «слепых зон» (участков территории, не попадающих в угол обзора установленной камеры).

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

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

Дополнительно про объективы камер видеонаблюдения можно почитать , а также на этом сайте есть материал про поворотные видеокамеры.

Дополнительно камеры оснащаются поворотными устройствами с дистанционным управлением (угол поворота может варьироваться в зависимости от модели). Выбор возможного угла поворота зависит от типа камеры и места ее установки. Так, если оборудование устанавливается на фасад здания, наличие функции поворота в 360° необязательно.

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

УПРАВЛЕНИЕ КАМЕРАМИ ВИДЕОНАБЛЮДЕНИЯ ЧЕРЕЗ ИНТЕРНЕТ

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

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

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

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

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

С популяризацией смартфонов и широким распространением высокоскоростного беспроводного интернета, специальное ПО также разрабатывается для мобильных устройств, работающих на Android или iOS. Таким образом, пользователь получает возможность просмотреть изображение в любой точке мира (при условии доступа к сети).

Более сложное оборудование – это IP камеры с трансфокальными объективами и возможностью смены угла поворота по горизонтали и вертикали. Самое распространенное решение – купольные IP камеры. Конструктивные особенности подобных моделей обуславливают ряд преимуществ:

  • неограниченные углы обзора;
  • простой монтаж;
  • улучшенная защита от внешнего воздействия;
  • незаметность.

Для системы видеонаблюдения управляемого через интернет, самый актуальный вопрос – это наличие адаптированного софта. Каждый производитель разрабатывает собственное ПО, с учетом особенностей оборудования. Также существуют универсальные решения, но их настройка более сложная.

В начало

ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ КАМЕРАМИ ВИДЕОНАБЛЮДЕНИЯ

Дистанционное управление видеонаблюдением – это возможность в несколько раз повысить эффективность всей системы безопасности. Для популярных систем на основе аналогового оборудования используют специальные пульты управления, позволяющие изменять настройки, как самой камеры, так и видеорегистратора. Популярностью пользуются пульты дистанционного управления OSD меню видеокамер, а также оборудованием для изменения угла обзора.

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

Особую актуальность такой способ управления приобретает при организации удаленного видеонаблюдения.

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

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

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

В начало

УПРАВЛЕНИЕ ВИДЕОКАМЕРАМИ PTZ

PTZ камеры (Pan-tilt-zoom) – наиболее совершенное с технической точки зрения оборудование, которое управляется посредством систем автоматизации. Роботизированное управление позволяет реализовать функцию автоматического слежения, для этого используется встроенное в прошивку программное обеспечение.

PTZ камеры оснащаются встроенным оптическим трансфокатором и электромеханическим приводом для изменения угла поворота и наклона.

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

Управление также различается в зависимости от типа оборудования. Для аналоговых и проводных IP камер используют пульты, подключаемые через коммуникационные кабели. В последнее время набирают популярность беспроводные решения. Производители выпускают универсальные пульты управления, совместимые с различными моделями PTZ камер видеонаблюдения.

Удобный пульт управления позволяет:

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

Отдельного внимания заслуживает функция автопатрулирования. Современные PTZ камеры могут работать в автономном режиме, изменяя угол обзора в зависимости от заданной программы. Новые цифровые системы видеонаблюдения оснащаются функцией интеллектуального слежения (камера сама выбирает объект согласно заданному алгоритму и следит за его передвижением).

Также можно порекомендовать статью про поворотные купольные камеры.

Также осуществляется автоматическое переключение между поворотными и обзорными камерами, что гарантирует отсутствие «слепых зон». Единственный недостаток такого оборудования – высокая стоимость, поэтому они пока востребованы только в профессиональных системах безопасности.

Управляемые видеокамеры – это удобное и практичное решения для любого типа видеонаблюдения. И если в профессиональных системах используют комбинации из различного оборудования (обзорные, управляемые камеры в комбинации с датчиками движения), то для домашнего видеонаблюдения вполне достаточно приобрести комплект с удобным управлением через интернет.

В начало

Òâèòíóòü

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

Представляю вашему вниманию wifi ip камеру LyckyStar.

Видеокамера имеет приятный дизайн, в крышке имеет специальные отверстия, если есть необходимость можно повесить её на стену, или потолок, имеет миниатюрные размеры 7,6 см Х 6,4 см. Поставляется в комплекте с блоком питания. Камера беспроводная, то есть передает видеокартинку через wifi, но стоит учитывать, что подключить ее с помощью блока питания к электросети все же придется. Поэтому при выборе места установки телекамеры стоит обратить особое внимание, где поблизости есть розетка.

“Какая же она беспроводная?” – зададите вы мне вопрос. Да, в настоящее время все видео устройства еще очень энергоемки, а батареек, которые обеспечили бы питанием wifi камеру видеонаблюдения на неделю, или хотя бы на несколько дней еще не изобрели, по крайней мере таких же размеров как и сама камера. Можно приобрести большой аккумулятор (который будет весить 10 килограмм), но от него все равно придется провести провод питания к телекамере. Так что примите это как неизбежность – камеру придется подключить к розетке 220 В, зато не надо тащить дополгительно провод к вашему интернету.

Итак, первое, что нам нужно, чтобы сделать видеонаблюдение своими руками и получить доступ к видео из любой точки мира – это интернет. Второе – у вас должен быть в помещении, где вы собираетесь установит телекамеру, wifi роутер, подключенный к интернету. Далее вделаем по пунктам:

1. Скачиваем из Google Play или Apple store программу iSmartVievPro и устанавливаем её на телефоне или планшете.

2. Берем wifi ip камеру LuckyStar и подключаем к ней блок питания.

3. Ждем, когда телекамера загрузится, когда это произойдет, синий светодиод начнет периодически моргать. Теперь у вас есть 5 минут, чтобы настроить камеру. Если вы не уложились в 5 минут и светодиод погаснет, отключите блок питания и повторите пункт 2.

4. Открываем программу iSmartVievPro и нажимаем на кнопку «Добавить камеру» (см. картинку ниже).

5. В появившемся окне нажимаем на кнопку «Сканировать QR-код» (см. картинку ниже),

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

6. В поле «пароль» введите числа 123456 и нажмите на кнопку «готово» (см. картинку ниже).

После этого вы попадете в основное меню.

7. Теперь подключим вашу ip камеру LuckyStar к роутеру. Жмем на кнопку «Ещё» в нижнем правом углу,

затем жмем на кнопку «Конфигурирование Wi-Fi одной кнопкой».

В появившемся окне заполняем поля «Wi-Fi SSID» — имя вашей беспроводной, Wi-Fi сети «Wi-Fi пароль» — пароль доступа к вашему Wi-Fi.

Подносим ваш смартфон или планшет к камере на расстояние от 5 до 10 см и нажимаем на кнопку «Конфигурировать». Ваш девайс приятно «пропоет» два раза в микрофон камеры, которая таким образом настроится на вашу Wi-Fi сеть. Потом жмем на кнопку «Далее» и переходим в предыдущее меню.

8. Нажимаем на кнопочку «Камера» в левом нижнем углу и переходим в главное меню. Если вы все сделали правильно, то увидите видео-картинку с камеры в режиме реального времени.

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

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

Нажав на кнопку в виде квадратика в верхнем левом углу основного меню вы увидите список всех камер с возможностью вывести видеокартинки сразу с четырех штук.

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

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

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

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

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

Вы можете прочитать еще следующие статьи:

Безопасность системы видеонаблюдения и охранной сигнализации

Что выбрать для дома: аналоговое или ip видеонаблюдение?

Как повысить эффективность системы видеонаблюдения

Скрытое видеонаблюдение и закон

Видеонаблюдение своими руками для чайников

Мобильная видеоняня — безопасность вашего ребенка

WiFi видеонаблюдение и закон — хождение по мукам

Беспроводное видеонаблюдение на основе WiFi, WiMax, GSM, Bluetooth, FM модуляции

Шпионская микро камера из разбитого ноутбука

Самодельная шпионская мини камера из разбитого экрана от ноутбука.

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

Размеры её очень малы и это значительный плюс.

Теперь появилась такая проблема, как же её подключить? Из камеры выходят множество проводов, но нам нужно только 4 из них.

Наша задача: подсоединить камеру под USB шнур, но цвета проводов разные.

Первым делом начал юзать поиск на YouTube. Нашёл видео как подключить, но модель камеры у меня была другая. Подключив, так как показано на видео, всё заработало. :e195: Далее на моём канале под этим видео уроком отписался человек, что у него тоже вышло. В итоге 3 разных камеры подключённых одинаково-работают! К чему я это всё написал? Проще говоря, практика показала, что подключаются камеры одинаково и это очень хорошо.

Далее подключаем её вот так, пожалуй это самое главное в нашей конструкции.

Всё. Теперь наша камера работает от USB шнура! Как её можно теперь использовать?

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

2) Вмонтировать в двери квартиры, либо в стену. Размеры камеры позволяют это сделать;

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

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

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

Основным производителем таких камер сейчас является компания — 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, предназначенный для передачи картинки.

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

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

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

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

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

// empty sketch void setup() { } void loop() { } Но это не подойдет для плат вроде Leonardo!

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

//Leo_passthru // Allows Leonardo to pass serial data between // fingerprint reader and Windows. // // Red connects to +5V // Black connects to Ground // Green goes to Digital 0 // White goes to Digital 1 void setup() { Serial1.begin(57600); Serial.begin(57600); } void loop() { while (Serial.available()) Serial1.write(Serial.read()); while (Serial1.available()) Serial.write(Serial1.read()); }

Соединение такое:

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

VC0706 Comm Tool