สารบัญ:
- ขั้นตอนที่ 1: พื้นหลังบางส่วน
- ขั้นตอนที่ 2: ซอฟต์แวร์ Stack
- ขั้นตอนที่ 3: ฮาร์ดแวร์ - Alpha
- ขั้นตอนที่ 4: ฮาร์ดแวร์ - เบต้า
- ขั้นตอนที่ 5: ซอร์สโค้ดและทรัพยากร
วีดีโอ: ที่เปิดประตูโรงรถโดยใช้ Raspberry Pi: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ควบคุมมอเตอร์โรงรถจากสมาร์ทโฟนหรืออุปกรณ์ใดๆ ที่สามารถเรียกดูเว็บเพจได้ (ด้วย AJAX!) โปรเจ็กต์นี้เริ่มต้นขึ้นเนื่องจากฉันมีรีโมทเพียงตัวเดียวสำหรับโรงรถของฉัน มันสนุกแค่ไหนที่ได้ซื้ออันที่สอง? ไม่พอ. เป้าหมายของฉันคือสามารถควบคุมและตรวจสอบประตูโรงรถของฉันจากสมาร์ทโฟนได้ด้วยหน้าเดียว ฉันไม่ได้ใส่การรักษาความปลอดภัยแฟนซีไว้รอบ ๆ เนื่องจาก RPi ไม่ได้ถูกเปิดเผยนอก LAN ของฉัน ดังนั้นฉันจึงพึ่งพา VPN เพื่อเข้าถึงหน้าเว็บ การใช้สมาร์ทโฟน Android เป็นเรื่องง่ายมากในการติดตั้ง VPN และเพิ่มเว็บเพจลงในหน้าจอหลักของฉัน ทั้งหมดที่ฉันต้องการคือซอฟต์แวร์สำหรับมัน
หากคุณต้องการสนับสนุนฉันในการเขียนคำแนะนำอื่นๆ โปรดซื้อฮาร์ดแวร์จากลิงก์ผู้สนับสนุนของ Amazon
นอกจากนี้ คำแนะนำนี้ยังสามารถใช้ได้จากหน้าส่วนตัวของฉัน:
ขั้นตอนที่ 1: พื้นหลังบางส่วน
สิ่งที่ฉันพบทางออนไลน์
ในฐานะโปรแกรมเมอร์ ฉันชอบที่จะใช้บทช่วยสอนซ้ำหรือโค้ด "ระดับการผลิต" อยู่แล้ว ในกรณีนี้ ฉันไม่พอใจกับสิ่งที่พบ:
- ที่เปิดประตูโรงรถ Raspberry Pi โดย quartarian ที่ที่ฉันเริ่มต้น ปุ่มง่ายๆ เพื่อสั่งการรีเลย์ ไม่มีปุ่มเปิด/ปิด ไม่มีการตอบกลับ อย่างไรก็ตาม การทำความเข้าใจแนวคิดเกี่ยวกับ RPi เฉพาะเพื่อควบคุมมอเตอร์จากรีเลย์ก็มีประโยชน์มาก สายเคเบิลที่ฉันใช้ตอนนี้ยังคงเหมือนเดิมสำหรับส่วนคำสั่ง
- ที่เปิดประตูโรงรถ Raspberry Pi พร้อม GaragePi โดย Chase Chou การตั้งค่าแบบเดียวกันแต่ใช้รีโมทไร้สายแบบพิเศษ ฉันไม่เต็มใจที่จะฆ่ารีโมทเพียงตัวเดียวของฉัน มันพิสูจน์แล้วว่าใช้การตั้งค่าไฟฟ้าแบบเดียวกันสำหรับส่วนคำสั่ง ระหว่างทาง ฉันได้เรียนรู้เกี่ยวกับ WebIOPi เพื่อตรวจสอบ GPIO ของฉันผ่านหน้าเว็บ นั่นคือฉันยังได้เรียนรู้เกี่ยวกับการวางทางลัดไปยังหน้าจอหลักของ Android นอกจากนี้ยังเริ่มจุดประกายความคิดในการพึ่งพาบริการด้วย ฉันต้องการให้มันเชื่อถือได้
- สร้างอีเมล ทวีต หรือ SMS ที่ประตูโรงรถของคุณ: ตอนที่ 1 โดย Richard L. Lynch อันนี้เพิ่มแนวคิดในการใช้ Magnetic Sensor เพื่อควบคุมสถานะของประตู อย่างไรก็ตาม ฉันไม่ได้ใช้งานอะไรมากเพราะไม่ได้สร้างระบบเตือนภัย แต่เป็นระบบสั่งการ/ตรวจสอบ
- ที่เปิดประตูโรงรถแบบไร้สายโดยสมบูรณ์ / กล้องรักษาความปลอดภัยโดย DeckerEgo สิ่งนี้ทำให้ฉันตระหนักดีถึงการสตรีมเว็บแคมเพื่อเฝ้าสังเกตประตู ฉันยังต้องใช้ความพยายามบางอย่างในสิ่งนั้น บางทีฉันอาจต้องรีไซเคิลฮับ USB หรือดึงเว็บแคมอื่น
- การควบคุม Raspberry Pi จากอุปกรณ์มือถือหรือเว็บเบราว์เซอร์เดสก์ท็อปโดยFrédérick Blais นี่คือฐานของฉันสำหรับซอฟต์แวร์สแต็ค ใช้ Flask เพื่อเรียกใช้หน้าเว็บที่ง่ายมากพร้อมกับ AJAX นี่เป็นสิ่งพิเศษสำหรับฉัน เนื่องจากมีการตรวจสอบและตัวเลือกคำสั่งแบบเรียลไทม์ อ่านด้านล่าง.
เกี่ยวกับ RPi. ของฉัน
ขณะที่ฉันยังคงเรียนรู้เกี่ยวกับ RPi และอุปกรณ์อิเล็กทรอนิกส์โดยทั่วไป ฉันซื้อของหลายอย่างสำหรับ Raspberry Pi ที่เพิ่งซื้อมาใหม่: สายเคเบิลสองสามเส้น, T-cobbler, ไฟ LED บางตัว, โมดูลรีเลย์เดียว, แปดรีเลย์ โมดูล จอ LCD และอื่นๆ ฉันไม่ใช่ช่างอิเล็กทรอนิกส์และสิ่งนี้พิสูจน์แล้วว่าให้คำแนะนำได้ดีมาก ในการซื้อฮาร์ดแวร์เสริม Amazon และ Ebay เป็นเพื่อนที่ดีที่สุดของคุณ
สถานะปัจจุบันของโครงการรวมถึงฮาร์ดแวร์ต่อไปนี้:
- Raspberry Pi (FR/DE) ที่ใช้ Raspbian Wheezy 2014-09-09 พร้อมอัปเดตล่าสุด
- 8GB (FR/DE) หรือ 16GB (FR/DE) หรือ 32GB (FR/DE) micro SD Card Class 10 เพื่อเก็บ OS, ไฟล์และอื่นๆ
- สวิตช์กกโรงรถโลหะผสมสังกะสี 2 ตัว (FR/DE) เพื่อตรวจจับสถานะเปิด/ปิด
- โมดูลรีเลย์ 3v (FR/DE) หนึ่งตัวเพื่อส่งคำสั่งไปยังมอเตอร์ประตู (ของฉันมี LED ในตัวเพื่อตรวจสอบสถานะรีเลย์ มีประโยชน์มาก!)
- เขียงหั่นขนมแบบบัดกรี (FR/DE) และสวิตช์ชั่วขณะ 2 อัน (FR/DE) เพื่อจำลองประตูบนโต๊ะของฉัน (หรือรับชุดสตาร์ท (FR/DE))
- ดองเกิล wifi (FR/DE) เพื่อถอดสายเพิ่มเติมเมื่อจะห้อยลงมาจากเพดานโรงรถ
ข้อจำกัดที่ฉันยังคงมีอยู่คือฉันไม่รู้ว่าประตูจะถึงครึ่งทางแล้ว หยุด หรือยังคงเคลื่อนไหวอยู่เมื่อไร นี่เป็นเหตุผลที่ฉันต้องการเพิ่มเว็บแคมเก่าเพื่อสตรีมจากภายในโรงรถในภายหลัง บางทีฉันจะเพิ่มเซ็นเซอร์เพื่อตรวจสอบมอเตอร์เอง
ขั้นตอนที่ 2: ซอฟต์แวร์ Stack
เรื่องทั่วไป
ซอฟต์แวร์ใช้โมดูล Python, Flask และ WiringPi GPIO Python ตามที่อธิบายไว้ในเบื้องหลัง ฉันเริ่มต้นจากการสอน Raspberry Pi ควบคุมจากอุปกรณ์มือถือหรือเว็บเบราว์เซอร์เดสก์ท็อปที่เผยแพร่โดยFrédérick Blais ซอฟต์แวร์ปัจจุบันประกอบด้วย:
- ไฟล์เทมเพลต HTML ที่มีโค้ดและตัวควบคุม jQuery Mobile บางส่วน
- โมดูล Python Pins เพื่อเข้าถึง GPIO ของ Raspberry Pi
- โมดูล Python go เพื่อเรียกใช้ Flask และรองรับการสืบค้น AJAX
สิ่งที่มีอยู่ในที่เก็บคือซอฟต์แวร์ดิบ มันไม่ได้มีลักษณะแฟนซีหรือล้นหลาม เป็นเพียงสิ่งที่ฉันสามารถทำได้จากสิ่งที่ฉันได้เรียนรู้
อินเทอร์เฟซปัจจุบัน
ขณะนี้สถานะสำหรับประตูอ่านทุก 0.5 วินาที สวิตช์สองตัวใช้สำหรับสถานะเปิด/ปิด ใช้รีเลย์เพื่อสั่งการมอเตอร์ รหัสปัจจุบันยังคงแสดงผลการดีบักบางอย่าง ด้านล่างภาพหน้าจอมาจาก Nexus 5
ขั้นตอนที่ 3: ฮาร์ดแวร์ - Alpha
เตียงทดสอบ
เตียงทดสอบของฉันค่อนข้างเรียบง่าย RPi รีเลย์และสวิตช์สองตัว ผูกเชือกเล็กน้อย (FR/DE) เพื่อยึดสิ่งของไว้แน่น นี่คือภาพของมัน สาย LAN RJ45 (FR/DE) ใช้สำหรับดีบักเดสก์ท็อปและดองเกิล WIFI สำหรับการใช้งานในโรงรถ
ระบบถ่ายทอดสด
RPi เชื่อมต่อกับมอเตอร์ประตูเท่านั้นในตอนนี้ สวิตช์จะตามมา ฉันต้องรออีกสักพักกว่าจะได้ท่อหดความร้อน (FR/DE) ฉันควรจะมั่นคงมากกว่านี้ ขอโทษที่เบลอ
สายสีน้ำเงิน เหลือง และเขียวทางด้านซ้ายมีไว้สำหรับสวิตช์แม่เหล็ก
- สีน้ำเงินคือ GND
- สีเหลืองและสีเขียวคือหมุด 18 (สถานะเปิด) และ 27 (สถานะปิด)
ขั้นตอนที่ 4: ฮาร์ดแวร์ - เบต้า
เตียงทดสอบ
ตอนนี้เป็นกระดาษแข็งที่มีซิปผูก LCD และรีเลย์รวมอยู่ในชุดด้วย LCD มีขนาด 20x4 (20 ตัวอักษรสำหรับแถว 4 บรรทัด) (FR/DE) เหนือ I²C
2 บรรทัดแรกแสดงคำทักทายและวันที่/เวลา 2 บรรทัดสุดท้ายหมุนเวียนระหว่างสถานะหมุดและสถานะเครือข่าย (eth0/wan0 IPs) บรรทัดสถานะของประตูเป็น GFX ที่ดีที่จะพูดว่า:
- | | เปิด
- |-| กำลังดำเนินการ
- |.| ถูกปิด
แผนผัง Fritzing
แผนผังสุดล้ำพร้อมจอ LCD I2C ขนาด 20x4 สวิตช์เปิด/ปิดและรีเลย์ การเพิ่มเพียงอย่างเดียวคือหน้าจอ LCD I2C ฉันชอบสิ่งนั้นมากกว่า 18x2 ที่ฉันมี
ระบบถ่ายทอดสด
เบต้า HW ตอนนี้เป็น "ระดับการผลิต" เนื่องจากพอดีกับกล่องสกรูเก่า ฉันเก็บตัวคั่นไว้หนึ่งตัวเพื่อโฮสต์รีเลย์และสายเคเบิลอื่น ๆ ในขณะที่ RPi อยู่ที่ระดับต่ำกว่า คุณอาจสังเกตเห็น Synology NAS (FR/DE) ทางด้านขวา ซึ่งใช้สำหรับจ่ายไฟให้กับ RPi โดยตรง ในเวลากลางคืนด้วยโมเด็ม สวิตช์ และ NAS
มุมมองแบบปิดของกล่องสกรู จอ LCD จะแสดงสถานะของประตูและพินเอาต์เปิด/ปิด/รีเลย์
ในเวลากลางคืนมุมมองภายในจากด้านบน
ขั้นตอนที่ 5: ซอร์สโค้ดและทรัพยากร
คุณสามารถค้นหาทรัพยากรทั้งหมดได้ที่ที่เก็บ GitHub นี้:
github.com/amayii0/GarageOpenerR1
แนะนำ:
บ้านอัจฉริยะโดย Raspberry Pi: 5 ขั้นตอน (พร้อมรูปภาพ)
บ้านอัจฉริยะโดย Raspberry Pi: มีผลิตภัณฑ์หลายอย่างที่ทำให้แฟลตของคุณฉลาดขึ้น แต่ส่วนใหญ่เป็นโซลูชันที่เป็นกรรมสิทธิ์ แต่ทำไมคุณต้องเชื่อมต่ออินเทอร์เน็ตเพื่อเปลี่ยนไฟด้วยสมาร์ทโฟนของคุณ นั่นเป็นเหตุผลหนึ่งที่ทำให้ฉันสร้าง Smar ของตัวเอง
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
ที่เปิดประตูโรงรถโดยใช้ Arduino: 3 ขั้นตอน
Garage Gate Opener โดยใช้ Arduino: นี่เป็นโครงการที่ใช้ฮาร์ดแวร์ซึ่งใช้ Atmel Atmega 328P (Arduino UNO) เพื่อสร้าง Garage Gate Opener โดยไม่ต้องใช้อุปกรณ์ต่อพ่วงเพิ่มเติม รหัสนี้สามารถปกป้องระบบจากความเสียหายทางไฟฟ้า วงจรทั้งหมดใช้พลังงาน
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-