ที่เปิดประตูโรงรถ Raspberry Pi 3: 15 ขั้นตอน (พร้อมรูปภาพ)
ที่เปิดประตูโรงรถ Raspberry Pi 3: 15 ขั้นตอน (พร้อมรูปภาพ)
Anonim
Raspberry Pi 3 ที่เปิดประตูโรงรถ
Raspberry Pi 3 ที่เปิดประตูโรงรถ

ฉันสร้างคำแนะนำนี้ในปี 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 โดยใช้คำแนะนำต่อไปนี้:

ตั้งค่า 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

และป้อนรหัสต่อไปนี้:

ที่เปิดโรงรถ

ระบบอัตโนมัติในบ้าน

<?php ถ้า ($switch == 1) { echo"

"; } อื่น ๆ { echo"

"; } ?>

ที่เปิดประตูโรงรถ คู่มือการเปิดประตูโรงรถ ปิด 1 เปิด 0
<?php if ($trigger == 0) { echo " <td colspan=\"4\" } else { echo"

var13 -->

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

ต่อวงจรเข้ากับ Raspberry Pi
ต่อวงจรเข้ากับ 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 ไปที่โรงรถ
ติด Raspberry Pi ไปที่โรงรถ

เมื่อย้าย Raspberry Pi ต้องแน่ใจว่าได้เรียกใช้:

$ ปิด -h 0

คุณอาจต้องการปิดไฟไปที่โรงรถ ดังนั้นที่เปิดประตูจะไม่ทำให้ไฟฟ้าช็อตคุณ:) เหตุผลที่แท้จริงคือทุกครั้งที่คุณตัดสายไฟ ประตูจะขึ้นและลง

คลายสกรูยึดผนังออกจากตัวเปิดแบบกริ่งประตู ซึ่งยึดกริ่งประตูกับผนัง

เจาะรูจากโรงรถหลังกริ่งประตูเข้าบ้าน ในเท็กซัส Raspberry Pi ไม่ควรอยู่ในโรงรถ ความแปรผันของอุณหภูมิในโรงรถนั้นอยู่นอกเหนือข้อกำหนดการทำงานของ Raspberry Pi

เดินสายไฟรีเลย์ผ่านรู (ใช้ไม้แขวนเสื้อ)

คลายสกรูทั้งสองตัวที่ด้านหลังของที่เปิดประตู

ดึงปลายสายรีเลย์ทั้งสองข้างออก: 1) ประมาณ 1/8” นิ้วของด้านรีเลย์ และประมาณ ½” นิ้วที่ด้านกริ่งประตู งอด้านกริ่งประตูของลวดให้เป็นครึ่งวงที่ใหญ่พอที่จะใส่สกรูด้านหลังได้

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

ขั้นตอนที่ 10: แนบ Raspberry Pi กับ SECO-LARM

ติด Raspberry Pi เข้ากับ SECO-LARM
ติด Raspberry Pi เข้ากับ SECO-LARM
ติด Raspberry Pi เข้ากับ SECO-LARM
ติด 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