
สารบัญ:
- ขั้นตอนที่ 1: รวบรวมชิ้นส่วน
- ขั้นตอนที่ 2: ตั้งค่า Raspberry Pi โดยไม่ต้องใช้จอภาพหรือคีย์บอร์ด
- ขั้นตอนที่ 3: ติดตั้ง Wiring Pi, Apache และ PHP
- ขั้นตอนที่ 4: เว็บไซต์
- ขั้นตอนที่ 5: รูปภาพเว็บไซต์
- ขั้นตอนที่ 6: ควบคุมเว็บเซิร์ฟเวอร์จากระยะไกล
- ขั้นตอนที่ 7: ต่อวงจรกับ Raspberry Pi
- ขั้นตอนที่ 8: สร้างบริการเริ่มต้น
- ขั้นตอนที่ 9: แนบ Raspberry Pi ไปที่โรงรถ
- ขั้นตอนที่ 10: แนบ Raspberry Pi กับ SECO-LARM
- ขั้นตอนที่ 11: ส่งการแจ้งเตือนหากประตูเปิดเมื่อควรปิด
- ขั้นตอนที่ 12: ใส่ Raspberry Pi ในหนังสือลับ
- ขั้นตอนที่ 13: ภาคผนวก: ข้อมูลอ้างอิง
- ขั้นตอนที่ 14: ภาคผนวก: อัปเดต
- ขั้นตอนที่ 15: ภาคผนวก: การแก้ไขปัญหา
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-06-01 06:10

ฉันสร้างคำแนะนำนี้ในปี 2014 มีการเปลี่ยนแปลงมากมายตั้งแต่นั้นมา ในปี 2021 ฉันได้อัปเดต Smart Garage Door Opener ที่นี่
ใช้ Raspberry Pi และสมาร์ทโฟนในการเปิด ปิด และตรวจสอบประตูโรงรถ การเปิดและปิดประตูมีความปลอดภัยโดยใช้ใบรับรองที่ลงนามเองซึ่งติดตั้งบนโทรศัพท์มือถือของครอบครัว หากประตูโรงรถเปิดในเวลาไม่ควร ให้ส่งข้อความ (SMS) ไปยังโทรศัพท์มือถือ
ประตูโรงรถมีการใช้งานอย่างต่อเนื่องตั้งแต่ปลายปี 2557 ตลอดหลายปีที่ผ่านมา ฉันพยายามปรับปรุงการเปลี่ยนแปลงให้ทันสมัยอยู่เสมอ มีภาคผนวกที่อธิบายการเปลี่ยนแปลงคำสั่งสอน
เป้าหมายของโครงการนี้คือ:
- ทำให้การสอนครั้งแรกของฉัน - ฉันไม่ได้วางแผนที่จะโพสต์สิ่งนี้ แต่ฉันได้รับคำขอมากมาย
- เปิดประตูโรงรถด้วยรีโมทมาตรฐาน
- เปิดประตูโรงรถด้วยกริ่งประตูโรงรถติดผนัง
- เปิดประตูโรงรถด้วยสมาร์ทโฟน
- ตรวจสอบสถานะของประตูโรงรถจากระยะไกลผ่านโทรศัพท์มือถือหรือแล็ปท็อป (เปิดหรือปิด?)
- ส่งข้อความไปยังโทรศัพท์มือถือของฉันหากประตูเปิดเมื่อควรจะปิด
- รักษาประตูโรงรถให้ปลอดภัย (เช่น เมื่อไฟฟ้าดับ ไม่ควรเปิดประตู)
- ไม่อนุญาตให้บุคคลอื่นบนเน็ตเปิดประตู (ใบรับรอง SSL แบบลงนามเองสองทาง)
- ใช้ WiFi แทนการเชื่อมต่อแบบมีสาย
- ใช้ Raspberry Pi 3
พื้นฐานสำหรับการใช้งานที่เปิดประตูโรงรถนี้มาจากคำสั่ง: Raspberry Pi Garage Door Opener โดย quartarian เดิมทีฉันใช้รุ่น B+ Raspberry Pi จากนั้นย้ายไปที่ Raspberry Pi 2 รุ่น B และตอนนี้ก็ใช้ Raspberry Pi 3
ฉันใช้ MacBook เพื่อสื่อสารกับ Raspberry Pi แต่สามารถใช้คอมพิวเตอร์เครื่องใดก็ได้
ไม่มีเหตุผลที่น่าสนใจในการสร้างอุปกรณ์นี้ แต่ก็สนุก มันคุ้มค่ากว่าที่จะซื้อ อุปกรณ์ที่คล้ายกันสามารถซื้อได้ในราคาประมาณ $130 USD
- ลิฟท์มาสเตอร์ 828LM
- Chamberlain MyQ $129
- ประตู GoGo $179
- ช่างฝีมือ $100
หมายเหตุ:
- ข้อความที่อยู่ในโพดำเช่นนี้ ♣replace-this♣ ควรแทนที่ด้วยค่าจริง
- Arduino ขีดเส้นใต้ข้อความสีน้ำเงินเป็นลิงค์ ในกรณีนี้ เป็นลิงค์ไปยังเครื่องเปิดประตูโรงรถรุ่น Arduino
- ฉันพยายามให้เครดิตทุกแหล่งที่ใช้ ฉันขอโทษสำหรับการละเลย เอกสารนี้ส่วนใหญ่อิงจากผลงานของผู้อื่น
- $ หมายถึงคำสั่งที่ดำเนินการในหน้าต่างเทอร์มินัลบน MacBook และมักจะถูกดำเนินการบน Raspberry Pi
ขั้นตอนที่ 1: รวบรวมชิ้นส่วน
ซื้อหรือรวบรวมชิ้นส่วนและเครื่องมือ (ราคาเป็น USD)
- Raspberry Pi 3 รุ่น B Newark Element14 $35
- อะแดปเตอร์แปลงไฟ USB 5.2V 2.5A จาก Amazon $9.99
- สาย Micro USB เป็น USB 6 ฟุต จาก Amazon $7.99
- เคสจาก Amazon $6.99
- SanDisk Ultra 16 GB microSDHC Class 10 พร้อมอะแดปเตอร์ (SDSQUAN-016G-G4A) จาก Amazon $ 8.99
- SunFounder 2 ช่อง 5V โมดูลโล่รีเลย์สำหรับ Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $6.79
- 3x สายจัมเปอร์หญิง-หญิง ซื้อที่ Fry's ในราคา 4.95 เหรียญ
- DNS แบบไดนามิก $40 ต่อปีสำหรับ 30 ชื่อ (dyn.com)
- 1-แก๊ง 18 ลูกบาศ์ก in. สวิตช์ติดผนังแบบเก่าและกล่องเอาท์เล็ท ราคา $3.12
- แผ่นผนังสีขาวแปรงเดี่ยว Ultra Pro, 7.88 เหรียญ
- SECO-LARM SM 226L, เซ็นเซอร์ประตูโรงรถ, ราคาแตกต่างกันอย่างมาก, $ 9.99 ใน Amazon พร้อมจัดส่งฟรี
- ลวดเทอร์โมสตัตแข็ง 50 ฟุต, Home Depot หรือ Lowe's, ~$20
ยอดรวมของฉัน: ~ $172.00
ฉันมีชิ้นส่วน เครื่องมือ และบริการดังต่อไปนี้:
- สายเคเบิลอีเธอร์เน็ต CAT5
- ลวดเกจขนาดเล็ก ยาว 6 ฟุต
- ไขควงปากแฉก
- คีมจมูกเข็ม
- เครื่องตัดกล่อง
- ไขควงปากแบนสำหรับอัญมณี จำเป็นสำหรับการคลายสกรูบนรีเลย์
- MacBook (สามารถใช้พีซีได้)
- AT&T GigaPower (สามารถใช้ผู้ให้บริการอินเทอร์เน็ตใดก็ได้)
ขั้นตอนที่ 2: ตั้งค่า Raspberry Pi โดยไม่ต้องใช้จอภาพหรือคีย์บอร์ด

โครงการ Raspberry Pi ทั้งหมดต้องมีการตั้งค่าบางประเภท ฉันชอบใช้ชุดคำสั่งเดียวกัน และเมื่อจำเป็น ควรมีที่เดียวในการอัปเดตคำแนะนำเหล่านั้น
ตั้งค่า Raspberry Pi โดยใช้คำแนะนำต่อไปนี้:
ตั้งค่า Raspberry Pi โดยไม่ต้องใช้จอภาพหรือคีย์บอร์ด
คำแนะนำข้างต้นมีขั้นตอนเพิ่มเติมในภาคผนวก อย่าลืมทำตามขั้นตอน:
เพิ่มใบรับรองฝั่งไคลเอ็นต์ให้กับเว็บเซิร์ฟเวอร์
ปิด Raspberry Pi
$ sudo ปิด -h 0
เมื่อปิดเครื่องแล้ว ให้ถอด
- สายอีเธอร์เน็ต
- สายเคเบิลอนุกรม USB
สิ่งเหล่านี้จะไม่จำเป็นอีกต่อไป ใช้ wifi, ssh และหน้าต่างเทอร์มินัลบน Mac Book เพื่อเรียกใช้คำสั่งบน Raspberry Pi
ถอดปลั๊กไฟและเสียบปลั๊กไฟกลับเข้าไป และ raspberry pi ควรรีบูต
ขั้นตอนที่ 3: ติดตั้ง Wiring Pi, Apache และ PHP
ติดตั้งสายไฟ Pi
เปิดหน้าต่างเทอร์มินัลบน Mac Book เข้าสู่ระบบ Raspberry Pi จากนั้นดาวน์โหลด คอมไพล์ และติดตั้ง Wiring Pi ซอฟต์แวร์นี้ช่วยให้สามารถควบคุมพิน GPIO นี่คือคำแนะนำทีละขั้นตอน:
wiringpi.com/download-and-install/
นี่คือคำแนะนำเวอร์ชันย่อ:
$ ssh pi@♣raspberry-pi-ip♣
รหัสผ่าน: ♣password♣ $ sudo apt-get install git-core $ git clone git://git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build
เรียกใช้คำสั่ง gpio เพื่อตรวจสอบการติดตั้ง:
$ gpio -v
เวอร์ชัน gpio: 2.29 ลิขสิทธิ์ (c) 2012-2015 Gordon Henderson นี่เป็นซอฟต์แวร์ฟรีที่ไม่มีการรับประกันอย่างแน่นอน สำหรับรายละเอียดประเภท: gpio -warranty Raspberry Pi รายละเอียด: ประเภท: รุ่น 2, การแก้ไข: 1.1, หน่วยความจำ: 1024MB, ผู้ผลิต: Sony [OV] Device tree เปิดใช้งานอยู่ Raspberry Pi นี้รองรับการเข้าถึง GPIO ระดับผู้ใช้ -> ดู man-page สำหรับรายละเอียดเพิ่มเติม $ gpio readall +-----+-----+---------+------+---+--- Pi 2---+---+------+---------+----+-----+ | BCM | wPi | ชื่อ | โหมด | วี | ทางกายภาพ | วี | โหมด | ชื่อ | wPi | BCM | +-----+-----+---------+------+---+----++----+---+- -----+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | จีพีโอ 7 | ออก | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | จีพีโอ 0 | IN | 0 | 11 || 12 | 0 | IN | จีพีโอ 1 | 1 | 18 | | 27 | 2 | จีพีโอ 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | จีพีโอ 3 | IN | 0 | 15 || 16 | 1 | IN | จีพีโอ 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | IN | จีพีโอ 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | มิโซะ | IN | 0 | 21 || 22 | 0 | IN | จีพีโอ 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+- -----+---------+-----+-----+ | BCM | wPi | ชื่อ | โหมด | วี | ทางกายภาพ | วี | โหมด | ชื่อ | wPi | BCM | +-----+-----+---------+------+---+---Pi 2---+---+--- -----------+-----+-----+
คำสั่งข้างต้นควรให้ความมั่นใจแก่คุณว่าสายไฟPi ทำงานได้ดี
ติดตั้ง Apache และ PHP
รันคำสั่งต่อไปนี้:
$ ซีดี..
$ sudo apt-get update $ sudo apt-get ติดตั้ง apache2 php5 libapache2-mod-php5
หากต้องการตรวจสอบว่าเว็บเซิร์ฟเวอร์ทำงาน ให้เปิดเบราว์เซอร์และในช่อง URL ให้ป้อน:
♣raspberry-pi-ip♣
เว็บไซต์เริ่มต้นของ Apache ตอบสนองด้วย "มันใช้งานได้!"
ขั้นตอนที่ 4: เว็บไซต์
เปิดหน้าต่างเทอร์มินัลบน Mac Book เข้าสู่ระบบ Raspberry Pi จากนั้นลบไฟล์ index.html เริ่มต้น เปลี่ยนการอนุญาตบนไดเร็กทอรีเว็บไซต์ และแก้ไขไฟล์ชื่อ index.php
$ ssh pi@♣raspberry-pi-ip♣
รหัสผ่าน: ♣รหัสผ่าน♣ $ sudo rm /var/www/index.html $ sudo chown pi:root /var/www $ sudo nano /var/www/index.php
และป้อนรหัสต่อไปนี้:
ที่เปิดโรงรถ
ระบบอัตโนมัติในบ้าน |
---|
ที่เปิดประตูโรงรถ | คู่มือการเปิดประตูโรงรถ | ปิด 1 | เปิด 0 |
CTRL-o และ ENTER เพื่อเขียนไฟล์ และ CTRL-x เพื่อออกจากเอดิเตอร์
เปลี่ยนการอนุญาตในไฟล์
$ sudo chmod 664 /var/www/index.php
ขั้นตอนที่ 5: รูปภาพเว็บไซต์


หยิบที่เปิดประตูโรงรถระยะไกลความละเอียดสูงจากเว็บ แก้ไขภาพตามที่คุณต้องการโดยใช้พู่กัน Mac ในภาพด้านบน ใช้ Genie Garage Opener ความละเอียดสูง เพิ่มโลโก้ Raspberry pi และนำ LED ออก
ภาพหนึ่งเป็นพื้นหลัง (remote-background.jpg) และอีกภาพหนึ่งเป็นภาพที่ทำงานอยู่ (remote-press.jpg)
แผนคือเมื่อกดปุ่มแทนที่จะกะพริบไฟ LED ราสเบอร์รี่จะกะพริบ ฉันทำให้เว็บไซต์ง่ายขึ้น
คัดลอกรูปภาพไปยังราสเบอร์รี่ pi:
$ scp *-j.webp
รหัสผ่าน: ♣รหัสผ่าน♣
เว็บไซต์มีปุ่มกดเพียงปุ่มเดียว หากต้องการตรวจสอบ ให้เปิดเบราว์เซอร์และป้อน ♣raspberry-pi-ip♣ แทนที่จะเป็นเว็บไซต์เริ่มต้นของ Apache ซึ่งระบุว่า "ใช้งานได้!" ปุ่มควรปรากฏขึ้น กดเลย
ขั้นตอนที่ 6: ควบคุมเว็บเซิร์ฟเวอร์จากระยะไกล
เพื่อให้ง่ายต่อการเข้าถึงที่เปิดประตูโรงรถจากสถานที่ห่างไกล ฉันใช้ชื่อ DNS แบบไดนามิก เพราะฉันไม่ชอบจำที่อยู่ IP
ด้วยคุณสมบัตินี้ ฉันป้อน ♣dynamic-hostname♣.getmyip.com ในช่อง URL ของเบราว์เซอร์ หมายเหตุ: IP บนเราเตอร์ที่บ้านสามารถเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบ แต่สิ่งนี้ไม่ค่อยเกิดขึ้น ฉันเลือกใช้ DynDNS คุณจะต้องทราบที่อยู่ IP สาธารณะของเราเตอร์ของคุณ
U-Verse Router IP: ♣uverse-public-ip♣
คุณสามารถดูชื่อโฮสต์และรายละเอียดบัญชี DynDNS Pro ของคุณได้ ต่อไปนี้คือเคล็ดลับบางประการในการเริ่มต้น:
-
สร้างชื่อโฮสต์ DNS แบบไดนามิกของคุณ (1 จาก 30):
- ♣ชื่อโฮสต์แบบไดนามิก♣
- คีย์ตัวอัปเดต: ♣dynamic-ip-updater-key♣
-
ติดตั้งโปรแกรมอัปเดตไคลเอ็นต์เพื่อให้แน่ใจว่าชื่อโฮสต์ของคุณชี้ไปยังที่อยู่ IP ที่ถูกต้องเสมอ
- ดาวน์โหลดและติดตั้งบน MacBook
- AT&T U-verse IPs ไม่ค่อยเปลี่ยนแปลง ดังนั้นจึงสามารถเรียกใช้ตัวอัปเดตด้านบนได้ทุกเมื่อที่มีการเปลี่ยนแปลง
-
ทำตามคำแนะนำ:
- เพิ่มบัญชี
- ป้อนชื่อผู้ใช้และรหัสผ่าน: ♣dynamic-ip-username♣ ♣dynamic-ip-password♣
- เลือกชื่อโฮสต์
- คลิกกำหนดค่าโฮสต์ที่เลือก
- โฮสต์ควรเปิดใช้งาน
-
กำหนดค่าเครือข่ายของคุณเพื่ออนุญาตการเข้าถึงอุปกรณ์ของคุณจากอินเทอร์เน็ต คุณสามารถใช้ Dyn Wizard เพื่อดูคำแนะนำทั่วไปเกี่ยวกับวิธีการทำเช่นนี้ ใช้แหล่งข้อมูล เช่น PortForward.com หรือติดต่อผู้ผลิตอุปกรณ์เพื่อขอความช่วยเหลือ
- AT&T U-กลอน
- การส่งต่อพอร์ตสำหรับ 2-Wire 3801HGV - นี่คือเราเตอร์ AT&T U-Verse ที่ฉันมี ดูการอัปเดตในภาคผนวกสำหรับวิธีส่งต่อบนเราเตอร์ AT&T U-verse 5268ac
- เปิดเบราว์เซอร์และไปที่ ♣raspberry-pi-ip♣
- รหัสผ่าน: ♣รหัสผ่าน♣
- การตั้งค่า
-
ไฟร์วอลล์
- เลือก ♣raspberry-pi-hostname♣
-
เซิร์ฟเวอร์
- เว็บเซิร์ฟเวอร์พอร์ต80
- เซิร์ฟเวอร์ HTTPS - พอร์ต 443
- เพิ่ม
- บันทึก
เมื่อเสร็จแล้ว เว็บเซิร์ฟเวอร์จะทำงานจากอินเทอร์เน็ต หากต้องการตรวจสอบ ให้ป้อน ♣dynamic-hostname♣ แล้วคุณจะเห็นปุ่มเปิดประตูโรงรถ
ขั้นตอนที่ 7: ต่อวงจรกับ Raspberry Pi

สำหรับรหัสที่ให้มา (ขั้นตอนที่ 4 และ 6) ฉันใช้ GPIO pin 7 มันเป็นเรื่องบังเอิญที่ GPIO 7 เหมือนกับสายพินpin 7 ในโค้ด PHP จะใช้หมายเลขพินการเดินสาย Pi ไม่ใช่หมายเลขพิน GPIO คุณสามารถใช้อะไรก็ได้ที่คุณต้องการ แต่อย่าลืมเปลี่ยนรหัส
ฉันลองใช้ลวดบิด แต่รีเลย์ยึดลวดบิดได้ไม่ดี ลวดแข็งจะดีกว่า
ในความพยายามครั้งแรกของฉัน ฉันได้สร้างสายเคเบิลเชื่อมต่อสามสาย (ตัวเมียกับตัวผู้)
- ใช้สายจัมเปอร์สามตัวต่อตัวเมีย
-
ตัดลวดแข็งสามชิ้นให้เหลือประมาณ 1 นิ้ว
ดึงลวดแข็งทั้งสองข้างออก 1/4 นิ้ว
- ใส่ลวดแข็งหนึ่งเส้นเข้ากับสายจัมเปอร์ตัวเมียหนึ่งเส้น
นี่เป็นวิธีที่ดีกว่าในการสร้างสายเชื่อมต่อ (ตัวเมียกับตัวผู้):
- ใช้เฉพาะลวดแข็ง
- ตัดลวดแข็งขนาด 4 นิ้วสามเส้น
- ดึงลวดแข็งทั้งสองข้างออก 1/4 นิ้ว
-
ใช้หมุดเชื่อมต่อตัวเมีย
-
เลื่อนหมุดต่อตัวเมียหนึ่งตัวที่ปลายด้านหนึ่งของลวดแข็งและจีบ
หมุดตัวเมียไม่ควรหลวม ประสานถ้าจำเป็น
- เลื่อนตัวคลายความเครียดบนหมุดต่อตัวเมียหรือหมุดปิดด้วยเทปของช่างไฟฟ้า
-
ต่อรีเลย์เข้ากับ pi ดังแสดงในแผนภาพ:
- ต่อปลายสายตัวเมียเข้ากับขา Raspberry Pi
- ใส่ลวดแข็งเข้าไปในรีเลย์
ขั้นตอนที่ 8: สร้างบริการเริ่มต้น
รีเลย์ส่วนใหญ่รวมทั้งตัวที่ซื้อมาทำงานดังนี้:
- เมื่อสัญญาณเปิดอยู่ วงจรจะดับ
- เมื่อสัญญาณดับ แสดงว่าวงจรเปิด
หาก Raspberry Pi สูญเสียพลังงาน รีเลย์จะมีกลไกความปลอดภัยที่ทำให้วงจรปิด
ปัญหาอาจเกิดขึ้นเมื่อ Rapberry Pi และรีเลย์ได้รับพลังงานกลับคืนมา แต่ก่อนที่ Raspberry Pi จะทำการบูทเสร็จเพื่อเปิดสัญญาณ ON ซึ่งจำเป็นต้องปิดวงจร คุณสามารถตื่นนอนตอนเช้าโดยเปิดโรงรถและอาจมีเพื่อนใหม่อีกสองสามคน!
อย่างไรก็ตาม รีเลย์ไม่ได้เริ่มต้นจริง ๆ จนกว่าโหมดพิน GPIO จะถูกตั้งค่าผ่านคำสั่งนี้: gpio mode 7 out นอกจากนี้ หากพิน GPIO เป็น ON (gpio เขียน 7 1) ก่อนที่คุณจะตั้งค่าโหมด GPIO รีเลย์จะปิดเมื่อเริ่มต้น
ในการทำให้การเริ่มต้นนี้ทำงานเมื่อเปิดเครื่องและไม่เรียกเพื่อนใหม่ ให้ใช้สคริปต์เริ่มต้นต่อไปนี้
$ ssh pi@♣raspberry-pi-ip♣
$ sudo nano /etc/init.d/garagerelay
จากนั้นวางสคริปต์นี้:
#! /bin/bash
# /etc/init.d/garagerelay # ดำเนินการฟังก์ชั่นเฉพาะเมื่อถูกถามโดยกรณีของระบบ "$1" ในการเริ่มต้น) echo "Starting Relay" # เปิด 7 ซึ่งจะทำให้รีเลย์ปิด /usr/local/bin/gpio write 7 1 #Start Gpio /usr/local/bin/gpio โหมด 7 ออก;; หยุด) echo "กำลังหยุด gpio";; *) echo "การใช้งาน: /etc/init.d/garagerelay {start|stop}" exit 1;; esac ทางออก 0
วิธีบันทึก: CTRL-o, ENTER
หากต้องการออกจากนาโน ให้กด CTRL-x
ทำให้ไฟล์ปฏิบัติการได้:
$ sudo chmod +x /etc/init.d/garagerelay
ตอนนี้บอกให้ pi ของคุณรันสคริปต์นี้ตอนบูต:
$ sudo update-rc.d -f garagerelay เริ่ม 4
(หมายเหตุ: คุณสามารถละเว้นคำเตือน "แท็ก LSB ที่หายไป" ได้อย่างปลอดภัย)
ตรวจสอบให้แน่ใจว่าสคริปต์เริ่มต้นทำงานอยู่
$ sudo รีบูต
เปิดเบราว์เซอร์และคลิกที่ตัวเปิด รีเลย์ควรคลิก
ขั้นตอนที่ 9: แนบ Raspberry Pi ไปที่โรงรถ

เมื่อย้าย Raspberry Pi ต้องแน่ใจว่าได้เรียกใช้:
$ ปิด -h 0
คุณอาจต้องการปิดไฟไปที่โรงรถ ดังนั้นที่เปิดประตูจะไม่ทำให้ไฟฟ้าช็อตคุณ:) เหตุผลที่แท้จริงคือทุกครั้งที่คุณตัดสายไฟ ประตูจะขึ้นและลง
คลายสกรูยึดผนังออกจากตัวเปิดแบบกริ่งประตู ซึ่งยึดกริ่งประตูกับผนัง
เจาะรูจากโรงรถหลังกริ่งประตูเข้าบ้าน ในเท็กซัส Raspberry Pi ไม่ควรอยู่ในโรงรถ ความแปรผันของอุณหภูมิในโรงรถนั้นอยู่นอกเหนือข้อกำหนดการทำงานของ Raspberry Pi
เดินสายไฟรีเลย์ผ่านรู (ใช้ไม้แขวนเสื้อ)
คลายสกรูทั้งสองตัวที่ด้านหลังของที่เปิดประตู
ดึงปลายสายรีเลย์ทั้งสองข้างออก: 1) ประมาณ 1/8” นิ้วของด้านรีเลย์ และประมาณ ½” นิ้วที่ด้านกริ่งประตู งอด้านกริ่งประตูของลวดให้เป็นครึ่งวงที่ใหญ่พอที่จะใส่สกรูด้านหลังได้
ต่อสายรีเลย์หนึ่งเส้นเข้ากับสกรูแต่ละตัวที่ด้านหลังของกริ่งประตู แล้วขันสกรูให้แน่น การเชื่อมต่อมีดังแสดงในภาพ เนื่องจากรีเลย์แยกวงจร ทิศทางจึงไม่สำคัญว่าจะต่อรีเลย์ตัวไหนกับสกรูตัวไหน
ขั้นตอนที่ 10: แนบ Raspberry Pi กับ SECO-LARM


ก่อนที่ฉันจะเขียนโค้ดเสร็จ ฉันและครอบครัวก็ลาพักร้อนและฉันก็เปิดเบราว์เซอร์ขึ้นมา มุมมองสุดท้ายของเบราว์เซอร์ของฉันคือที่เปิดประตูโรงรถ - หน้าได้รับการรีเฟรชและประตูโรงรถเปิดออก ไม่กี่วันต่อมาเพื่อนบ้านโทรมาถามว่าควรเปิดประตูโรงรถหรือไม่? โชคดีที่ฉันสามารถปิดได้ตั้งแต่ 500 ไมล์
กลโกงนี้บังคับให้ฉันเปลี่ยนรหัสเพื่อไม่ให้สิ่งนี้เกิดขึ้น และเพิ่มเซ็นเซอร์และสถานะของประตูโรงรถลงในเว็บไซต์
นี่คือลิงค์ไปยังคำแนะนำดั้งเดิมสำหรับการเพิ่มเซ็นเซอร์ อย่างไรก็ตาม เนื่องจากทุกอย่างที่เสร็จสมบูรณ์แล้ว การติดตั้งเซ็นเซอร์จึงง่ายขึ้นอย่างมาก และแทนที่จะใช้ python ให้เพิ่มโค้ดสองสามบรรทัดลงใน index.php
Fatal error: Uncaught Error: Call to undefined function exec() in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code:518 Stack trace: #0 W:\www\langs\.php-gen-lang\v3-core\macros.php(127): eval() #1 W:\www\langs\.php-gen-lang\v3-core\index-global.php(231): Macros->macros_parse('<!DOCTYPE html>...') #2 W:\www\langs\howwhatproduce.com\th.howwhatproduce.com\index.php(9): require_once('W:\\www\\langs\\.p...') #3 {main} thrown in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code on line 518