สารบัญ:

ที่เปิดประตูโรงรถ Raspberry Pi: 5 ขั้นตอน
ที่เปิดประตูโรงรถ Raspberry Pi: 5 ขั้นตอน

วีดีโอ: ที่เปิดประตูโรงรถ Raspberry Pi: 5 ขั้นตอน

วีดีโอ: ที่เปิดประตูโรงรถ Raspberry Pi: 5 ขั้นตอน
วีดีโอ: How to make a Raspberry Pi smart garage door opener 2024, กรกฎาคม
Anonim
ที่เปิดประตูโรงรถ Raspberry Pi
ที่เปิดประตูโรงรถ Raspberry Pi

ปุ่มกดอายุ 15 ปีของเราที่ช่วยให้เราเปิดประตูโรงรถได้ค่อยๆ ตายลง โดยมีปุ่มหลายปุ่มที่แทบไม่ลงทะเบียน ทำให้ยากสำหรับวัยรุ่น (หรือคนเลี้ยงสุนัข) ที่จะเข้าไปในบ้านเมื่อลืมกุญแจ

แทนที่จะแทนที่มันและกระโดดข้ามห่วงของการตั้งโปรแกรมใหม่ ฉันตัดสินใจที่จะใช้เทคโนโลยีขั้นสูงอีกเล็กน้อยและแทนที่ด้วยบางสิ่งที่ต้องการการเข้าถึง wifi และโทรศัพท์ของเราเท่านั้น

ฉันใช้ Pi Zero Wireless และรีเลย์ 2 แชนเนลที่ฉันเหลือจากโปรเจ็กต์อื่น ซึ่งช่วยให้ฉันควบคุมทั้งประตูและไฟที่ติดตั้งอยู่ในที่เปิดประตูโรงรถได้ เนื่องจากฉันมีกล้อง USB แบบเก่า/สำรองไว้เก็บฝุ่น ฉันจึงใช้กล้องนั้นแทน PiCam แต่นั่นเป็นเพียงความสะดวกเท่านั้น สิ่งนี้จะทำงานได้ดีกับกล้องที่รองรับ - ไม่มีอะไรพิเศษเกี่ยวกับฉัน แค่ Raspbian รองรับเท่านั้น

ต่างจากโปรเจ็กต์อื่นๆ ที่คล้ายคลึงกัน ฉันพยายามทำให้มันง่ายที่สุด โดยใช้แพ็คเกจซอฟต์แวร์ "มาตรฐาน" ที่ค่อนข้างง่ายในการเริ่มต้นและใช้งานหากคุณปฏิบัติตามคำแนะนำ ภาพนี้แสดงการติดตั้งครั้งสุดท้ายของฉัน (ไม่สวยเลย แต่เป็นโรงรถของฉัน) รวมถึง Pi, โมดูลรีเลย์ และเว็บแคม USB ที่ชี้ไปที่ประตู ไม่มีเหตุผลที่เฉพาะเจาะจงสำหรับการใช้ Pi Zero - Pi ใด ๆ จะทำ ตราบใดที่คุณสามารถเชื่อมต่อกับเครือข่ายภายในของคุณและ wifi ทำให้มันง่าย

ขั้นตอนที่ 1: การเชื่อมต่อกับแผงควบคุมที่มีอยู่

การเชื่อมต่อกับแผงควบคุมที่มีอยู่
การเชื่อมต่อกับแผงควบคุมที่มีอยู่

ประการแรก ของคุณอาจแตกต่างกัน! ของฉันมีสายไฟคู่เดียวตั้งแต่ที่เปิดประตูโรงรถไปยังแผงควบคุมที่ผนัง เนื่องจากมีสายไฟเพียงสองเส้น ซึ่งดูเหมือนว่าจะมีไฟฟ้าประมาณ 18 โวลต์เมื่อทดสอบ ตอนแรกฉันจึงสับสนเล็กน้อยว่าสิ่งนี้สามารถควบคุมฟังก์ชันต่างๆ ได้อย่างไร ฉันคิดว่าปุ่มชั่วขณะแต่ละปุ่มจะทำให้วงจรสมบูรณ์ แต่มีระดับความต้านทานต่างกัน จากนั้นยูนิตหลักสามารถอ่านค่าความต้านทานนั้นผ่านแรงดันตกคร่อมต่างๆ และดำเนินการอย่างถูกต้อง ไม่มีอะไรสำคัญ เว้นแต่ว่าคุณกำลังพยายามเปลี่ยนชุดควบคุมด้วย Pi อย่างสมบูรณ์ ไม่แน่ใจว่าทำไมคุณถึงต้องการทำเช่นนั้น เนื่องจากเป็นการดีที่ยังมีหน่วยทางกายภาพอยู่ในตำแหน่ง

AAAAnnnyway สิ่งที่คุณต้องทำคือทำซ้ำการกดปุ่มต่างๆ โดยเชื่อมต่อสวิตช์ชั่วขณะบน PCB กับโมดูลรีเลย์ของคุณ นี่เป็นการบัดกรีเพียงอย่างเดียวที่ฉันต้องทำ และแผ่นอิเล็กโทรดบน PCB นั้นค่อนข้างใหญ่ ดังนั้นมันจึงค่อนข้างง่าย ปล่อยให้สายไฟเหล่านี้ยาวเกินไปในตอนนี้ เนื่องจากการตัดลวดให้สั้นกว่าการต่อให้ยาวขึ้นในภายหลัง เว้นแต่ว่าคุณมีเปลหามสาย ACME วางอยู่รอบๆ แต่สิ่งเหล่านี้หายากมาก

ขั้นตอนที่ 2: การเดินสายไฟบอร์ดรีเลย์

การเดินสายไฟบอร์ดรีเลย์
การเดินสายไฟบอร์ดรีเลย์
การเดินสายไฟบอร์ดรีเลย์
การเดินสายไฟบอร์ดรีเลย์

ไม่ต้องพูดอะไรมาก แค่เชื่อมโยงทุกอย่างเข้าด้วยกันเหมือนในภาพ บนโมดูลรีเลย์ Sainsmart 2-relay จะต้องจัมเปอร์พิน JC-VCC และ VCC เข้าด้วยกัน เว้นแต่ว่าคุณต้องการใช้แหล่งจ่ายไฟที่แยกจากกันโดยสิ้นเชิงสำหรับพวกมัน แต่สำหรับการใช้งานนี้ นั่นเป็นวิธีที่ใช้ยากเกินไป เชื่อมต่อ GND กับพิน Pi GND, VCC กับพิน 5v และ IN1 และ IN2 กับพิน GPIO ที่คุณต้องการใช้ เนื่องจากคุณเพียงแค่จะใช้มันเป็นการสลับสูง/ต่ำ มันไม่สำคัญว่าอันไหน

ขั้นตอนที่ 3: การติดตั้งซอฟต์แวร์

การติดตั้งซอฟต์แวร์
การติดตั้งซอฟต์แวร์

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

ฉันจะไม่อธิบายวิธีการติดตั้ง Raspbian หากคุณยังไม่รู้วิธีดำเนินการดังกล่าว ให้ไปที่ Google บทแนะนำประเภท "สวัสดีชาวโลก" ก่อน ไม่ว่าในกรณีใด วิธีที่ดีที่สุดคือใช้ Raspbian Lite ที่ติดตั้งใหม่ ไม่จำเป็นต้องมี gui สำหรับโปรเจ็กต์นี้ และเป็นเพียงค่าใช้จ่ายเพิ่มเติม raspberrypi.org สามารถแนะนำคุณผ่านกระบวนการนั้นได้

เปิดใช้งาน SSH และ (หากต้องการ) กำหนดค่า IP แบบคงที่สำหรับ Pi ของคุณ (มีบทช่วยสอนมากมายเกี่ยวกับวิธีการทำเช่นนั้น เขียนโดยผู้เขียนที่ดีกว่าฉัน) หรือกำหนดค่าเราเตอร์/เซิร์ฟเวอร์ DHCP ของคุณให้ดียิ่งขึ้น เพื่อกำหนด IP แบบคงที่ให้กับ Pi ของคุณ

หากคุณต้องการบริการวิดีโอที่ดี ติดตั้งและใช้งานง่าย ให้ไปติดตั้ง MotionEye มันอาจจะเกินความสามารถ แต่เป็นหนึ่งในการติดตั้งที่ "ใช้งานได้" ทุกครั้ง และมีเว็บอินเทอร์เฟซที่ใช้งานได้ง่าย ตรวจสอบที่นี่:

github.com/ccrisan/motioneye/wiki/Install-… ทำตามคำแนะนำเหล่านี้โดยใช้ sudo ก่อนแต่ละคำสั่ง และคุณจะมีการตั้งค่าสตรีมวิดีโอที่ดี ไม่จำเป็นต้องมีสตรีมวิดีโออย่างแน่นอน หากคุณสนใจเพียงแค่เปิดประตูเมื่อคุณมองเห็นได้ แต่การได้รับคำติชมก็เป็นเรื่องที่ดี

เมื่อคุณติดตั้ง Motioneye แล้ว ให้ไปที่ https://YourIPAddress:8765 และเข้าสู่ระบบด้วยชื่อผู้ใช้ "admin" และรหัสผ่านเปล่า คุณอาจต้องเพิ่มกล้อง ซึ่งควร "ใช้งานได้" อีกครั้ง และอยู่นอกเหนือขอบเขตของคำแนะนำเหล่านี้

ในขณะที่คุณเข้าสู่ระบบในฐานะผู้ดูแลระบบ ให้คลิกปุ่มสลับ "การตั้งค่าขั้นสูง" จากนั้นตั้งค่าตัวเลือกวิดีโอของคุณ - ฉันใช้ 320x240 สำหรับวิดีโอของฉันเพราะฉันสนใจการอัปเดตที่เร็วกว่าที่ฉันทำเกี่ยวกับคุณภาพ เพราะฉันแค่ต้องการดูเท่านั้น ประตูถูกเปิดหรือไม่และไม่จำเป็นต้องอ่านหมายเลขตู้จดหมายฝั่งตรงข้าม

ใต้พื้นที่การตั้งค่า "การสตรีมวิดีโอ" ให้คลิกลิงก์ "สตรีมมิง URL" และจดที่อยู่ที่แสดงให้คุณเห็น คุณจะต้องใช้ในภายหลังหากคุณวางแผนที่จะตั้งค่าอินเทอร์เฟซแบบเดียวกับที่ฉันทำ

มีหลายวิธีในการควบคุมพิน GPIO ของคุณ สำหรับโครงการนี้ ฉันใช้ WiringPi เพื่อติดตั้ง ใช้คำแนะนำบนเว็บไซต์:

wiringpi.com/download-and-install/

หรือเพียงแค่ออกคำสั่งต่อไปนี้บน Pi ของคุณ:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i wiringpi-2.50-1.deb gpio -v gpio readall

สิ่งนี้จะให้รายการว่าเกิดอะไรขึ้นกับพิน GPIO ของคุณ

หากคุณใช้พิน 4 และ 17 (ในรูปแบบการกำหนดหมายเลข BCM) คุณสามารถทดสอบการเชื่อมต่อของคุณด้วยคำสั่งต่อไปนี้ โปรดทราบว่าการตั้งค่าพิน LOW จะเปิดใช้งานรีเลย์หากใช้โมดูล Sainsmart นี้ ของคุณอาจแตกต่างออกไป และคุณจะต้องปรับเปลี่ยนเพื่อสิ่งนั้น เมื่อรันคำสั่งเหล่านี้ คุณควรได้ยินเสียงรีเลย์คลิกเข้าที่ และไฟ LED จะสว่างขึ้น

gpio -g โหมด 17 ออก

gpio -g เขียน 17 0 gpio -g เขียน 1 1 gpio -g โหมด 4 ออก gpio -g เขียน 4 0 gpio -g เขียน 4 1

ตกลง ตอนนี้เราสามารถดำเนินการสร้าง UI ได้แล้ว

ขั้นตอนที่ 4: การสร้างอินเทอร์เฟซ

การสร้างอินเทอร์เฟซ
การสร้างอินเทอร์เฟซ

ฉันใช้ apache และ PHP ดีและเรียบง่ายไม่มีอะไรหรูหราเกินไป เป็นอีกครั้งที่มีคำอธิบายที่ดีกว่าในที่อื่น ดังนั้นเพียงทำตามคำแนะนำที่พบที่นี่:

www.raspberrypi.org/documentation/remote-a…

โดยค่าเริ่มต้น "ราก" ของเว็บเซิร์ฟเวอร์ของคุณจะอยู่ที่ /var/www/html/ โดยมี index.html เริ่มต้นที่ให้ข้อมูลเกี่ยวกับเว็บเซิร์ฟเวอร์ของคุณ คุณจะแทนที่ index.html นั้น ดังนั้นคุณสามารถลบหรือเปลี่ยนชื่อเป็นอย่างอื่น เช่น index.copy ฉันยังทำให้ผู้ใช้ "pi" เป็นเจ้าของไดเร็กทอรี html เพื่อเกียจคร้านเกี่ยวกับการอนุญาต สุดท้าย ฉันสร้างไดเร็กทอรีเพื่อจัดเก็บรูปภาพของฉัน ซึ่งมีอยู่สองแห่ง อันที่เป็นการตอบกลับแบบงี่เง่าเมื่อกดปุ่ม และอีกอันที่ใช้เป็นไอคอนบนหน้าจอหลักของโทรศัพท์ได้

pi@garagedoor:~ $ cd /var/www/html/

pi@garagedoor:/var/www/html $ sudo chown pi.pi@garagedoor:/var/www/html $ mv index.html index.copy pi@garagedoor:/var/www/html $ ภาพ mkdir

มีหลายวิธีในการสร้างเว็บไซต์ แต่ฉันเลือกที่จะทำให้มันง่ายและสะดวกที่สุดเท่าที่จะเป็นไปได้โดยอิงจากชุดทักษะของฉัน ดังนั้น PHP ตั้งแต่ฉันรู้ หากคุณเป็นกูรู python หรือภาษาสคริปต์อื่นๆ อย่าลังเลที่จะใช้มัน

ฉันสร้างหน้า index.html "คอนเทนเนอร์" ซึ่งมี iframe สองตัวที่ทำหน้าที่ทั้งหมด iframe ตัวใดตัวหนึ่งมีปุ่ม/ลิงก์ที่ทริกเกอร์การถ่ายทอดผ่าน GPIO จริง และ iframe อีกตัวที่แสดงวิดีโอ นอกจากนี้ยังมีลิงก์ไปยังรูปภาพ-p.webp

index.html iframe ที่มีปุ่มต่างๆ มีไฟล์ buttons.html เป็นเนื้อหา (ตลกว่ามันทำงานอย่างไร) ลิงก์ทั้งสองใน button.html นำไปสู่ action.php ด้วยค่าตัวแปร GET ที่ไม่ซ้ำกัน ขึ้นอยู่กับค่าที่ส่งไป action.php จะทริกเกอร์ประตูหรือปุ่มไฟ คุณสามารถรับรหัส HTML และ PHP จาก github ของฉัน:

วาง HTML และ PHP ทั้งหมดไว้ในไดเร็กทอรีราก (/var/www/html/) อัปเดตโค้ดที่จำเป็นด้วยชื่อของภาพที่คุณอาจใช้สำหรับการยืนยันการกดปุ่ม และที่อยู่ของสตรีมวิดีโอของคุณ จำที่ฉันบอกคุณได้ไหมว่าคุณต้องการสิ่งนั้น ย้อนกลับไปในขั้นตอนที่แล้ว?

ขั้นตอนที่ 5: ลองใช้เลย

ตกลง ตอนนี้คุณมีทุกอย่างที่ต่อสายและติดตั้งแล้ว ทุกอย่างทำงานได้อย่างสมบูรณ์ในการลองครั้งแรกใช่ไหม หวาน!

แนะนำ: