Съдържание:

Камера за обратно виждане за електрическа инвалидна количка: 10 стъпки (със снимки)
Камера за обратно виждане за електрическа инвалидна количка: 10 стъпки (със снимки)

Видео: Камера за обратно виждане за електрическа инвалидна количка: 10 стъпки (със снимки)

Видео: Камера за обратно виждане за електрическа инвалидна количка: 10 стъпки (със снимки)
Видео: Детето ми се храни само със зеленчуци 2024, Ноември
Anonim
Image
Image
Необходими части
Необходими части

Брат ми използва електрическа инвалидна количка Invacare TDX, която е лесна за маневриране във всички посоки, но поради ограничената видимост отзад е трудно да се кара назад в ограничени пространства. Целта на проекта е да се изгради камера за задно виждане, използваща IP стрийминг към мобилен телефон, който е монтиран близо до неговия джойстик.

Необходими компоненти:

  • захранване и разпределение, използвайки захранването на инвалидни колички
  • камера за задно виждане и видео стриймър
  • държач за мобилен телефон за контролната подложка.

Захранването се осигурява от самата инвалидна количка, която използва 24V оловни батерии. Портът за зареждане се използва неправилно за включване на преобразувател на захранване към USB, който захранва Raspberry, отговорен за стрийминга, и също така захранва мобилния телефон, ако е необходимо.

Стриймингът се осъществява от Raspberry Pi Zero W, който служи като безжична точка за достъп и предава видеото към всяко устройство, свързано към безжичната мрежа.

Мобилният телефон за показване на изображението е монтиран с 3D отпечатан адаптер към блока за управление на инвалидната количка.

За да следвате този проект, ще ви трябват основни познания за Debian/Linux, тъй като конфигурацията изисква известна ръчна работа. Това обаче не е твърде трудно, така че опитайте - ако не сте сигурни, има стотици уроци в Linux, които могат да ви помогнат.

Стъпка 1: Необходими части

Raspberry Pi Zero W: Основен компонент за поточно видео

SainSmart широкоъгълни обективи за камера с рибешко око за Raspberry Pi: съвместима с Arduino камера широкоъгълна камера (170 ° FOV)

2 × пластмасови корпуси: Един по -малък корпус за малина и камера, един по -голям корпус за разпределение на електроенергията

XLR щепсел: За свързване към порта за зареждане на инвалидната количка

Автомобилен USB порт (напр. TurnRaise 12-24V 3.1A): 24V към USB конвертор в малък корпус за употреба от автомобили и мотоциклети. Може да бъде всичко, което използва 24V вход и осигурява USB изход.

Различни кабели:

  • Захранващ кабел за маршрут от XLR порта до задната част на инвалидната количка,
  • USB кабел за доставка на Raspberry

3D отпечатан адаптер за телефон 3D отпечатан адаптер към блока за управление на инвалидна количка, който служи като основа за стандартен държач за мобилен телефон за кола:

Поставка за мобилен телефон за кола: Държач за мобилен телефон, който може да бъде прикрепен към равна повърхност (напр. Държач за телефон на табло). Използвах един от немски производител Hama.

Стъпка 2: Настройка на малинова камера

Настройка на малинова камера
Настройка на малинова камера

Инсталирайте Raspbian от https://www.raspberrypi.org/downloads/raspbian/, следвайки инструкциите от

Инсталирайте всички актуализации, като изпълните следните две команди от терминал:

sudo apt-get update

sudo apt-get dist-upgrade

Изключете, свържете камерата. Стартирайте малината отново.

В панела за настройка на Raspberry активирайте камерата и разрешете SSH достъп до малината. Камерата sainsmart работи като официалната Pi камера, можете да следвате инструкциите, намерени тук: https://www.raspberrypi.org/learning/addons-guide… За съжаление все още не сте готови. Нуждаем се от v4l драйвер за raspi-cam, който не е активиран от кутията. Първо трябва да направите актуализация на фърмуера на вашата малинка, за да получите най -новия фърмуер и драйвер на ядрото - изпълнете следното в терминал:

sudo raspi-update

Трябва да заредите драйвера на ядрото v4l сега, като въведете в терминал:

sudo modprobe bcm2835-v4l2

Ако това работи без съобщения за грешка, сега трябва да имате устройство /dev /video0, проверете с

ls - l /dev /vid*

Ако това работи, добавете bcm2835-v4l2 към /etc /modules, за да активирате модула при всяко стартиране.

Можете да проверите дали камерата работи с командата:

raspistill -o cam.jpg

Стъпка 3: Инсталирайте V4l2rtspserver

Инсталирайте V4l2rtspserver
Инсталирайте V4l2rtspserver

Първо, трябва да инсталирате cmake, тъй като ние сами ще компилираме програмата за стрийминг на видео:

sudo apt-get install cmake

За стрийминг използваме v4l2rtspserver, тъй като той показа най -ниската латентност в нашите изпитания. Можете да получите кода от

Инсталирайте го с:

git клонинг

cd h264v4l2rtspserver

cmake.

направете инсталиране

Всичко трябва да завърши без грешки и можете да го тествате сега, като стартирате поточния сървър от терминал:

v4l2rtspserver -W 352 -H 288 -F 10 /dev /video0

Свържете се с VLC на компютър в същата мрежа към малината: rtsp: //: 8554/unicast, за да проверите дали стриймингът работи.

Създайте скрипт, наречен launcher.sh във вашата домашна директория, като използвате любимия си редактор (който трябва да бъде vi):

!#/bin/bashsleep 20 v4l2rtspserver -W 352 -H 288 -F 10/dev/video0

Командата за заспиване е необходима, за да може видео драйверът да стане готов. Вероятно може да се настрои на по -малко от 20 секунди …

Добавете този скрипт към вашия crontab с „crontab -e“и добавете:

@reboot sh /home/pi/bbt/launcher.sh>/home/pi/logs/cronlog 2> & 1

Това трябва да стартира поточно при всяко стартиране автоматично.

Алтернативи за стрийминг:

Има няколко алтернативи, които да използвате за стрийминг на видео, опитах motion и vlc. Движението е инструмент за уеб камера, който открива движение, така че извършва допълнителен анализ на изображения върху изображенията и вероятно е малко по -бавен от просто стрийминг.

VLC работи нестандартно без допълнителни компилации:

cvlc v4l2: /// dev/video0 --v4l2-ширина 320 --v4l2-височина 200 --v4l2-chroma h264 --sout '#standard {access = http, mux = ts, dst = 0.0.0.0: 12345} '

Тази команда поточно кодира видео с h264 чрез http на порт 12345. Латентността е донякъде около 2 секунди в нашата тестова настройка.

Стъпка 4: Настройте малината като точка за достъп до WiFi: Част 1 - Hostapd

Настройте малината като точка за достъп до WiFi: Част 1 - Hostapd
Настройте малината като точка за достъп до WiFi: Част 1 - Hostapd

Тази стъпка задава Raspberry като точка за достъп. След това вече не сте свързани с вашата мрежа, но Raspberry отваря собствената си WiFi мрежа. В случай на грешки, трябва да имате достъп до малината с клавиатура и дисплей, така че направете това, преди да заровите малината в жилище някъде …

Следвам описания тук метод:

Инсталирайте hostapd и dnsmasq:

sudo apt-get install dnsmasq hostapd

Деактивирайте dhcp на интерфейса wlan0, като добавите следния ред към /etc/dhcpd.conf (за предпочитане в горната част)

denyinterfaces wlan0

Конфигурирайте статичен IP за интерфейса wlan0, като редактирате/etc/network/interfaces, за да включите следното:

allow-hotplug wlan0 iface wlan0 inet статичен адрес 172.24.1.1 маска на мрежата 255.255.255.0 мрежа 172.24.1.0 излъчване 172.24.1.255

Рестартирайте демона dhcp с sudo услуга dhcpcd рестартирайте и след това презаредете конфигурацията на wlan0 с

sudo ifdown wlan0; sudo ifup wlan0

Запазете прикачения hostapd.conf под /etc/hostapd/hostapd.conf (след като проверите съдържанието и го адаптирате според вашите предпочитания - трябва поне да промените SSID и паролата на нещо по -сигурно).

Вече можете да проверите дали работи, като стартирате:

sudo/usr/sbin/hostapd /etc/hostapd/hostapd.conf

Трябва да можете да се свържете с новата мрежа, но все още няма да получите IP адрес. Спрете hostapd, като натиснете CTRL-C. Активирайте автоматичното стартиране на hostapd, като редактирате/etc/default/hostapd и добавите местоположението на конфигурационния файл, като промените съответния ред на

DAEMON_CONF = "/etc/hostapd/hostapd.conf"

Стъпка 5: Настройте малината като точка за достъп до WiFi: Част 2 - Dnsmasq

Настройте малината като точка за достъп до WiFi: Част 2 - Dnsmasq
Настройте малината като точка за достъп до WiFi: Част 2 - Dnsmasq

Преместете предоставената конфигурация на dnsmasq в архивен файл (тъй като съдържа много коментари, все още можете да го използвате за справка):

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

След това създайте нов /etc/dnsmasq.conf със следното съдържание:

server = 8.8.8.8 # Препращайте DNS заявки към Google DNS, необходим за домейн # Не препращайте кратки имена lažni-priv # Никога не препращайте адреси в адресираните пространства без маршрутизация. dhcp-range = 172.24.1.50, 172.24.1.150, 12h # Присвояване на IP адреси между 172.24.1.50 и 172.24.1.150 с 12 часа време на лизинг

Обвързването на услугата dnsmasq с конкретен адрес води до някои проблеми в нашата инсталация, така че просто я оставяме да работи на всички интерфейси. Тъй като малиновият Pi Zero W има само WiFi, това не е проблем, освен ако не свържете USB Ethernet интерфейс … (в този случай ще имате и dhcp сървър на този интерфейс, така че това може да обърка мрежата, към която се свързвате с кабел).

Не е необходимо да правите допълнителни стъпки, за да стартирате dnsmasq при стартиране, той автоматично се стартира. Трябва обаче да тествате всичко, преди да рестартирате, като стартирате двете услуги ръчно и проверите дали можете да се свържете с WiFi и да получите IP адрес (можете също да кажете на мобилния си телефон, че този WiFi няма интернет и че това е добре):

sudo услуга hostapd старт sudo услуга dnsmasq старт

Стъпка 6: Проверете софтуера

Проверете софтуера
Проверете софтуера

Сега, когато сте конфигурирали всичко, е време да направите кратка проверка (преди всеки достъп да е по -труден за достъп). Рестартирайте малината.

Свържете се с WiFi, ако малина с мобилния си телефон. Свържете клиент за стрийминг видео (например VLC, който съществува за всички операционни системи) към потока на малината, като изберете „Мрежов поток“и се свържете с rtsp: //: 8554/unicast (е IP на вашето устройство, ако не сте променете го 172.24.1.1).

Сега трябва да видите видео на живо от камерата … (Имах някои проблеми с VLC за android, но VLC за iOS работеше гладко - не разследвах допълнително версията за android, тъй като брат ми използва iOS).

Стъпка 7: Осъществяване на захранването

Осъществяване на захранването
Осъществяване на захранването
Осъществяване на захранването
Осъществяване на захранването
Осъществяване на захранването
Осъществяване на захранването

Контролът за инвазивни грижи използва това, което изглежда стандарт за задвижвани инвалидни колички. Конекторът е стандартен XLR конектор, използван за микрофони. Пин 1 е положителен, щифт 2 отрицателен. Invacare има два допълнителни пина за комуникация, но няма да се забъркваме с тези …

Свържете XLR конектора към USB захранващия адаптер и поставете всичко в кутия. За да подадете кабела към кутията, прокарването е добра идея. Уверете се, че кабелът е достатъчно дълъг, за да бъде прекаран от модула за управление на инвалидната количка към облегалката, където ще прикрепите кутията за захранване. Можете да прокарате кабелите, следвайки кабелите на контролния модул, за да сте сигурни, че те не са захванати никъде в подвижна част.

Стъпка 8: Изграждане на кутията за камерата

Изграждане на кутията за камерата
Изграждане на кутията за камерата
Изграждане на кутията за камерата
Изграждане на кутията за камерата
Изграждане на кутията за камерата
Изграждане на кутията за камерата
Изграждане на кутията за камерата
Изграждане на кутията за камерата

Изградете кутия, която пасва на малиновото пи и камерата. Кутията се нуждае от отвор отстрани, за да прокара USB захранващия кабел, и отвор за камерата, който е достатъчно голям, за да не пречи на гледката. Монтирах камерата под ъгъл приблизително 45 °, така че да сочи надолу, за да може да вижда задните колела на инвалидната количка. Използвах стандартна пластмасова кутия, в която изрязах някои дупки, но можете също така да отпечатате 3D по -красива версия (може би за версия 2)

Стъпка 9: Направете държача на телефона

Направете държача на телефона
Направете държача на телефона
Направете държача на телефона
Направете държача на телефона
Направете държача на телефона
Направете държача на телефона

За да прикрепя мобилния телефон към инвалидната количка, отпечатах 3D адаптерна плоча, която можете да намерите тук: https://www.thingiverse.com/thing:2742683 (прикачен е и STL файлът). Той е прикрепен към блока за управление на инвалидни колички. На тази плоча можете да залепите всеки държач за телефон за кола, който можете да получите за евтини неща.

Стъпка 10: Съберете всичко и го изпробвайте

Съберете всичко и го изпробвайте
Съберете всичко и го изпробвайте
Съберете всичко и го изпробвайте
Съберете всичко и го изпробвайте
Съберете всичко и го изпробвайте
Съберете всичко и го изпробвайте

Сега е време да съберем всичко:

Прикрепете кутията за камера някъде в задната част на инвалидната количка, където гледката не е затруднена и камерата е насочена назад. Прикрепете кутията за захранване някъде отзад, където не ви пречи. Свържете USB кабела от Raspberry към кутията за захранване. Свържете кутията за захранване с XLR щепсел към порта за зареждане на блока за управление на инвалидната количка. Всичко трябва да започне сега.

Инсталирайте VLC на мобилния си телефон (ако все още не сте го направили …) и се свържете с Raspberry чрез rtsp: //: 8554/unicast

Сега трябва да видите изображението на камерата на мобилния си телефон:-)

Поставете държача на мобилния телефон на контролния блок за инвалидни колички и закрепете телефона върху него. И това е, готови сте!

Конкурс Raspberry Pi 2017
Конкурс Raspberry Pi 2017
Конкурс Raspberry Pi 2017
Конкурс Raspberry Pi 2017

Втора награда в конкурса Raspberry Pi 2017

Препоръчано: