Проект видео сервера от 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.
 
 
 
Zen 754a14085a add motor control 5 years ago
www add motor control 5 years ago
README.md add motor control 5 years ago
server.py add motor control 5 years ago

README.md

rpi_remote_cam

Проект видео сервера от Bauman Robotics.

Инструкция

  1. Нужна настройка малины
sudo raspi-config
# нужно включить shh, uart, камеру, возможно поменять имя малины
  1. Установка пыхи и ингинкса отсюда
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();  ?>
  1. Камера отсюда и отсюда еще есть описание в хакере за 2008г :) номер 111 нормальная документация сдесь
# Если у вас камера от расбери неообходимо включить модуль ядра
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 и увидеть видео.

  1. Больше видео

    Как сделать скрин?

    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

  2. Разбираемся с сервоприводами.

    Есть 3 спосрба управления сервами с помощью ARM процессора:

    • Софтверный ШИМ
    • Использование внешнего контроллера (например ардуино)
    • Генерация ШИМ с помощью DMA

    Первый способ сьедает время процессора, 2й много поять, 3й идеален для нас. Не будем изобретать велосипед и возьмем проект с гита.

    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 - угол поворота
    
    
  3. Разбираемся с Питоном.

sudo apt install python3-pip
pip3 install twisted autobahn pyserial

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