Search the Community
Showing results for tags 'arduino'.
Found 1 result
-
Sort By
- Date
- Relevancy
-
Зашел я как то пару месяцев назад в зоомагазин и увидел Дегу. Это вроде как чилийские белочки (хотя смахивают на крыс ))) ). Зверьки шустрые и интересные. В общем теперь я заядлый деговод ))) 3 самки + 1 самец. На текущий момент уже 5 мелких спиногрызов. Днем бегают. Ночью спят. Забавные. Это предыстория. Собственно почему тут пишу: Давно давно хотел организовать автоматизацию просмотра/кормления/играния с мелкими животными. Но тогда (давно) не было ардуино. А сейчас есть ))) На текущий момент: 1 - Есть raspberry pi 2 с родной камерой. Камера прилеплена к двум сервам. К интернету подключена через WiFi-свисток. 2 - Сервами с прилепленной на них камерой шевелит ардуина через Multiservo Shield. 3 - на клетку навесил лазер + фоторезистор. Лазерный луч проходит через барабан, в котором бегают белки. На основании прерывания луча получаю данные о кручении барабана. В итоге получилась такая вот связка: ** Ардуина ** Ардуина мониторит команды, приходящие из Serial. Если пришла команда поворота камеры по X - крутим одной сервой на нужный угол. Если пришла команда поворота камеры по Y - крутим другой сервой. Как только обработали команду поворота той или иной сервой - кидаем обратно в Serial отбойку, что поворот успешно осуществлен. Ардуина мониторит фоторезистор. Как только фиксирую, что барабан прокрутился - кидаю в Serial информацию о этом. ** Raspberry pi 2 ** Подключена по USB к ардуине. Компиляцию скетчей выполняю тут же. Малинка слушает USB-порт, на который навешана ардуина. Raspberry делает сразу несколько вещей: 1 - Постоянно мониторит базу данных удаленного сайта (http://degu.live) на предмет записей, говорящих о том, что надо повернуть камеру. Ну то есть когда на сайте кто то нажимает на кнопку поворота камеры - в базу данных пишется строка, что нужно выполнить соответствующую команду. И этой строке присваивается признак, что она еще не выполнена. Малинка как раз мониторит подобные записи на удаленном сайте. Как только находится еще не выполненная команда - она эту команду кидает в виде сообщения в порт с USB на ардуино, а в базу данных для команды указывает статус = выполнено. 2 - Если из порта с USB приходят сообщения от ардуины - то происходит анализ того, что пришло: Если это пришли отбойки о том, что камера повернулась по X или Y - в этих отбойках есть указание текущего градуса поворота. Эти данные raspberry пишет в базу данных на удаленном сайте и эти данные выводятся на странице в статистике. Если из ардуины пришла отбойка о том, что барабан прокрутился один раз - малинка пишет в удаленную базу данных этот факт. На основании этих записей сайт уже будет строить данные о текущей скорости/расстояниях вращения барабана. 3 - Raspberry pi 2 получает данные с своей встроенной камеры (которая висит на сервах), кодирует их кодеком h264 при помощи ffmpeg и отправляет на удаленный сайт в виде rtmp-потока ** Удаленный сайт Degu.Live ** Это уже отображает изображение с камеры + дает возможность управлять положением камеры + отображение статистики. 1 - На сервере настроил возможность прямой трансляции из RTMP-потока. Если в кратце, то это у nginx расширение nginx-rtmp-module. Более подробно как я там все настраивал есть тут:https://spravkacrm.ru/forums/topic/19-настройка-прямой-видео-трансляции-на-сайте-при-помощи-raspberry-pi-2/ 2 - Настроил веб-сервер на YII2 для отображения самого сайта. 3 - Настроил WebSocket на phpDaemon - для получения данных о статистике + отправка данных о кликах на элементах управления камерой. WebSocket - это новая возможность осуществления запросов на сервер и получения ответа + рассылка ответов сервера на все клиенты - намного ловчее, чем AJAX. В общем на текущий момент можно смотреть за дегусятинами. Можно крутить камерой в каком то диапазоне. В ближайшее будущее хочу прилепить туда подсветку в клетку (Управление с страницы) + думаю над тем, как бы организовать подачу вкусняшек (пока мысль остановилась на чем то типа спирали в трубе, спираль будет крутить мотор на нужные углы и тем самым в трубе проталкивать вкусняки). Плюс надо с камерой что то еще придумать. От малинки камера конечно прикольная, но очень маленький угол обзора.
- 2 replies
-
- трансляция
- raspberry
-
(and 1 more)
Tagged with: