İçindekiler:

Elektrikli Tekerlekli Sandalye için Geri Görüş Kamerası: 10 Adım (Resimlerle)
Elektrikli Tekerlekli Sandalye için Geri Görüş Kamerası: 10 Adım (Resimlerle)

Video: Elektrikli Tekerlekli Sandalye için Geri Görüş Kamerası: 10 Adım (Resimlerle)

Video: Elektrikli Tekerlekli Sandalye için Geri Görüş Kamerası: 10 Adım (Resimlerle)
Video: Tır Kazası ⁉️Duran Otobüse Arkadan çarpıyor ‼️ 2024, Kasım
Anonim
Image
Image
Gerekli Parçalar
Gerekli Parçalar

Ağabeyim Invacare TDX elektrikli tekerlekli sandalye kullanıyor, bu her yöne manevrası kolay, ancak sınırlı arka görüş nedeniyle sınırlı alanlarda geri geri gitmek zor. Projenin amacı, direksiyon kumanda koluna yakın monte edilmiş bir cep telefonuna IP akışı kullanarak bir arka görüş kamerası oluşturmaktır.

Gerekli bileşenler:

  • tekerlekli sandalye gücünü kullanarak güç kaynağı ve dağıtımı
  • arka görüş kamerası ve video aktarıcı
  • kontrol paneli için cep telefonu tutucusu.

Güç, 24V kurşun pil kullanan tekerlekli sandalye tarafından sağlanır. Şarj bağlantı noktası, akıştan sorumlu Ahududu'ya güç sağlayan ve gerekirse cep telefonuna güç sağlayan USB'ye bir güç dönüştürücü takmak için yanlış kullanılır.

Akış, kablosuz erişim noktası olarak hizmet veren ve videoyu kablosuz ağa bağlı herhangi bir cihaza aktaran bir Raspberry Pi Zero W tarafından yapılır.

Görüntüyü gösterecek olan cep telefonu, tekerlekli sandalye kontrol ünitesine 3d baskılı adaptör ile monte edilir.

Bu projeyi takip etmek için bazı temel Debian/Linux bilgisine ihtiyacınız olacak, çünkü konfigürasyon biraz manuel çalışma gerektiriyor. Ancak çok zor değil, bu yüzden bir şans verin - Linux'ta size yardımcı olabilecek yüzlerce öğretici olduğundan emin değilseniz.

Adım 1: Gerekli Parçalar

Raspberry Pi Zero W: Video akışı için ana bileşen

Raspberry Pi için SainSmart Geniş Açı Balık Gözü Kamera Lensleri: Arduino Kamera uyumlu geniş açılı kamera (170° FOV)

2 × Plastik muhafazalar: Ahududu ve kamera için bir küçük muhafaza, güç dağıtımı için bir büyük muhafaza

XLR Fişi: Tekerlekli sandalyenin şarj portuna bağlanmak için

Araba USB Bağlantı Noktası (örn. TurnRaise 12-24V 3.1A): Araba ve motosiklet kullanımı için küçük bir muhafaza içinde 24V'tan USB'ye dönüştürücü. 24V giriş kullanan ve USB çıkışı sağlayan herhangi bir şey olabilir.

Çeşitli Kablolar:

  • XLR bağlantı noktasından tekerlekli sandalyenin arkasına yönlendirmek için güç kablosu,
  • Raspberry beslemek için USB kablosu

Telefon için 3D baskılı adaptör Standart bir araç cep telefonu tutucusu için temel görevi gören tekerlekli sandalye kontrol ünitesine 3 boyutlu baskılı adaptör:

Araç cep telefonu tutucusu: Düz bir yüzeye takılabilen bir cep telefonu tutucusu (örn. bir ön panel telefon tutucusu). Alman bir üretici olan Hama'dan bir tane kullandım.

2. Adım: Ahududu Kamerasını Ayarlama

Ahududu Kamerasını Ayarlama
Ahududu Kamerasını Ayarlama

Raspbian'ı https://www.raspberrypi.org/downloads/raspbian/ adresinden https://www.raspberrypi.org/documentation/installation/installing-images/README.md adresindeki talimatları izleyerek kurun.

Bir terminalden aşağıdaki iki komutu çalıştırarak tüm güncellemeleri yükleyin:

sudo apt-get güncellemesi

sudo apt-get dağıtım yükseltme

Kapatın, kamerayı bağlayın. Ahududuyu tekrar başlatın.

Raspberry Setup panelinde kamerayı etkinleştirin ve ahududuya SSH erişimini etkinleştirin. Sainsmart kamera resmi Pi kamera olarak çalışır, burada bulunan talimatları takip edebilirsiniz: https://www.raspberrypi.org/learning/addons-guide… Ne yazık ki henüz işiniz bitmedi. Raspi-cam için kutudan çıkar çıkmaz bir v4l sürücüsüne ihtiyacımız var. İlk olarak, en son üretici yazılımı ve çekirdek sürücüsünü almak için ahududunuzun üretici yazılımı güncellemesini yapmalısınız - aşağıdakileri bir terminalde çalıştırın:

sudo raspi güncellemesi

Şimdi bir terminale yazarak v4l çekirdek sürücüsünü yüklemeniz gerekiyor:

sudo modprobe bcm2835-v4l2

Bu, hata mesajları olmadan çalıştıysa, artık bir /dev/video0 cihazınız olmalıdır, kontrol edin.

ls - l /dev/vid*

Bu işe yaradıysa, modülü her başlangıçta etkinleştirmek için /etc/modules dosyasına bcm2835-v4l2 ekleyin.

Kameranın şu komutla çalıştığını kontrol edebilirsiniz:

raspistill -o cam.jpg

3. Adım: V4l2rtspserver'ı yükleyin

V4l2rtspserver'ı yükleyin
V4l2rtspserver'ı yükleyin

İlk olarak, video akış programını kendimiz derleyeceğimiz için cmake'i yüklemeniz gerekiyor:

sudo apt-get install cmake

Akış için, denemelerimizde en düşük gecikmeyi gösterdiğinden v4l2rtspserver kullanıyoruz. Kodu https://github.com/mpromonet/v4l2rtspserver adresinden alabilirsiniz.

İle kurun:

git klonu

cd h264v4l2rtspserver

cmake.

kurulum yap

Her şey hatasız bitmeli ve şimdi akış sunucusunu bir terminalden başlatarak test edebilirsiniz:

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

Akışın çalışıp çalışmadığını kontrol etmek için aynı ağdaki bir bilgisayardaki VLC ile ahududuya bağlanın: rtsp://:8554/unicast.

Favori düzenleyicinizi (vi olması gerekir) kullanarak ana dizininizde launcher.sh adlı bir komut dosyası oluşturun:

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

Video sürücüsünün hazır hale gelmesine izin vermek için uyku komutu gereklidir. Muhtemelen 20 saniyeden daha kısa bir süreye ayarlanabilir….

Bu betiği "crontab -e" ile crontab'ınıza ekleyin ve şunu ekleyin:

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

Bu, akışı her başlatmada otomatik olarak başlatmalıdır.

Akış için alternatifler:

Video akışı için kullanabileceğiniz birkaç alternatif var, hareket ve vlc denedim. Motion, hareketi algılayan bir web kamerası aracıdır, bu nedenle görüntüler üzerinde ek görüntü analizi gerçekleştirir ve muhtemelen yalnızca akıştan biraz daha yavaştır.

VLC, herhangi bir ek derleme olmadan kutunun dışında çalışır:

cvlc v4l2:///dev/video0 --v4l2-width 320 --v4l2-height 200 --v4l2-chroma h264 --sout '#standard{access=http, mux=ts, dst=0.0.0.0:12345} '

Bu komut, 12345 numaralı bağlantı noktasında http üzerinden h264 kodlu bir video akışı sağlar. Gecikme, test kurulumumuzda yaklaşık 2 saniyedir.

4. Adım: Ahududu'yu WiFi Erişim Noktası Olarak Ayarlayın: Bölüm 1 - Hostapd

Raspberry'yi WiFi Erişim Noktası Olarak Ayarlayın: Bölüm 1 - Hostapd
Raspberry'yi WiFi Erişim Noktası Olarak Ayarlayın: Bölüm 1 - Hostapd

Bu adım, Raspberry'nizi bir Erişim Noktası olarak ayarlar. Bundan sonra artık ağınıza bağlı değilsiniz ama Raspberry kendi WiFi Ağını açar. Hata durumunda, Raspberry'ye klavye ve ekran ile erişiminiz olması gerekir, bu yüzden ahududuyu bir yere gömmeden önce bunu yapın…

Burada açıklanan yöntemi takip ediyorum:

hostapd ve dnsmasq'ı kurun:

sudo apt-get install dnsmasq hostapd

/etc/dhcpd.conf dosyasına (tercihen en üstte) aşağıdaki satırı ekleyerek wlan0 arabiriminde dhcp'yi devre dışı bırakın

inkararayüzleri wlan0

/etc/network/interfaces öğesini aşağıdakileri içerecek şekilde düzenleyerek wlan0 arabirimi için statik bir IP yapılandırın:

allow-hotplug wlan0 iface wlan0 inet statik adres 172.24.1.1 ağ maskesi 255.255.255.0 ağ 172.24.1.0 yayın 172.24.1.255

dhcp arka plan programını sudo hizmeti dhcpcd restart ile yeniden başlatın ve ardından wlan0 yapılandırmasını yeniden yükleyin

sudo ifdown wlan0; sudo ifup wlan0

Ekli hostapd.conf dosyasını /etc/hostapd/hostapd.conf altına kaydedin (içeriği kontrol ettikten ve beğeninize göre uyarladıktan sonra - en azından SSID'yi ve parolayı daha güvenli bir şekilde değiştirmelisiniz).

Artık aşağıdakileri çalıştırarak çalışıp çalışmadığını kontrol edebilirsiniz:

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

Yeni ağa bağlanabilmeniz gerekir, ancak henüz bir IP adresi almayacaksınız. CTRL-C'ye basarak hostapd'yi durdurun. /etc/default/hostapd dosyasını düzenleyerek ve ilgili satırı şu şekilde değiştirerek yapılandırma dosyası konumunu ekleyerek hostapd'nin otomatik olarak başlatılmasını etkinleştirin.

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

Adım 5: Ahududu'yu WiFi Erişim Noktası Olarak Ayarlayın: Bölüm 2 - Dnsmasq

Raspberry'yi WiFi Erişim Noktası Olarak Ayarlayın: 2. Bölüm - Dnsmasq
Raspberry'yi WiFi Erişim Noktası Olarak Ayarlayın: 2. Bölüm - Dnsmasq

Sağlanan dnsmasq yapılandırmasını bir yedekleme dosyasına taşıyın (birçok yorum içerdiğinden, yine de referans olarak kullanabilirsiniz):

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

Ardından, aşağıdaki içerikle yeni bir /etc/dnsmasq.conf oluşturun:

server=8.8.8.8 # DNS isteklerini Google DNS etki alanına ilet-gerekli # Kısa adları iletmeyin bogus-priv # Yönlendirilmemiş adres alanlarındaki adresleri asla iletmeyin. dhcp-range=172.4.1.50, 172.24.1.150, 12h # 12 saatlik kiralama süresi ile 172.24.1.50 ile 172.24.1.150 arasında IP adresleri atayın

dnsmasq hizmetini belirli bir adrese bağlamak, kurulumumuzda bazı sorunlara neden oluyor, bu yüzden tüm arayüzlerde çalışmasına izin verdik. Raspberry Pi Zero W sadece WiFi'ye sahip olduğundan, bir USB Ethernet arabirimi bağlamadığınız sürece bu sorun değil… (bu durumda, bu arabirimde bir dhcp sunucunuz da olur, bu nedenle bu, bağlandığınız ağı bir kabloyla bozabilir).

Başlangıçta dnsmasq'ı çalıştırmak için herhangi bir ekstra adım yapmanıza gerek yoktur, otomatik olarak başlar. Ancak yeniden başlatmadan önce her iki hizmeti de manuel olarak başlatarak her şeyi test etmeli ve WiFi'ye bağlanıp bir IP adresi alabildiğinizi kontrol etmelisiniz (cep telefonunuza bu WiFi'nin internet olmadığını ve bunun iyi olduğunu da söyleyebilirsiniz):

sudo service hostapd start sudo service dnsmasq start

Adım 6: Yazılımı Kontrol Edin

Yazılımı Kontrol Edin
Yazılımı Kontrol Edin

Artık her şeyi yapılandırdığınıza göre, kısa bir kontrol yapmanın zamanı geldi (her şeye erişmek daha zor olmadan önce). Ahududuyu yeniden başlatın.

Cep telefonunuzla ahududu varsa WiFi'ye bağlanın. "Ağ akışı"nı seçip rtsp://:8554/unicast'e bağlanarak ahududu akışına bir akış video istemcisi (örneğin tüm işletim sistemleri için mevcut olan VLC) bağlayın (eğer yapmadıysanız cihazınızın IP'sidir). 172.24.1.1) olarak değiştirin.

Şimdi kameradan bazı canlı videolar görmelisiniz… (Android için VLC ile ilgili bazı sorunlar yaşadım, ancak iOS için VLC sorunsuz çalıştı - kardeşim iOS kullandığı için android sürümünü daha fazla araştırmadım).

Adım 7: Güç Kaynağını Yapmak

Güç Kaynağının Yapılması
Güç Kaynağının Yapılması
Güç Kaynağının Yapılması
Güç Kaynağının Yapılması
Güç Kaynağının Yapılması
Güç Kaynağının Yapılması

Invacare kontrolü, elektrikli tekerlekli sandalyeler için standart gibi görünen şeyleri kullanır. Konektör, mikrofonlar için kullanılan standart bir XLR konektörüdür. Pin 1 pozitif, Pin 2 negatif. Invacare'in iletişim için iki ek pimi var, ancak bunlarla uğraşmayacağız…

XLR konektörünü USB güç adaptörüne bağlayın ve her şeyi bir kutuya sığdırın. Kabloyu kutuya beslemek için bir geçiş iyi bir fikirdir. Kablonun, tekerlekli sandalye kontrol modülünden güç kaynağı kutusunu takacağınız arkalığa yönlendirilecek kadar uzun olduğundan emin olun. Hareketli bir parçanın herhangi bir yerine takılmadıklarından emin olmak için kabloları kontrol modülünün kablolarını takip ederek yönlendirebilirsiniz.

8. Adım: Kamera Kutusunu Oluşturma

Kamera Kutusunu Oluşturma
Kamera Kutusunu Oluşturma
Kamera Kutusunu Oluşturma
Kamera Kutusunu Oluşturma
Kamera Kutusunu Oluşturma
Kamera Kutusunu Oluşturma
Kamera Kutusunu Oluşturma
Kamera Kutusunu Oluşturma

Ahududu pi ve kameraya uyan bir kutu oluşturun. Kutunun yanında USB güç kablosunun geçmesi için bir deliğe ve kamera için görüşü engellemeyecek kadar büyük bir deliğe ihtiyacı vardır. Tekerlekli sandalyenin arka tekerleklerini görebilmek için kamerayı aşağıyı gösterecek şekilde yaklaşık 45°'lik bir açıyla monte ettim. İçine bazı delikler açtığım standart bir plastik kutu kullandım, ancak daha meraklı bir sürümü 3D olarak da yazdırabilirsiniz (belki Sürüm 2 için)

Adım 9: Telefon Tutucusunu Yapın

Telefon Tutacağı Yap
Telefon Tutacağı Yap
Telefon Tutacağı Yap
Telefon Tutacağı Yap
Telefon Tutacağı Yap
Telefon Tutacağı Yap

Cep telefonunu tekerlekli sandalyeye takmak için şurada bulabileceğiniz bir adaptör plakasını 3 boyutlu yazdırdım: https://www.thingiverse.com/thing:2742683 (STL dosyası da ekte). Tekerlekli sandalye kontrol ünitesine bağlıdır. Bu plakaya, her yerde ucuza alabileceğiniz herhangi bir araç telefonu tutucusunu yapıştırabilirsiniz.

Adım 10: Her Şeyi Birleştirin ve Deneyin

Her Şeyi Birleştirin ve Deneyin
Her Şeyi Birleştirin ve Deneyin
Her Şeyi Birleştirin ve Deneyin
Her Şeyi Birleştirin ve Deneyin
Her Şeyi Birleştirin ve Deneyin
Her Şeyi Birleştirin ve Deneyin

Şimdi her şeyi bir araya getirme zamanı:

Kamera kutusunu tekerlekli sandalyenin arka tarafında görüşün engellenmediği ve kameranın arkaya dönük olduğu bir yere takın. Güç kaynağı kutusunu arkada engel olmayacak bir yere takın. Raspberry'den gelen USB kablosunu güç kutusuna bağlayın. Güç kutusunu XLR fişli tekerlekli sandalye kontrol ünitesindeki şarj portuna bağlayın. Her şey şimdi başlamalı.

VLC'yi cep telefonunuza yükleyin (henüz yapmadıysanız…) ve Raspberry'ye rtsp://:8554/unicast üzerinden bağlanın

Artık cep telefonunuzda kamera görüntüsünü görmelisiniz:-)

Cep telefonu tutucusunu tekerlekli sandalye kontrol ünitesine koyun ve telefonu üzerine sabitleyin. Ve işte bu, işiniz bitti!

Ahududu Pi Yarışması 2017
Ahududu Pi Yarışması 2017
Ahududu Pi Yarışması 2017
Ahududu Pi Yarışması 2017

Raspberry Pi Yarışması 2017'de İkincilik Ödülü

Önerilen: