You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
4.4 KiB
121 lines
4.4 KiB
# rpi_remote_cam
|
|
|
|
Проект видео сервера от Bauman Robotics.
|
|
|
|
# Инструкция
|
|
|
|
1. Нужна настройка малины
|
|
```bash
|
|
sudo raspi-config
|
|
# нужно подключится к вафле
|
|
# нужно включить shh и uart камеру
|
|
```
|
|
|
|
2. Установка пыхи и ингинкса [отсюда](https://kropochev.com/?go=all/install-nginx-and-php-on-raspberry-pi/)
|
|
|
|
```bash
|
|
sudo apt-get update && sudo apt-get upgrade
|
|
sudo apt-get install nginx
|
|
sudo apt-get install php7.0-fpm php7.0-cgi
|
|
|
|
sudo nano /etc/nginx/sites-available/default
|
|
# Добавить в строку ниже index.php
|
|
# Add index.php to the list if you are using PHP
|
|
index.php index.html index.htm index.nginx-debian.html;
|
|
# раскомментировать сл строки.
|
|
location ~ \.php$ {
|
|
include snippets/fastcgi-php.conf;
|
|
# With php-fpm (or other unix sockets):
|
|
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
|
|
# With php-cgi (or other tcp sockets):
|
|
#fastcgi_pass 127.0.0.1:9000; # ЗАКОМЕНТИРОВАТЬ !!!
|
|
}
|
|
|
|
sudo /etc/init.d/nginx reload
|
|
|
|
# Чтобы протестировать PHP
|
|
cd /usr/share/nginx/www
|
|
sudo nano index.php
|
|
# Добовляем туда строку
|
|
<?php phpinfo(); ?>
|
|
```
|
|
|
|
3. Камера [отсюда](https://habr.com/post/125216/) и [отсюда](http://academicfox.com/raspberry-pi-usb-web-kamera-potokovoe-vydeo-strym/) еще есть описание в хакере за 2008г :) номер [111](http://xakep-archive.ru/xa/111/098/1.htm) нормальная документация [сдесь](https://motion-project.github.io/motion_guide.html)
|
|
|
|
|
|
``` bash
|
|
# Если у вас камера от расбери неообходимо включить модуль ядра
|
|
sudo nano /etc/modules
|
|
# Добавить туда
|
|
# /etc/modules: kernel modules to load at boot time.
|
|
#
|
|
# This file contains the names of kernel modules that should be loaded
|
|
# at boot time, one per line. Lines beginning with "#" are ignored.
|
|
|
|
bcm2835-v4l2
|
|
# Далее в папке /dev/ появится video0
|
|
|
|
sudo apt-get install motion
|
|
sudo nano /etc/motion/motion.conf
|
|
# Для сервера будет висеть на :8081
|
|
daemon on
|
|
stream_localhost off
|
|
# Настройки видео
|
|
width 720
|
|
height 480
|
|
framerate 30
|
|
|
|
stream_maxrate 30
|
|
|
|
threshold 150000 # очень маленькая чуствительность чтобы не делала фото при обнаружении движения
|
|
|
|
sudo nano /etc/default/motion
|
|
start_motion_daemon = no (меняем на yes)
|
|
```
|
|
Теперь можно зайти на ip малины с портом 8081 и увидеть видео.
|
|
|
|
4. Больше видео
|
|
|
|
Как сделать скрин?
|
|
|
|
```ffmpeg -i http://10.174.136.143:8081/ -vframes 1 output.jpg```
|
|
|
|
Как записать 10с видео?
|
|
|
|
```ffmpeg -i http://10.174.136.143:8081/ -t 00:00:10 out_video.avi```
|
|
|
|
5. Разбираемся с сервоприводами.
|
|
|
|
Есть 3 спосрба управления сервами с помощью ARM процессора:
|
|
* Софтверный ШИМ
|
|
* Использование внешнего контроллера (например ардуино)
|
|
* Генерация ШИМ с помощью [DMA](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D1%8F%D0%BC%D0%BE%D0%B9_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF_%D0%BA_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8)
|
|
|
|
Первый способ сьедает время процессора, 2й много поять, 3й идеален для нас. Не будем изобретать велосипед и возьмем проект с гита.
|
|
|
|
```bash
|
|
git clone http://github.com/richardghirst/PiBits.git
|
|
cd PiBits/ServoBlaster/user
|
|
make
|
|
sudo make install
|
|
|
|
# Проверяем установился ли Servoblaster корректно:
|
|
ls /dev | grep servoblaster
|
|
#Должны увидеть:
|
|
servoblaster
|
|
servoblaster-cfg
|
|
|
|
# Теперь чтобы управлять сервой пробуем
|
|
echo 1=100 > /dev/servoblaster
|
|
# 1 - номер сервы, 100 - угол поворота
|
|
|
|
```
|
|
|
|
N. Пишем на пыхе
|
|
|
|
|
|
|
|
|
|
------------------------------------------
|
|
|
|
https://github.com/silvanmelchior/RPi_Cam_Web_Interface
|
|
|