• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

arduino+esp8266+webcam?

maks100

New member
Задача стоит такова:


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

Scorpio

New member
А зачем именно на ардуино? Теоретически вероятно можно подключить какую-нибудь старую вебку 640х480 к дуне через USB Host Shield, но скорость будет минимальная и качество отстой. Это тот случай, когда игра не стоит свеч.
 

maks100

New member
А зачем именно на ардуино? Теоретически вероятно можно подключить какую-нибудь старую вебку 640х480 к дуне через USB Host Shield, но скорость будет минимальная и качество отстой. Это тот случай, когда игра не стоит свеч.
в этот момент на ардуине просто дофига всяких нужных приборов стоит) и без уно в проэкте не обойтись...
 

VDLab

New member
USB вебку подключить вряд ли получится, а вот с UART выходом - вполне, на выходе у нее готовый JPEG-поток, остается только сформировать страницу, да гнать поток прямо с UART пользователю. Из активных действий - только разделители (boundary) кадров вставлять, получается достаточно стандартный для предыдущего поколения вебкамер MJPEG поток.
У китайцев таких полно, правда большая часть из них с VGA разрешением, но встречаются модели и покруче, но ценник на них вообще не гуманный - за такие деньги можно неплохую готовую вебку купить.
upd. Оказывается такого типа камеры сейчас даже с SPI интерфейсом есть
 
Последнее редактирование:

pvvx

Активный участник сообщества
Из активных действий - только разделители (boundary) кадров вставлять, получается достаточно стандартный для предыдущего поколения вебкамер MJPEG поток.
А кто-ж вам на ESP напишет RTP и RTSP драйвера и api?
Это есть только на RTL в Ameba Arduino.
У китайцев таких полно, правда большая часть из них с VGA разрешением, но встречаются модели и покруче, но ценник на них вообще не гуманный - за такие деньги можно неплохую готовую вебку купить.
Готовая и выйдет дешевле. Ценник то вокруг 1.5 руб с БП и шнурками и всё ПО с исходниками давно есть. Выходы I/O для управления воротами у всех камер есть и интерфейс с телефона к ним есть. Они включаются на версии подороже на механизм позиционирования... крутить камерой. Так-же есть входы внешней сигнализации, тоже в меню управления есть... UART ток-же имеется, проц там жирный с много мегабайт RAM и система типа OpenWRT...
 

VDLab

New member
А нафига для MJPEG RTSP драйвер? это же не новомодные кодеки всякие, тег <img> воткнул со ссылкой на поток и вперед, примеров в сети предостаточно. Единственный недостаток - IE не поддерживает без сторонних плагинов потоковое вещание, ну, да это уж как-нибудь можно пережить :)
 

pvvx

Активный участник сообщества
А нафига для MJPEG RTSP драйвер? это же не новомодные кодеки всякие, тег <img> воткнул со ссылкой на поток и вперед, примеров в сети предостаточно. Единственный недостаток - IE не поддерживает без сторонних плагинов потоковое вещание, ну, да это уж как-нибудь можно пережить :)
Картинку гнать или видео?
Ссылку то дайте, где "примеров в сети предостаточно"...
Пока на простых чипах есть только это:
Ameba Arduino: [RTL8195] UVC – Video Streaming – Realtek IoT/Arduino Solution
Ameba Arduino: [RTL8195] Ameba Video Camera – Realtek IoT/Arduino Solution

На сегодня самое простое и дешевое (и маложручее) решение:
MINI 3G WIFI (372,43 руб.) + почти любая WebСamera (дрова для линух). У модуля 150Mbps + OpenWRT. (Устанавливаете облегченную версию CyberWRT, жмыкаете кнопочками типа http://cyberwrt.ru/demo/index.php?categories=Drivers Драйвер_WebCam + ещё пару прямо на HTTP странице модуля и всё уже работает - никаких Arduin и прочих заморочек :) )

Затем, по цене, но WiFi не отлажен, идет Orange PI Zero + почти любая WebСamera (дрова для линух).

Далее идет RTL8195AM + описанные в доках камерки. Но он последний в ряду, т.е. купить модуль на али не выйдет. А другие предложения с дикой надбавкой. Когда китайцы на али увидят спрос - появится по цене менее всех тут описанных.

Замыкает список (по цене) готовые WiFi-Web-камеры на али, про те что уже дал ссылки.
 
Последнее редактирование:

VDLab

New member
MJPEG это и есть картинка, точнее непрерывный поток JPEG изображений, разделенных определенной последовательностью символов (boundary) - произвольным набором символов, главное, чтобы он в изображении не встретился, что нибудь типа "-=ThisIs=3mIgHoFBo45AuhPNuLb=BoundarY=-". Дальше браузер разберется, что с ним делать.
Примеры? Только не говорите, что гуглить не умеете. Ну, вот, первое попавшееся - Добавление потока от IP-камеры на свой сайт
Вместо адреса камеры указываем адрес своего потока, единственное, там перед выдачей потока надо еще небольшой заголовок сформировать вроде(или это в коде html надо указать?), за давностью лет уже не помню, но тоже ничего сложного.
 

pvvx

Активный участник сообщества
MJPEG это и есть картинка, точнее непрерывный поток JPEG изображений, разделенных определенной последовательностью символов (boundary) - произвольным набором символов, главное, чтобы он в изображении не встретился, что нибудь типа "-=ThisIs=3mIgHoFBo45AuhPNuLb=BoundarY=-". Дальше браузер разберется, что с ним делать.
Примеры? Только не говорите, что гуглить не умеете. Ну, вот, первое попавшееся - Добавление потока от IP-камеры на свой сайт
Вместо адреса камеры указываем адрес своего потока, единственное, там перед выдачей потока надо еще небольшой заголовок сформировать вроде(или это в коде html надо указать?), за давностью лет уже не помню, но тоже ничего сложного.
Это отговорка - где код для SoC с WiFi уровня ESP8266 или немного более (общий RAM до 500 кило) ?
Работу Web-камеры наблюдаю только в Ameba на RTL8195AM. На RTL871x нет USB.
Дети хотят дешево запускать всякие машинки с камерами, а вы держите код!? ;)
У них в наличии по 120 рупь есть только модули ESP8266 (WiFi 54Mbit/s, 190к RAM всего на всё) и RTL00(WiFi 150Mbit/s HT40 512к RAM всего на всё) с али...
 
Последнее редактирование:

VDLab

New member
А код (почти весь) вы уже сами написали в своей "свалке", там делов то:
1. Выдать по запросу html страницу с соответствующим тегом.
2. Когда браузер полезет за изображением по ссылке, дать команду камере выдать кадр в uart, потом то, что она выдает без какой либо обработки выплевывать браузеру, после окончания кадра выдать boundary.
3. Повторять п. 2 пока юзеру не надоест.
 

pvvx

Активный участник сообщества
А код (почти весь) вы уже сами написали в своей "свалке", там делов то:
1. Выдать по запросу html страницу с соответствующим тегом.
2. Когда браузер полезет за изображением по ссылке, дать команду камере выдать кадр в uart, потом то, что она выдает без какой либо обработки выплевывать браузеру, после окончания кадра выдать boundary.
3. Повторять п. 2 пока юзеру не надоест.
Не лезет:
1) Поток по UART - ESP8266 на 60% загружен обработкой UART - DMA то нема и высоких скоростях UART каюк - 3мегабита и проц в ауте.
2) Нет дешевых камер на UART или SPI
3) Нет драйверов RTSP и т.д., чтобы детки не мучались
У RTL 871x есть RTSP и api к нему для передачи видео со звуком. Тем более он обкатан. Но у RTL871x нет USB, но есть всевозможные интерфейсы с полноценными DMA (в RTL каналов DMA более десятка). Цена на RTL8710AF скоро будет менее ESP8266.
Камера должна стоить не более чем в два раза цены модуля. Иначе детки купят мопед или банку пиву, а не камеру.
 
Последнее редактирование:

VDLab

New member
Лезет.
1. Поток от таких камер как правило не более 115200 из коробки, даже в самых крутых 2 мегапиксельных моделях не более 1,2 мегабита. Медленно? Ну да, так ведь требования к fps не были озвучены, да и требуемое разрешение не указано... А то ведь можно картинку 160х120 гнать, будет даже несколько кадров в секунду :)
2. Ну так это изначально понятно, купить готовое решение у китайцев всегда дешевле, чем сделать свое. А мы здесь (не только в этой теме, но и на всем форуме) обсуждаем разные рецепты каши из топора. Человеку надо на ESP8266 - я ему сказал как можно. Будут конкретные вопросы по реализации - поскриплю мозгами, повспоминаю и подскажу.
3. Ну, это проблемы тех, кому нужно RTSP. А старые вебки на контроллерах чуть ли не на порядок более слабых чем ESP-шка прекрасно обходились и без него. А деток жалко, да :) Но код за них писать не хочется.
 

pvvx

Активный участник сообщества
Лезет.
1. Поток от таких камер как правило не более 115200 из коробки, даже в самых крутых 2 мегапиксельных моделях не более 1,2 мегабита. Медленно? Ну да, так ведь требования к fps не были озвучены, да и требуемое разрешение не указано... А то ведь можно картинку 160х120 гнать, будет даже несколько кадров в секунду :)
2. Ну так это изначально понятно, купить готовое решение у китайцев всегда дешевле, чем сделать свое. А мы здесь (не только в этой теме, но и на всем форуме) обсуждаем разные рецепты каши из топора. Человеку надо на ESP8266 - я ему сказал как можно. Будут конкретные вопросы по реализации - поскриплю мозгами, повспоминаю и подскажу.
3. Ну, это проблемы тех, кому нужно RTSP. А старые вебки на контроллерах чуть ли не на порядок более слабых чем ESP-шка прекрасно обходились и без него. А деток жалко, да :) Но код за них писать не хочется.
Начнем с начала: Дешевая web-камера и не картинки, а видео, которое можно смотреть не печалясь - это от 15 кадров и хотя-бы 640x480.
Это самый минимум из которого можно сказать что это видео поток. Остальное - это уже фото в низком качестве.
1200 точек или 720 на 15/30 кадров - это уже готовое стоит 1200 рупь. На айфонах и в MS эксплорере показывает и управляется. В Хроме не работает. Хром запретил поддержку:
Снимок1241.gif
В MS эксплорере эти камерки по 1.2т.р. с ИФК подсветкой и кнопочками крутилки выведенными на I/O платы (надо разбирать корпус):
Снимок1244.gif
Работают уже более года - ни разу ни одна не зависла. Кроме видео посылают по таймерам или по движению в выставленном регионе на почту кадрики уже более года и пишут на microSD - буду из них собирать видео за год :) Переговорное устройство тоже в них встроено - микрофон и динамик.
Веселая с них почта - фото и подпись:
Dear Sir/Madam
Thanks for using our company's IP Camera.
This email that you received is recorded and sent out automatically by the IP Camera.
The reason is as follows:
Timing captured At Time: 01/26/2017 00:01:00 Device number:SW******* Device name:HD IPC
Please check the recorded file timely.Thanks for your cooperation!

Эта работает уже с Timing captured At Time: 01/19/2016 06:00:00 Device number:SW... Тысячи писем с фото в почте...
 
Последнее редактирование:

VDLab

New member
Это самый минимум из которого можно сказать что это видео поток. Остальное - это уже фото в низком качестве.
Не выдумывайте. Это ваши личные критерии.
...В MS эксплорере эти камерки по 1.2т.р...
А эти камерки могут не просто поток выдавать, а, как нужно топикстартеру, отображать его на произвольной страничке, да еще и с органами управления (что конкретно они должны делать - еще предстоит выяснить)?
И RTL-ки здесь не в тему, USB в них нет, как и в ESP-шках - значит дешевые веб-камеры не подключишь. Да даже если бы и был - с такой производительностью ничего приличного не получится, разве что тот же MJPEG, и то, только потому, что камеры, как правило его в USB и выдают.
А топикстартеру, если ему "нужно ехать а не шашечки"© лучше посмотреть на более "взрослые" модули, типа Orange PI Zero (самое дешевое, что находил у китайцев, около 7$ за версию с 256 МБ ОЗУ). Там уже и линукс полноценный, и производительности достаточно практически для всего, и USB нормальный есть. Паять ничего не нужно, по большому счету и писать почти не придется - готового кода полно.
 

pvvx

Активный участник сообщества
Не выдумывайте. Это ваши личные критерии.
Как это выглядит на 4K мониторе?
А эти камерки могут не просто поток выдавать, а, как нужно топикстартеру, отображать его на произвольной страничке, да еще и с органами управления (что конкретно они должны делать - еще предстоит выяснить)?
Могут - нет проблем, но там QuickTime плагин, а он не пашет теперь на Хроме...
И RTL-ки здесь не в тему, USB в них нет, как и в ESP-шках - значит дешевые веб-камеры не подключишь. Да даже если бы и был - с такой производительностью ничего приличного не получится, разве что тот же MJPEG, и то, только потому, что камеры, как правило его в USB и выдают.
А топикстартеру, если ему "нужно ехать а не шашечки"© лучше посмотреть на более "взрослые" модули, типа Orange PI Zero (самое дешевое, что находил у китайцев, около 7$ за версию с 256 МБ ОЗУ). Там уже и линукс полноценный, и производительности достаточно практически для всего, и USB нормальный есть. Паять ничего не нужно, по большому счету и писать почти не придется - готового кода полно.
Ну самое дешевое и есть комплект сразу готовой камеры (с БП и шнурочками).
Всё остальное "топикстартеру" не освоить. В Orange PI Zero пока кривой WiFi... Старый или подарочный от провайдера роутер пойдет ещё лучше с OpenWRT. Главное что это надежнее и паять ничего не надо.
 

VDLab

New member
Как это выглядит на 4K мониторе?
Точно так же как и на остальных мониторах.
Могут - нет проблем, но там QuickTime плагин, а он не пашет теперь на Хроме...
То есть на чужой, сгенерированной другим устройством странице могут? А сами эту страничку могут выдать? Еще и плагин ставить, да еще и не всеми браузерами поддерживается...
В Orange PI Zero пока кривой WiFi...
По секрету - там еще и LAN есть, и даже с зачатками POE, а еще там не один, а три USB порта, в один из которых можно воткнуть USB-WIFI свисток, или вообще 3G модем(но тут придется повозиться - не все заводятся на линуксе), чтоб вообще мобильно было.
Всё остальное "топикстартеру" не освоить.
Ну, если топикстартер сюда только за готовым скетчем пришел, не желая разбираться в коде - то да, не освоить.
Старый или подарочный от провайдера роутер пойдет ещё лучше с OpenWRT. Главное что это надежнее и паять ничего не надо.
Тоже вариант, хоть по производительности, да и по объемам ОЗУ/ПЗУ он и в подметки не годится, да и готовых решений, в отличие от вышеупомятой Orange Pi, и целой кучи подобных плат, скорее всего не будет.
 

pvvx

Активный участник сообщества
Точно так же как и на остальных мониторах.
Большим жирным пятном?

То есть на чужой, сгенерированной другим устройством странице могут? А сами эту страничку могут выдать? Еще и плагин ставить, да еще и не всеми браузерами поддерживается...
Без плагинов видео вооще не работает. В тестовом виде буквами в HTML ? :) :) Там на устройстве web с кучей памяти.
По секрету - там еще и LAN есть, и даже с зачатками POE, а еще там не один, а три USB порта, в один из которых можно воткнуть USB-WIFI свисток, или вообще 3G модем(но тут придется повозиться - не все заводятся на линуксе), чтоб вообще мобильно было.
Вы про проц со встроенной и внешней SDRAM, который стоит на камерках с внешним чипом WiFi Realek? Там всё досконально известно - доки же есть, хоть не совсем полные, но достаточные...
Тоже вариант, хоть по производительности, да и по объемам ОЗУ/ПЗУ он и в подметки не годится, да и готовых решений, в отличие от вышеупомятой Orange Pi, и целой кучи подобных плат, скорее всего не будет.
Но на RTL8195AM пашет же. И более менее по вашим-же критериями. А чип дешевый, просто китайцы не продают на али, т.к. нет спроса. Не просекли ещё...
 

VDLab

New member
Большим жирным пятном?
От разрешения зависит.
Без плагинов видео вооще не работает.
А MJPEG работает :p В виде движущейся картинки :)
Вы про проц со встроенной и внешней SDRAM, который стоит на камерках с внешним чипом WiFi Realek?
Нет, я про Raspberry, Orange, Banana и прочие фруктовые Pi. Вот как раз
Там всё досконально известно - доки же есть, хоть не совсем полные, но достаточные...
чтобы слепить загрузчик, и состряпать дистрибутив линукса. С камерами сложнее - доки может и можно найти, а вот исходниками прошивок производители почему то не спешат делиться. Есть одинокие ковырятели бинарников, но, на сколько я знаю, особых успехов они не достигли.(хотя, последние год-полтора не особо интересовался их успехами, может что-то и нарыли за это время)
Но на RTL8195AM пашет же. И более менее по вашим-же критериями.
Давайте все же разберемся, как пашет то? Откуда RTL-ка берет видеопоток? с ЮСБ? Поток уже готовый, пожатый уже камерой, а RTL только выплевывает принятый поток в сеть? Или просто отображает на страничке окно со ссылкой на видеопоток с отдельно стоящей ip-камеры?
А чип дешевый, просто китайцы не продают на али, т.к. нет спроса. Не просекли ещё...
А пока китайцы просекают, я возьму ту же "АпельсинПи" за 7$(или версию с 512МБ ОЗУ за 9$) и за вечер сваяю то, что мне нужно, возможно даже не написав ни строчки кода.
 

pvvx

Активный участник сообщества
От разрешения зависит.

А MJPEG работает :p В виде движущейся картинки :)
Нет.
чтобы слепить загрузчик, и состряпать дистрибутив линукса. С камерами сложнее - доки может и можно найти, а вот исходниками прошивок производители почему то не спешат делиться. Есть одинокие ковырятели бинарников, но, на сколько я знаю, особых успехов они не достигли.(хотя, последние год-полтора не особо интересовался их успехами, может что-то и нарыли за это время)
Да там давно всё лежит, но ковырятелям всё равно - они же не переписывают код и не пишут свой - они, делают "патчи". А это без разницы в бинарниках или исходниках :) Но больше даже заняты не "патчем", а перестановкой-удалением-добавлением кубиков - кусков неизвестного им кода. Там вообще без разницы в бинарном или каком виде. Потом в скрипте припишут, что это версия от того, а это от другого и половина не работает :)
Давайте все же разберемся, как пашет то? Откуда RTL-ка берет видеопоток? с ЮСБ? Поток уже готовый, пожатый уже камерой, а RTL только выплевывает принятый поток в сеть? Или просто отображает на страничке окно со ссылкой на видеопоток с отдельно стоящей ip-камеры?
Просто перекладывает поток из камеры USB в поток обрамленный RTSP.
В других случаях что-то другое? :)
А пока китайцы просекают, я возьму ту же "АпельсинПи" за 7$(или версию с 512МБ ОЗУ за 9$) и за вечер сваяю то, что мне нужно, возможно даже не написав ни строчки кода.
И не выйдет ничего хорошего - там кошмары с WiFi -Доперставлялись кубоков из разных версий.
"Пока" будет всегда. Всегда есть отстающие :)
 
Последнее редактирование:

VDLab

New member
Да. (кроме, как уже писал, IE)
Просто перекладывает поток из камеры USB в поток обрамленный RTSP.
То есть делает тоже, что и с UART или SPI камерой. Но с пафосом. Причем не факт, что на выходе вебки что-то круче того же mjpeg-а, дешевые только такое умеют.
В других случаях что-то другое? :)
Да. Например в более нафаршированных версиях "xxx-Pi" есть разьемы для подключения модулей камеры с "сырыми данными". Не забываем и про полноценный USB, к которому можно подключить... Да много чего можно, хоть аналоговое видео захватывать и в сеть стримить. И у него хватит ресурсов, чтобы сжать их большинством из доступных кодеков, наложить титры, фильтры, ну и т.п. Естественно и обрамить получившийся поток веб-страничкой с любым нужным изображением и органами управления тоже проблемы не составляет.
И не выйдет ничего хорошего - там кошмары с WiFi -Доперставлялись кубоков из разных версий.
Например? Пока народ на 4pda только жалуется, что медленный, да и то, это только у некоторых. Впрочем, как уже писал, проблема легко решается.
 
Сверху Снизу