สารบัญ:
- ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- ขั้นตอนที่ 2: การตั้งค่ากล้องราสเบอร์รี่
- ขั้นตอนที่ 3: ติดตั้ง V4l2rtspserver
- ขั้นตอนที่ 4: ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ส่วนที่ 1 - Hostapd
- ขั้นตอนที่ 5: ตั้งค่า Raspberry เป็นจุดเชื่อมต่อ WiFi: ตอนที่ 2 - Dnsmasq
- ขั้นตอนที่ 6: ตรวจสอบซอฟต์แวร์
- ขั้นตอนที่ 7: การสร้างพาวเวอร์ซัพพลาย
- ขั้นตอนที่ 8: สร้างกล่องสำหรับกล้อง
- ขั้นตอนที่ 9: สร้างที่วางโทรศัพท์
- ขั้นตอนที่ 10: ประกอบทุกอย่างแล้วลองใช้งาน
วีดีโอ: กล้องมองหลังสำหรับรถเข็นไฟฟ้า: 10 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
พี่ชายของฉันใช้รถเข็นไฟฟ้า 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
ขั้นแรก คุณต้องติดตั้ง 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 ของคุณเป็นจุดเข้าใช้งาน หลังจากนี้ คุณจะไม่ได้เชื่อมต่อกับเครือข่ายของคุณอีกต่อไป แต่ 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
ย้ายการกำหนดค่า 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