Skip to content

oleksandr-valentirov/rpi_lte_remote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Віддалене керування камерою на RPi5

Репозиторій містить набір утиліт для віддаленої взаємодії з камерою на основі RaspberryPi

Сумісність

SBC\Камера Camera module 3 Camera module 2
RPi5
RPi4

Збирання

Для того щоб збілдити потрібну програму, виконується команда
make -C {dir name}
де dir name це назва директорії з програмою.
Наприклад:
make -C servo_cam

Принцип роботи

Важливо - у сервера завжди має бути публічна IP адреса.
Робота данного набору програм заснована на техніці реверсивного підключення.

- Навіщо? - Щоб мати можливість керувати віддаленим девайсом навіть якщо у нього приватний IP.

- Чому саме реверсивне підключення? - Тому-що хост з публічним IP не може підключитися до хосту з приватним IP. Але хост з приватним IP може підключитися до хосту з публічним айпі. Тому саме девайс з підключається до клієнта, тому-що може бути необхідність розмістити девайс будь де і може не бути можливості надати девайсу публічний статичний IP, до якого клієнт завжди зможе підключитися. З іншого боку, сервер зобов'язаний мати публічний статичний IP, який буде прописаний у конфігурації девайсу як дефолтний - до якого девайс буде підключатися при запуску прошивки, або при подачі живлення.

У клієнта публічна IP адреса

В даному випадку сервер використовується як проміжна ланка для встановлення прямого підключення між клієнтом та девайсом для подальшого спілкування між ними.

У клієнта приватна IP адреса

В даному випадку сервер використовується як проксі для непрямого спілкування між клієнтом та девайсом.

Servo Cam

Програма надає можливість отримувати відео з камери, підключеної до RPi, та керувати положенням камери двома сервоприводами. Для роботи також потрібні клієнт та сервер з білим айпі.

Залежності

Назва Посилання
wiringPi link
libconfuse
Клієнт та сервер link
servo_cam/camera.py має бути скопійований у /etc/servo_cam/camera.py

Конфіг-файл

Назва опції Опис Обов'язкова наявність
ip_addr IP адреса дефолтного сервера,
до якого підключається програма після запуску
так
port Порт дефолтного сервера так
name Ідентифікатор - ім'я, яке камера повідомляє серверу після підключення.
З цим іменем клієнт звертається до сервера з командою підключення камери.
так

camera.py

Програма, що запускає камеру.
Може бути використана напряму для стріму JPEG кадрів по UDP
camera.py --ip [target ip] --port [target port]
З простору С-коду запускається так само після створення дочірнього процесу системним викликом fork.

Залежності

Назва Посилання
picamera2 link

About

firmware for reverse connection video camera

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published