• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 только жалуется, что медленный, да и то, это только у некоторых. Впрочем, как уже писал, проблема легко решается.
 
Сверху Снизу