- Самодельное видеонаблюдение на простых веб-камерах usb.
- Домашнее видеонаблюдение на ПК — как я делал.
- Обычные дешевые usb веб-камеры для видеонаблюдения.
- Как удлинить USB веб-камеру для видеонаблюдения – витая пара универсальный удлинитель юсб.
- Изготовление USB удлинителя:
- Программа для видеонаблюдения, которую я использую.
- МозгоЧины
- Как сделать вэб-камеру из старого Android-телефона
- Как сделать вэб-камеру из старого Android-телефона
- Шаг 1: Материалы
- Шаг 2: Подготовка телефона
- Шаг 3: Софт
- Шаг 4: Настройка постоянного IP адреса
- Шаг 5: Включение режима «Онлайн»
- Шаг 6: Доработка мозгосамоделки
- Сверхдешёвая камера с управлением — своими руками
- Пройдём по ценам*
- О реализации
- Довольно лирики!
- Будьте внимательны к мелочам
- Оставшиеся недоработки
- О скидках
- Ссылки
Самодельное видеонаблюдение на простых веб-камерах usb.
Самодельное видеонаблюдение на простых веб-камерах usb как сделать? Я задался этим вопросом, после неудачной попытки проникновения бомжей в мой гараж рядом с домом, средь бела дня.
Благо, сосед заметил «грабителей» и спугнул их. Мой гараж находится рядом с моей девятиэтажкой и окна моей квартиры выходят на него. До гаража по прямой видимости примерно метров сто. Ночью гараж хорошо виден – он освещается фонарями уличного освещения. Так почему бы мне не организовать круглосуточное видеонаблюдение из окна? Это просто идеальный вариант присмотра за гаражом не выходя их дома. Да и стоимость такого простейшего видеонаблюдения на web камерах будет копеечной. Нужны лишь прямые руки и желание.
Домашнее видеонаблюдение на ПК — как я делал.
Сначала я планировал использовать для видеонаблюдения обычный автомобильный видео регистратор. Что может быть проще – установил его на подоконнике в квартире и направил в окно на гараж. Но потом, мне захотелось из другого окна понаблюдать за алкашами у подъезда, да и за лестничной площадкой в самом подъезде не мешало бы присмотреть. Для этого нужно иметь уже три автомобильных видео регистратора. А это не так практично. По этому, я решил использовать свой старый ноутбук с подключенными к нему тремя камерами. При этом конфигурация системы видеонаблюдения на ноутбуке может иметь различные варианты:
— можно например использовать EasyCap — специальное USB устройство, преобразующие сигналы обычных аналоговых видеокамер в цифровой сигнал USB;
— можно использовать беспроводные IP камеры в неограниченном количестве, подключаемые к Wi-Fi роутеру. Кроме того, при желании, можно даже транслировать это видео в интернет (на смартфон и т.д);
Я же остановился на самом простом и дешевом варианте – использовать для видеонаблюдения самые обычные компьютерные usb Web камеры, купленные мной когда-то.
В последствии мне даже удалось прикрутить к вебкамере монокуляр — получилась отличная камера дальнего наблюдения.
Обычные дешевые usb веб-камеры для видеонаблюдения.
Однажды в моем местном супермаркете, в отделе хоз товаров, «выкинули» на стеллаж целую гору, вероятно не очень востребованных уже ныне вебкамер. Самых простых и дешевых китайских web камер. По акции, с ценой примерно в 0,5 доллара. Целую гору Карл! По 0,5 доллара! В общем, нагреб я тогда их штук восемь. Даже не знаю зачем. Просто так, ради халявы. Потом долго они лежали у меня без дела. Что-то раздал, что-то осталось валяться. И вот, после того, как мой гараж облюбовали те бомжи, решил я вынуть на свет божий эти халявные веб камеры для видеонаблюдения и заюзать их. Как оказалось – весьма удачно.
Как удлинить USB веб-камеру для видеонаблюдения – витая пара универсальный удлинитель юсб.
Но теперь передо мной встала новая проблема – как удлинить шнур вебкамеры. Сделать нормально работающий самодельный USB удлинитель – не простая задача, если с удлинением юсб кабеля сталкиваешься впервые. Физически, usb использует дифференциальный сигнал (сигнал симметричной амплитуды). По этому, никакие экранированные провода длиннее полуметра (даже супер экранированные) работать в USB толком не будут. USB шина – это симметричная линия связи!
Для удлинителя юсб нужна только витая пара! Обычный компьютерный провод — витая пара. Подробнее о том,как я изготавливал USB удлинитель на 18 метров можно почитать здесь .
Для разведения по квартире трех веб камер от ноутбука мне понадобилось три куска провода витая пара, длиной примерно по 10 метров. Но, экспериментируя, мне удалось подключить веб камеру юсб через кусок витой пары длиной даже 18 метров. Все дело в специальном подключении проводников кабеля. От этого зависит работоспособность USB удлинителя.
Изготовление USB удлинителя:
Я взял 18-ти метровый кусок витой пары и оконцевал его разборными USB штекерами «мама» и «папа», купленными в магазине радиотоваров.
Важный момент! Синюю пару проводников сетевого кабеля я пустил на D+ и D-. Почему именно синюю? – Все четыре витые пары жил кабеля имеют разный шаг свивки. Это хорошо заметно, если снять с сетевого UTP кабеля общую оболочку сантиметров на 10 – 15. Так вот, USB удлинитель отлично работал, если сигналы D+ и D- пускать именно по синей или же зеленой паре жил. Если же пустить D+ и D- по оранжевой паре, то USB удлинитель вообще не работал. Коричневая пара работала с перебоями. Вероятно, шаг свивки синей и зеленой пары жил идеально подходит для прохождения высокочастотного сигнала USB (резонанс, импеданс, волновое сопротивление и т.п.).
Три остальные пары жил кабеля я запараллелил и пустил по ним питание – по трем цветным жилам плюс, по трем полосатым – минус.
О причинах неработоспособности самодельного юсб удлинителя так же можно прочесть здесь.
Программа для видеонаблюдения, которую я использую.
Для домашнего видеонаблюдения я использую шикарную демоверсию программы Active WebCam. Сайт программы: //www.pysoft.com/. Там же можно и скачать. Эта бесплатная демоверсия программы для видеонаблюдения не имеет абсолютно ни каких ограничений по времени и абсолютно полнофункциональна. Имеет русский язык. Отличается от зарегистрированной версии лишь надписью «DEMO MODE» в небольшом синем прямоугольнике в левом верхнем углу окна программы. Надпись «DEMO MODE» абсолютно никак не влияет на функциональность и практически не закрывает обзор. То есть это идеальный вариант программы видеонаблюдения для домашнего (и не только) использования.
Программа Active WebCam не требовательна к железу ПК. У меня она свободно работает с двумя web камерами на древнем ноутбуке IBM ThinkPad R51e (там всего 2 usb порта) и на старом ноутбуке Acer eMachines E528 с тремя вебкамерами. Вообще программа может работать с неограниченным количеством камер. Как видеокамер так и веб камер. Можно вести запись в файл, а так же транслировать видеопоток в интернет через встроенный HTTP сервер. В программе есть «датчик движения» — включение записи видео можно настроить при появлении движения в кадре. Это пожалуй лучшая бесплатная программа для видеонаблюдения из перепробованных мною.
Источник
Сайт про изобретения своими руками
МозгоЧины
Сайт про изобретения своими руками
Как сделать вэб-камеру из старого Android-телефона
Как сделать вэб-камеру из старого Android-телефона
Доброго времени суток, мозгодрузья! Сегодня предлагаю ознакомиться с моим руководством о том, как своими руками превратить запылившийся телефон в отличную веб-камеру.
Эту идею о мозгопревращении телефона в камеру я вынашивал около 3 лет, но когда приобрел 3D принтер и начитался «ужастиков» о проблемах его эксплуатации (сбой вращения, перегревы и пожары, и т.п.), то решил все-таки реализовать ее. При этом я рассматривал вариант датчика дыма с Wi-fi, Dropcam, но самодельная камера из телефона вышла дешевле, поэтому приступаем!
Шаг 1: Материалы
Список необходимых материалов довольно прост: Android-телефон, кабель, зарядное устройство и Wi-fi марщрутизатор. Я в качестве основного элемента взял телефон Droid Razr Maxx, который полностью функционален, лишь только порт зарядки вырван.
Так же для монтажа и настройки самоделки мне понадобились паяльник, блок питания, клеевой пистолет и мелкие отвертки.
Шаг 2: Подготовка телефона
Мой телефон прекрасно работает, вот только гнездо зарядки вырвано. Поэтому, чтоб исправить этот недочет, я высверлил отверстие под кабель в корпусе телефона, к питающим контактам припаял USB кабель, предварительно проверив полярность. При этом аккумулятор становится не нужным, его можно удалить, так как телефон питается напрямую. Это я проверил своим еще до монтажа блоком питания.
Итак, я запитал телефон напрямую через USB шнур, сам шнур укрепил клеевым пистолетом и собрал корпус.
Шаг 3: Софт
Для веб-камер существует много бесплатных приложений, но я выбрал платное, чтоб не возиться с водяными знаками на изображении, да и хорошего программиста не жалко поддержать.
При первой загрузке приложения, вы увидите экран настроек. Настроек много, но главные нижеследующие:
— Login/Password: так как самоделка связана с Интернетом, то не лишне будет назначить логин и пароль.
— Stream on device boot: если ваш телефон решит перезагрузиться, то эта настройка включит потом веб-камеру снова.
— Start server: щелкните по последней надписи в списке, и видеопоток активируется!
Важное замечание – мои настройки не каноничны, вы можете оперируя с параметрами настроить свой телефон как камеру слежения. Это приложение позволяет записывать видеопетли, реагировать на движение, свет и звук, может делать фото через определенные интервалы и т.д.
Так же в нижней части экрана настроек вы увидите IP адрес, в моем случае, это 10.0.0.21:8080. В принципе миссия выполнена, если вы планируете принимать видеопоток в пределах одного дома, но если вы хотите принимать сигнал удаленно, то придется поработать с маршрутизатором.
Шаг 4: Настройка постоянного IP адреса
Настройка Wi-fi маршрутизатора для новичка кажется сложной, на самом деле это не так, и множество мануалов из Интернета вам помогут.
Первым шагом является поиск IP адреса, для моей веб-камеры это «10.0.0.21:8080», то есть порт 8080 на этом IP-адресе. В большинстве случаев, Wi-Fi маршрутизатор находится в XXX.1, или в моем случае «10.0.0.1». Просто введите это в адресной строке вашего браузера, скорее всего, вы окажетесь на странице входа в ваш маршрутизатор! Так же IP адрес можно найти в мануале маршрутизатора или на его корпусе.
Если вы никогда не входили в систему посредством маршрутизатора, то пароль и логин, скорее всего, назначены стандартные, по умолчанию (они указаны в инструкции или корпусе). Делюсь своей хитростью: я записываю актуальные пароль и логин на бумажке и приклеиваю их скотчем ко дну маршрутизатора.
После того, как вы вошли в систему, вы нужно найти свой телефон и дать ему постоянный IP-адрес. Стандартная процедура маршрутизатора выдает временные IP-адреса, которые меняются каждую неделю или около того, но вам необходимо чтобы веб-камера имела постоянный IP адрес. Возможно с этим придется повозиться, но это довольно просто. Я в подменю «подключенные устройства» изменил DHCP на Reserved IP, ввел свой IP-адрес, и нажал «сохранить».
Шаг 5: Включение режима «Онлайн»
На этом этапе «подключаемся» к Интернету. Ваш маршрутизатор выступает в качестве шлюза между локальной сетью и внешним миром, и IP-адреса на каждой стороне этих ворот отличаются. То есть нужно настроить маршрутизатор так, чтоб он связывал внешний IP c IP камеры. Звучит сложно, но не все так плохо.
Как и на большинстве, в моем маршрутизаторе для перенаправления портов нужно зайти в «Advanced» и «Port Forwarding». Включаем «перенаправление портов», так как по умолчанию эта функция отключена, заходим в браузер, и в строке поиска вводим что-то типа «узнать мой IP адрес». Вы получите набор цифр назад. Чтобы получить доступ к веб-камере, просто введите эту строку чисел в браузере с: 8080 в конце (xxx.xxx.xxx.xxx:8080 – где 8080 это порт моей камеры 10.0.0.21:8080). В принципе рабочая веб-камера готова! Но проверьте соединение с другого устройства, так как иногда в прошивке маршрутизатора есть ошибка, которая не позволяет обратное подключение к Интернету.
Вот пример работы моей веб-камеры, качество не очень, видимо я что-то упустил в настройках:
Шаг 6: Доработка мозгосамоделки
Для своей веб-камеры на 3D принтере я напечатал кронштейн, чтоб постоянно мониторить этот самый принтер. Кронштейн установил на принтер, подключил камеру, и еще установил детектор дыма на всякий случай.
Поделка готова, удачных наблюдений!
( Специально для МозгоЧинов #Make-A-Wi-fi-Webcam-From-An-Old-Android-Phone
Источник
Сверхдешёвая камера с управлением — своими руками
В качестве преамбулы скажу, что поскольку, подобная статья уже была, я по-началу и не собирался писать о камере на хабр.
Камера была сделана, просто ради интереса, тренировки навыков и отработки технологии удалённого управления физическими объектами.
Немного позже использовал эту систему как наглядный пример, сопровождающий обзор, на другом ресурсе (а фактически, в качестве чита что-бы подтянуть голоса). Это был настоящий бета-тест, который выявил кучу недоработок. За это огромное спасибо всем неравнодушным, помогавшим кто советом, а кто и куском кода.
При этом, посетители, которые игрались с камерой, помимо того, что не проходило и часу чтобы не помянули хабр, так ещё и начали активно интересоваться устройством всего этого дела, техническими деталями, программной реализацией и конечно же стоимостью.
Вот это всё и сподвигло меня на статью. А чтобы не повторюшничать, я и решил заостриться на стоимости, т.к. у автора предыдущего топика на эту тему, насколько я помню, итоговая стоимость вылилась во что-то в районе 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р
О реализации
Всё делалось с нуля. Повторять то, что уже было — я не стал, во-первых из соображений тренировки, а во-вторых 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% при вводе рекомендателя + хинт, как использовать эту систему неоднократно.
Все заинтересовавшиеся, могут ознакомиться с полной информацией по ссылке на страничке с, собственно, самой камерой.
Ссылки
Камера, работающий экземпляр, для тех кто ещё не видел и не наигрался
Топик, в котором ссылку на камеру слили на хабр раньше времени
RAMDisk
juction
Исходники (упрощённые, во избежание) клиентской части, серверной (php) и программы web-arduino-прокси (VB 6.0)
Apache, php, либо какие-то комбинированые сборки и т.д. — на свой вкус.
Источник