สารบัญ:

กล้องมองหลังสำหรับรถเข็นไฟฟ้า: 10 ขั้นตอน (พร้อมรูปภาพ)
กล้องมองหลังสำหรับรถเข็นไฟฟ้า: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: กล้องมองหลังสำหรับรถเข็นไฟฟ้า: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: กล้องมองหลังสำหรับรถเข็นไฟฟ้า: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: วิดีโอน่าสะพรึงกลัว..ที่ติดอยู่ในกล้องรักษาความปลอดภัย 2024, กรกฎาคม
Anonim
Image
Image
อะไหล่ที่จำเป็น
อะไหล่ที่จำเป็น

พี่ชายของฉันใช้รถเข็นไฟฟ้า Invacare TDX ซึ่งบังคับทิศทางได้ง่ายในทุกทิศทาง แต่เนื่องจากทัศนวิสัยที่จำกัดที่ด้านหลัง จึงยากที่จะขับถอยหลังในพื้นที่จำกัด เป้าหมายของโครงการคือการสร้างกล้องมองหลังโดยใช้การสตรีม IP ไปยังโทรศัพท์มือถือ ซึ่งติดตั้งไว้ใกล้กับจอยสติ๊กที่ควบคุมทิศทางของเขา

ส่วนประกอบที่จำเป็น:

  • การจ่ายไฟและการจ่ายไฟโดยใช้กำลังของเก้าอี้รถเข็น
  • กล้องมองหลังและสตรีมวิดีโอ
  • ที่วางโทรศัพท์มือถือสำหรับแผ่นคอนโทรล

รถเข็นจ่ายไฟให้เอง ซึ่งใช้แบตเตอรี่ตะกั่ว 24V พอร์ตการชาร์จถูกใช้ในทางที่ผิดเพื่อเสียบตัวแปลงพลังงานเป็น USB ซึ่งให้พลังงานแก่ Raspberry ที่รับผิดชอบในการสตรีมและยังให้พลังงานแก่โทรศัพท์มือถือหากจำเป็น

การสตรีมทำได้โดย Raspberry Pi Zero W ซึ่งทำหน้าที่เป็นจุดเชื่อมต่อไร้สายและสตรีมวิดีโอไปยังอุปกรณ์ใดๆ ที่เชื่อมต่อกับเครือข่ายไร้สาย

โทรศัพท์มือถือที่จะแสดงรูปภาพนั้นติดตั้งอะแดปเตอร์ที่พิมพ์ 3 มิติเข้ากับชุดควบคุมรถเข็น

ในการติดตามโปรเจ็กต์นี้ คุณจะต้องมีความรู้พื้นฐานเกี่ยวกับ Debian/Linux เนื่องจากการกำหนดค่าต้องมีการทำงานด้วยตนเอง อย่างไรก็ตาม มันไม่ได้ยากเกินไป ดังนั้นลองดู - หากคุณไม่แน่ใจว่ามีบทช่วยสอนนับร้อยบน Linux ที่สามารถช่วยคุณได้

ขั้นตอนที่ 1: อะไหล่ที่จำเป็น

Raspberry Pi Zero W: องค์ประกอบหลักสำหรับการสตรีมวิดีโอ

เลนส์มุมกว้าง Fish-Eye ของ SainSmart สำหรับ Raspberry Pi: กล้องมุมกว้างที่เข้ากันได้กับกล้อง Arduino (170 ° FOV)

2 × ตัวเรือนพลาสติก: ตัวเรือนเล็กกว่าหนึ่งอันสำหรับราสเบอร์รี่และกล้อง, ตัวเรือนที่ใหญ่กว่าหนึ่งอันสำหรับการจ่ายพลังงาน

ปลั๊ก XLR: เพื่อเชื่อมต่อกับพอร์ตชาร์จของรถเข็น

พอร์ต USB สำหรับรถยนต์ (เช่น TurnRaise 12-24V 3.1A): ตัวแปลง 24V เป็น USB ในตัวเรือนขนาดเล็กสำหรับรถยนต์และรถจักรยานยนต์ สามารถเป็นอะไรก็ได้ที่ใช้อินพุต 24V และให้เอาต์พุต USB

สายเคเบิลต่างๆ:

  • สายไฟสำหรับเส้นทางจากพอร์ต XLR ไปยังด้านหลังของรถเข็น,
  • สาย USB สำหรับจ่าย Raspberry

อะแดปเตอร์พิมพ์ 3 มิติสำหรับโทรศัพท์ อะแดปเตอร์พิมพ์ 3 มิติไปยังหน่วยควบคุมรถเข็นซึ่งทำหน้าที่เป็นฐานสำหรับที่วางโทรศัพท์มือถือในรถยนต์มาตรฐาน:

ที่วางโทรศัพท์มือถือในรถยนต์: ที่วางโทรศัพท์มือถือซึ่งสามารถยึดติดกับพื้นผิวเรียบได้ (เช่น ที่วางโทรศัพท์บนแผงหน้าปัด) ฉันใช้อันหนึ่งจาก 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

ซีเมค

ทำการติดตั้ง

ทุกอย่างควรเสร็จสิ้นโดยไม่มีข้อผิดพลาด และคุณสามารถทดสอบได้ทันทีโดยเริ่มเซิร์ฟเวอร์การสตรีมจากเทอร์มินัล:

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

จำเป็นต้องใช้คำสั่ง sleep เพื่อให้โปรแกรมควบคุมวิดีโอพร้อม อาจตั้งค่าให้น้อยกว่า 20 วินาที….

เพิ่มสคริปต์นี้ใน crontab ของคุณด้วย "crontab -e" และเพิ่ม:

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

สิ่งนี้ควรเริ่มการสตรีมทุกครั้งที่เริ่มโดยอัตโนมัติ

ทางเลือกสำหรับการสตรีม:

มีทางเลือกสองทางสำหรับการสตรีมวิดีโอ ฉันลองใช้การเคลื่อนไหวและ vlc การเคลื่อนไหวเป็นเครื่องมือเว็บแคมที่ตรวจจับการเคลื่อนไหว ดังนั้นจึงทำการวิเคราะห์ภาพเพิ่มเติมบนภาพ และอาจช้ากว่าการสตรีมเพียงเล็กน้อย

VLC ทำงานนอกกรอบโดยไม่ต้องคอมไพล์เพิ่มเติม:

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} '

คำสั่งนี้จะสตรีมวิดีโอที่เข้ารหัส h264 ผ่าน http บนพอร์ต 12345 เวลาแฝงค่อนข้างประมาณ 2 วินาทีในการตั้งค่าการทดสอบของเรา

ขั้นตอนที่ 4: ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ส่วนที่ 1 - Hostapd

ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ตอนที่ 1 - Hostapd
ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ตอนที่ 1 - Hostapd

ขั้นตอนนี้กำหนดให้ Raspberry ของคุณเป็นจุดเข้าใช้งาน หลังจากนี้ คุณจะไม่ได้เชื่อมต่อกับเครือข่ายของคุณอีกต่อไป แต่ Raspberry จะเปิดเครือข่าย WiFi ของตัวเองขึ้นมา ในกรณีที่เกิดข้อผิดพลาด คุณต้องเข้าถึง Raspberry ด้วยแป้นพิมพ์และจอแสดงผล ดังนั้นให้ทำสิ่งนี้ก่อนที่คุณจะฝังราสเบอร์รี่ไว้ในที่ใดที่หนึ่ง…

ฉันกำลังทำตามวิธีการที่อธิบายไว้ที่นี่:

ติดตั้ง hostapd และ dnsmasq:

sudo apt-get ติดตั้ง dnsmasq hostapd

ปิดใช้งาน dhcp บนอินเทอร์เฟซ wlan0 โดยเพิ่มบรรทัดต่อไปนี้ใน /etc/dhcpd.conf (ควรอยู่ที่ด้านบนสุด)

ปฏิเสธอินเทอร์เฟซ wlan0

กำหนดค่า IP แบบคงที่สำหรับอินเทอร์เฟซ wlan0 โดยแก้ไข /etc/network/interfaces เพื่อรวมสิ่งต่อไปนี้:

allow-hotplug wlan0 iface wlan0 inet ที่อยู่คงที่ 172.24.1.1 netmask 255.255.255.0 เครือข่าย 172.24.1.0 ออกอากาศ 172.24.1.255

รีสตาร์ท dhcp daemon ด้วย sudo service dhcpcd restart แล้วโหลด wlan0 config ด้วย

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: ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ตอนที่ 2 - Dnsmasq

ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ตอนที่ 2 - Dnsmasq
ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ตอนที่ 2 - Dnsmasq

ย้ายการกำหนดค่า dnsmasq ที่ให้มาไปยังไฟล์สำรอง (เนื่องจากมีความคิดเห็นจำนวนมาก คุณยังคงสามารถใช้เพื่ออ้างอิงได้):

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

จากนั้นสร้าง /etc/dnsmasq.conf ใหม่ด้วยเนื้อหาต่อไปนี้:

เซิร์ฟเวอร์=8.8.8.8 # ส่งต่อคำขอ DNS ไปยัง Google DNS ที่ต้องการโดเมน # อย่าส่งต่อชื่อย่อหลอกลวง-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 service hostapd start บริการ sudo dnsmasq start

ขั้นตอนที่ 6: ตรวจสอบซอฟต์แวร์

ตรวจสอบซอฟต์แวร์
ตรวจสอบซอฟต์แวร์

เมื่อคุณได้กำหนดค่าทุกอย่างแล้ว ก็ถึงเวลาทำการตรวจสอบสั้นๆ (ก่อนที่ทุกอย่างจะยากขึ้น) รีบูตราสเบอร์รี่

เชื่อมต่อกับ WiFi หากใช้ราสเบอร์รี่กับโทรศัพท์มือถือของคุณ เชื่อมต่อไคลเอ็นต์การสตรีมวิดีโอ (เช่น VLC ซึ่งมีอยู่ในระบบปฏิบัติการทั้งหมด) กับสตรีมของราสเบอร์รี่โดยเลือก "สตรีมเครือข่าย" และเชื่อมต่อกับ rtsp://:8554/unicast (คือ IP ของอุปกรณ์ของคุณ หากคุณไม่ได้เชื่อมต่อ เปลี่ยนเป็น 172.24.1.1)

คุณควรเห็นวิดีโอสดจากกล้องตอนนี้… (ฉันมีปัญหากับ VLC สำหรับ Android แต่ VLC สำหรับ iOS ทำงานได้อย่างราบรื่น - ฉันไม่ได้ตรวจสอบเวอร์ชัน Android เพิ่มเติมเนื่องจากพี่ชายของฉันใช้ iOS)

ขั้นตอนที่ 7: การสร้างพาวเวอร์ซัพพลาย

การทำพาวเวอร์ซัพพลาย
การทำพาวเวอร์ซัพพลาย
การทำพาวเวอร์ซัพพลาย
การทำพาวเวอร์ซัพพลาย
การทำพาวเวอร์ซัพพลาย
การทำพาวเวอร์ซัพพลาย

การควบคุม invacare ใช้สิ่งที่ดูเหมือนจะเป็นมาตรฐานสำหรับรถเข็นแบบขับเคลื่อนด้วยไฟฟ้า ขั้วต่อเป็นขั้วต่อ XLR มาตรฐานที่ใช้กับไมโครโฟน ขา 1 เป็นบวก ขา 2 เป็นลบ Invacare มีหมุดเพิ่มเติมสองอันสำหรับการสื่อสาร แต่เราจะไม่ยุ่งกับสิ่งเหล่านี้ …

เชื่อมต่อขั้วต่อ XLR กับอะแดปเตอร์แปลงไฟ USB และใส่ทุกอย่างลงในกล่อง ในการป้อนสายเคเบิลเข้ากับกล่อง การป้อนผ่านเป็นความคิดที่ดี ตรวจสอบให้แน่ใจว่าสายเคเบิลยาวพอที่จะต่อจากโมดูลควบคุมรถเข็นวีลแชร์ไปยังพนักพิงหลังที่คุณจะติดกล่องจ่ายไฟ คุณสามารถเดินสายเคเบิลตามสายเคเบิลของโมดูลควบคุมเพื่อให้แน่ใจว่าสายเคเบิลจะไม่ติดอยู่ในส่วนที่เคลื่อนที่ได้

ขั้นตอนที่ 8: สร้างกล่องสำหรับกล้อง

การสร้างกล่องสำหรับกล้อง
การสร้างกล่องสำหรับกล้อง
การสร้างกล่องสำหรับกล้อง
การสร้างกล่องสำหรับกล้อง
การสร้างกล่องสำหรับกล้อง
การสร้างกล่องสำหรับกล้อง
การสร้างกล่องสำหรับกล้อง
การสร้างกล่องสำหรับกล้อง

สร้างกล่องที่เหมาะกับ Raspberry Pi และกล้อง กล่องต้องมีรูที่ด้านข้างเพื่อเดินสายไฟ USB และรูสำหรับกล้องซึ่งมีขนาดใหญ่พอที่จะไม่กีดขวางมุมมอง ฉันติดตั้งกล้องในมุมประมาณ 45° เพื่อให้กล้องชี้ลงด้านล่างเพื่อให้เห็นล้อหลังของเก้าอี้รถเข็น ฉันใช้กล่องพลาสติกมาตรฐานซึ่งฉันเจาะรูบางส่วน แต่คุณยังสามารถพิมพ์ 3D เวอร์ชันนักเล่น (อาจจะสำหรับเวอร์ชัน 2)

ขั้นตอนที่ 9: สร้างที่วางโทรศัพท์

ทำที่วางโทรศัพท์
ทำที่วางโทรศัพท์
ทำที่วางโทรศัพท์
ทำที่วางโทรศัพท์
ทำที่วางโทรศัพท์
ทำที่วางโทรศัพท์

ในการแนบโทรศัพท์มือถือเข้ากับเก้าอี้รถเข็น ฉันพิมพ์แผ่นอะแดปเตอร์แบบ 3 มิติ ซึ่งสามารถพบได้ที่นี่: 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

แนะนำ: