Проект видео сервера от Bauman Robotics.
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.
 
 
 
rpi_remote_cam/README.md

137 lines
4.8 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 update && sudo apt upgrade
sudo apt install nginx php7.3-fpm php7.3-cgi git tmux
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
sudo nano /var/www/html/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 - угол поворота
```
6. Разбираемся с Питоном.
```bash
sudo apt install python3-pip
pip3 install twisted autobahn pyserial
```
```bash
git clone https://gitlab.com/zenls/rpi_remote_cam
sudo cp -r rpi_remote_cam/www/* /var/www/html/
sudo mv /var/www/html/index.php /var/www/html/index1.php
#работа с скрвером
scp -r * pi@10.253.35.143:~/rpi_remote_cam
sudo cp -r www/* /var/www/html/
python3 server.py
```
------------------------------------------
https://github.com/silvanmelchior/RPi_Cam_Web_Interface