LINUX.ORG.RU
ФорумTalks

LORduino :) Когда программисту делать нечего…

 ,


0

4

В общем, под влиянием темы С днём программиста от craftduino! я тут такое слепил:

http://home.balancer.ru/lorduino/

:D

И туда же — usb 5-2: Not enough bandwidth for altsetting 0

Раскладка по времени примерно такая вышла:
— Подцепить к Arduino индикатор — около получаса или часа. Это не сегодня делал.
— Написать скетч, который берёт с USB serial данные и выводит на экран — минут 15
— Попытка придумать, что вывести на экранчик вразумительного, чтобы выложить на ЛОР скрин в ответ на предыдущий топик и эксперименты, в которых я пытался выдернуть ЛОР, привести в приятный вид и вывести в 20x4 в транслите — около часа.

В итоге ничего приятного глазу получить не удалось. Но в голове родилась идея. Разрешить постить посторонним. И показывать результат по веб-камере.

— Эксперименты по организации трансляции — часа два, если не три o_O , пока не удалось собрать на коленке приемлемый результат.
— Написание скрипта, который бы помещал результат из формы в Ардуино — 10 минут

Тут пришла мысль реализовать в приятном виде и с историей.
— Реализация «чата» — 30 минут.

Ловите итог :)

Состав программно-аппаратного комплекса:
— Arduino Nano
— LCD 20x4 4-х битный, Китай
— Microsoft WebCam HD-5000
— Gentoo (фронтенд), Ubuntu (бэкенд)
— VLC (трансляция)
— PHP, Bootstrap 3, Flowplayer, BORS©

Так как-то :) Всё свалено в кучу и в аппаратом, и в программном, и в системном смысле. Но, вроде, работает. Хотя не знаю, как оно пойдёт из-за NAT'а.

★★★★★

Всё свалено в кучу и в аппаратом, и в программном, и в системном смысле.

Специалисты АНБ в панике кусают локти, пытаясь понять «хитрый план» :)

quickquest ★★★★★
()

Прикольно, но не фонтан. Раньше делали и круче вещи на ява-апплетах: управляемые машинки и т.п.

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

У тебя при обновлении страницы повторяется последний реквест.

Просто отсылай пустое сообщение :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от gh0stwizard

Раньше делали и круче вещи на ява-апплетах: управляемые машинки и т.п.

Ежу понятно, что можно и круче. Но для того, чтобы вечером руку набить — и такое сойдёт :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от quickquest

Специалисты АНБ в панике кусают локти, пытаясь понять «хитрый план» :)

Я предвижу в скором виде трансляцию погоды за окном путём показа «экрана Ардуино» по Веб-камере :)

В смысле мирового тренда…

KRoN73 ★★★★★
() автор топика

БАГРЕПОРТ

Если начать сообщение с решетки, ничего не высветится =)

l0stparadise ★★★★★
()
Ответ на: комментарий от gh0stwizard

Я в опере 12 оправил сообщение, решил посмотреть что в чате написали - сделал обновить и реквест повторился =\

Ладно, уломали. Пофиксил :) Хотя я подразумевал для обновления «отправку пустого сообщения».

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от Kalashnikov

Так все браузеры будут себя вести из-за быдлокода в хтмл.

HTML тут, как раз, вообще не у дел.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

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

Kalashnikov ★★★
()
Ответ на: комментарий от Kalashnikov

Ты форму отправляешь по-умолчанию на ту же страницу где она стоит и в ответ выдаёшь код страницы.

Угу. Только при чём тут _HTML_?

KRoN73 ★★★★★
() автор топика

Интересный баг был. vlc было сказано отдавать 15fps, так он не ресемплинг делал, а отдавал поток вдвое медленнее. Соответственно, постоянно нарастало отставание от реала ;) Сейчас, вроде, тоже чуть отстаёт, но гораздо меньше.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Не, фигушки. Сильно отстаёт :-/

KRoN73 ★★★★★
() автор топика

html5: Unsupported video format. Try installing Adobe Flash.

Stil ★★★★★
()
Ответ на: комментарий от Deleted

Под андроидом не работает.
html5: Unsupported video format. Try installing Adobe Flash.

Ну, я не стал экспериментировать и видеопоток во flash погнал.

А что сейчас из альтернатив во всех браузерах будет показываться? Пришли к какому-то стандарту? А то война Firefox vs Chrome как-то не даёт определиться.

KRoN73 ★★★★★
() автор топика

Сначала не понял почему так много пустого места сверху. Потом до меня дошло отключить noscript)

snaf ★★★★★
()

Ладно, гулять, так гулять. Сделал нормальный чат, с обновлением и AJAX :)

KRoN73 ★★★★★
() автор топика

Ай молодца! Респект, круто.

Dron ★★★★★
()
Ответ на: комментарий от abraziv_whiskey

Поставил.

Добавил поддержку ников и граватаров по e-mail'ам.

KRoN73 ★★★★★
() автор топика

Забавный эффект. Firefox игнорирует опцию autoplay тега video. Запускать приходится вручную. И, соответственно, видео идёт с задержкой от реального времени.

KRoN73 ★★★★★
() автор топика

Как бы вот:

<b class="lead usernick">
<script>document.write('На LORе одни натуралы и интеллектуалы, всех благ вам, достопочтимые сэры!')</script>
</b>

aidaho ★★★★★
()
Ответ на: комментарий от BambarbiyaKirgudu

а я думал это специальная шутка такая

Едва ли крон посчитал бы подобную шутку достаточно смешной для публикации.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Да, отвык уже без фреймворка писать, забыл заэкранировать юзерник :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от pi11

А почему фокус камеры постоянно «гуляет»?

Камера с автофокусом и что-то ей с освещением, что ли, не нравится. Ночью фокус хорошо держался. И свет подсветки сейчас слепит, хотя ночью нормально был (хотя внешнее освещение темнее). Странно :)

KRoN73 ★★★★★
() автор топика

Задача №1, которую сам не могу пока решить — сделать мультипотоковое кодирование видео, flv (как сейчас) + ogg или webm. (Кстати, что лучше?) Тогда есть шанс, что заработает без флеша в html5-браузерах.

Задача №2, тоже сам не осилил — борьба во flowplayer с буферизацией. Чтобы видео не отставало. Пока решил тупым перезапуском плеера каждые 30 секунд. И на всякий случай всю страницу перегружаю раз в две минуты.

KRoN73 ★★★★★
() автор топика

если текст не влазит в 20х4 символов, что тогда? Хвост теряется?

Можно сделать прокрутку

Harald ★★★★★
()
Ответ на: комментарий от Harald

если текст не влазит в 20х4 символов, что тогда? Хвост теряется?

На дисплее не показывается, в чате — до 4кбайт

KRoN73 ★★★★★
() автор топика

Трансляцию VLC делал из консоли или GUI? Если первое поделись строчкой, а то у меня были проблемы недавно, не разобрался.

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

Трансляцию VLC делал из консоли или GUI?

cvlc v4l:// :v4l-vdev="/dev/video0" :v4l-fps=30 --sout '#transcode{vcodec=FLV1,vb=512}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8090/stream.flv}'
KRoN73 ★★★★★
() автор топика
Последнее исправление: KRoN73 (всего исправлений: 1)

VLC для видеотрансляции в HTML5, таки, не совсем готов :-/ Или я так и не осилил. Мультипоточность делается так:

cvlc v4l:// :v4l-vdev="/dev/video0" :v4l-fps=30 --sout '#duplicate{dst="transcode{vcodec=FLV1,vb=300}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8090/stream.flv}",dst="transcode{vcodec=theo,vb=300}:std{access=http{mime=video/ogg},mux=ogg,dst=0.0.0.0:8090/stream.ogv}",dst="transcode{vcodec=mp4v,vb=300}:std{access=http{mime=video/mp4},mux=asf,dst=0.0.0.0:8090/stream.mp4}"}'

А вот дальше — проблема. ogv-поток идёт какой-то кривой. mplayer на нём падает. На форумах пишут, что это баг воспроизведения ffmpeg. Сам vlc играет. В браузере (Хром) поток запускается, хотя и с тормозами, но всякая сопутствующая информация (длительность и т.п.) — мусор.

mp4 через mplayer играет отлично. Через браузер выдаёт «html5: file not found».

webm через vlc в никаком рабочем виде так и не получил.

Так что пока приходится сидеть на flv

KRoN73 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.