สารบัญ:
- ขั้นตอนที่ 1: การตั้งค่าเซิร์ฟเวอร์และการพึ่งพาบน Raspberry Pi
- ขั้นตอนที่ 2: ติดตั้ง Web Framework และการกำหนดค่าสำหรับ NGiNX
- ขั้นตอนที่ 3: การตั้งค่าสคริปต์ Python ซึ่งจะโต้ตอบกับ GPIO
- ขั้นตอนที่ 4: จบด้าน PHP ของสิ่งต่าง ๆ
- ขั้นตอนที่ 5: การสร้างวงจร
- ขั้นตอนที่ 6: การทดสอบขั้นสุดท้าย
- ขั้นตอนที่ 7: ส่วนโบนัส: Clapper Trigger แบบเก่า
วีดีโอ: สวิตช์ไฟ: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ในโครงการนี้ ฉันจะยกตัวอย่างวิธีสร้างระบบควบคุมแสงแบบไร้สายโดยสมบูรณ์พร้อมโบนัสเพิ่มเติมในตอนท้าย ติดตามบทช่วยสอนฉบับสมบูรณ์
ความต้องการ:
- Raspberry Pi (รสไหนก็ได้ แต่ฉันใช้รุ่น 3B+)
- ทรานซิสเตอร์ 2n2222 สองตัว (ผมแนะนำให้ซื้ออย่างน้อยห้าตัวเพราะมีโอกาสสูงที่คุณจะ short ได้เล็กน้อยโดยไม่ได้ตั้งใจ)
- สายจัมเปอร์ชาย-ชาย และ ชาย-หญิง
- เขียงหั่นขนม
- (อุปกรณ์เสริม แต่แนะนำ) แหล่งจ่ายไฟ Breadboard 5V
- ตัวต้านทาน 1k และ 10k สองตัวแต่ละตัว
- โมดูลรีเลย์คู่
- โคมไฟบ้านเก่า 2 ดวงหรืออุปกรณ์ให้แสงสว่างอื่น ๆ (ใช้หลอดไฟ LED เนื่องจากหลอดไส้มักจะไหม้ในระหว่างการทดสอบ)
- เทปพันสายไฟและคีมตัดสายไฟสำหรับต่อเชื่อม
ขั้นตอนที่ 1: การตั้งค่าเซิร์ฟเวอร์และการพึ่งพาบน Raspberry Pi
สำหรับโครงการของฉัน ฉันใช้ NGiNX แม้ว่าคุณสามารถใช้เซิร์ฟเวอร์ใดก็ได้ที่คุณต้องการ (Apache2 เป็นต้น) การติดตั้ง vanilla ด้วยตัวจัดการแพ็คเกจนั้นใช้ได้ ไม่จำเป็นต้องคอมไพล์ซอร์สของเราเองหรืออะไรทำนองนั้น เราต้องการ PHP, Python3 และ Composer ด้วย
- SSH ลงใน PI ของคุณและพิมพ์ $sudo nano /etc/dhcpcd.conf
- กำหนดค่าพารามิเตอร์ IP แบบคงที่
- รีบูต PI. ของคุณ
- ตรวจสอบเพื่อดูว่าทุกอย่างทำงานหรือไม่โดยพิมพ์ {the_ip_you_chose} ในแถบที่อยู่ของเบราว์เซอร์ของคุณ (คุณควรเห็นหน้าต้อนรับของ nginx)
ขั้นตอนที่ 2: ติดตั้ง Web Framework และการกำหนดค่าสำหรับ NGiNX
เราต้องการมีเว็บไซต์ที่เราสามารถเข้าถึงได้จากเบราว์เซอร์มือถือหรือเดสก์ท็อปของเรา และเพื่อกำจัดการเขียนโค้ด php/html ธรรมดาซึ่งไม่ใช่ขอบเขตของบทช่วยสอนนี้ เราจะใช้เฟรมเวิร์ก PHP ที่เรียกว่า Yii2 แทนเพื่อจัดการกับพื้นฐาน การกำหนดเส้นทางและสไตล์สำหรับเรา
- ไปที่หน้าการติดตั้ง Yii2 และใช้ผู้แต่งเพื่อติดตั้งใน /var/www/html/light-switch
- เราจะไม่เห็นอะไรทั้งนั้น เพราะเรายังไม่ได้ใส่ไฟล์ปรับแต่งของเราสำหรับเซิร์ฟเวอร์
- ฉันแนบไฟล์ (ค่าเริ่มต้น) กับขั้นตอนนี้
- ใช้ตามที่เป็นอยู่กับเฟรมเวิร์กนี้หรือค้นหาแบบอื่นทางออนไลน์หากคุณต้องการแบ็กเอนด์อื่น
- คุณต้องใส่ไฟล์นี้ใน /etc/nginx/sites-available/
- รีโหลด NGiNX ด้วย $sudo systemctl รีโหลด nginx
- ในกรณีที่บางอย่างใช้ไม่ได้ผล คุณสามารถเรียกใช้ $sudo nginx -t เพื่อดีบั๊กไฟล์กำหนดค่า
ขั้นตอนที่ 3: การตั้งค่าสคริปต์ Python ซึ่งจะโต้ตอบกับ GPIO
เนื่องจาก PHP ไม่ชอบเล่นได้ดีกับสคริปต์ประเภทรันไทม์เช่น GPIO API และ python ไม่ค่อยเป็นมิตรกับเว็บแอป เราจะใช้แต่ละสคริปต์ในบริบทที่เป็นประโยชน์ แนบมากับขั้นตอนนี้ คุณจะพบกับสคริปต์หลามที่จำเป็น 4 ตัว ซึ่งโต้ตอบกับหมุดและเปิดไฟ วางสคริปต์ไว้ที่ใดก็ได้ที่คุณต้องการ แต่ให้สังเกตตำแหน่งของสคริปต์เนื่องจากเราต้องการมันในขั้นตอนต่อไปเมื่อเราตั้งค่าด้าน php ของสิ่งต่างๆ
ขั้นตอนที่ 4: จบด้าน PHP ของสิ่งต่าง ๆ
สิ่งที่เราต้องทำคือลบพาธและเพจเริ่มต้นบางส่วนออกจากเลย์เอาต์หลัก และเพิ่มโค้ดสองสามบรรทัดใน SiteController บวกกับเมธอดใหม่ที่เรียกว่า actionLightswitch() หลังจากนี้ มันจะรันสคริปต์ python จากขั้นตอนก่อนหน้า ซึ่งจะสั่งการพิน GPIO
ขั้นตอนที่ 5: การสร้างวงจร
เนื่องจากลักษณะของโมดูลรีเลย์เฉพาะนี้ (จะสลับเมื่อเชื่อมต่อกับ GND) เราจึงต้องสร้างวงจรโดยใช้ทรานซิสเตอร์ PI จะเปิดเฉพาะทรานซิสเตอร์ซึ่งจะทำให้กระแสไหลจากพินข้อมูลรีเลย์ไปยัง GND ทำให้เกิดขดลวดและปิดวงจรสำหรับหลอดไฟ ทำตามแผนผังในภาพที่แนบมาและคุณจะดีไป
ภาคต่อๆ ไปนี้ต้องระวังให้มาก เพราะได้เวลาต่อรีเลย์แล้ว ถอดปลั๊กทุกอย่างก่อน! รีเลย์มี 3 พอร์ตต่อการเชื่อมต่อ เราจะเชื่อมต่อสายเคเบิลเครื่องใช้ของเราเข้ากับสายกลางและสายที่มีป้ายเปิดอยู่ ประกบสายเคเบิลอย่างระมัดระวังเพื่อให้เห็นตัวนำทองแดงและเสียบเข้าไปในพอร์ตรีเลย์ดังกล่าว ลำดับไม่สำคัญเพราะตอนนี้เรากำลังทำงานกับกระแสทางเลือก
ขั้นตอนที่ 6: การทดสอบขั้นสุดท้าย
ตรวจสอบวงจรและพินที่กำหนดอย่างน้อยสองครั้ง จากนั้นเชื่อมต่อ PI กับแหล่งจ่ายไฟแล้วพิมพ์ {the_chosen_ip} ในแถบที่อยู่ของเบราว์เซอร์ หน้าแรกจะมีสวิตช์สองตัวของเรา คลิกที่พวกเขาและดูไฟเปิด/ปิด
ขั้นตอนที่ 7: ส่วนโบนัส: Clapper Trigger แบบเก่า
ความต้องการ:
- ไมโครโฟน usb ใด ๆ (ไม่จำเป็นต้องเป็นไมโครโฟนคุณภาพสูง)
- แพ็คเกจ ALSA (วิธีการติดตั้งจะแตกต่างกันไปตามการกระจายของคุณ)
- โมดูล PyAudio
คัดลอกสคริปต์หลามที่แนบมาและเสียบไมโครโฟนของคุณ รีบูต PI ดำเนินการสคริปต์และปฏิบัติตามคำแนะนำของคอนโซล เข้าใกล้ไมโครโฟนและปรบมือสองครั้ง คุณควรเห็นเสียงปรบมือถูกลงทะเบียนในเอาต์พุตคอนโซล และหากสำเร็จ ไฟทั้งสองดวงจะเปิดขึ้นหลังจาก 2 วินาที
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
สวิตช์ไฟ LED ปุ่มเหรียญแบบง่าย (ใช้น้ำหนัก): 8 ขั้นตอน
สวิตช์ไฟ LED ปุ่มเหรียญอย่างง่าย (โดยใช้น้ำหนัก): นี่คือสวิตช์ปุ่มเหรียญที่ค่อนข้างง่ายในการดำเนินการ เมื่อใช้น้ำหนักกับตัวนำแคลมป์ แรงที่ลดลงจะติดไฟ LED ขึ้น
สวิตช์ไฟ Bluetooth ควบคุมระยะไกล: 4 ขั้นตอน (พร้อมรูปภาพ)
สวิตช์ไฟ Bluetooth ควบคุมระยะไกล: นี่จะเป็นโครงการแรกในซีรีส์เรื่อง: "ความเกียจคร้านที่เพิ่มประสิทธิภาพ: เหนือวิธีแก้ปัญหาเชิงวิศวกรรมเพื่อแก้ไขปัญหาเล็กน้อยอย่างน่าทึ่ง"เคยนอนอยู่บนเตียงตอนดึกเพื่ออ่านหนังสือหรือดู Netflix บนแล็ปท็อปหรือไม่? แน่นอนว่าส่วนที่แย่ที่สุดคือ
สวิตช์ไฟ + พัดลมหรี่ไฟในบอร์ดเดียวพร้อม ESP8266: 7 ขั้นตอน (พร้อมรูปภาพ)
สวิตช์ไฟ + พัดลมหรี่ไฟในบอร์ดเดียวด้วย ESP8266: ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีสร้างสวิตช์ไฟและหรี่พัดลมของคุณเองในบอร์ดเดียวด้วยไมโครคอนโทรลเลอร์และโมดูล WiFi ESP8266 นี่เป็นโครงการที่ยอดเยี่ยมสำหรับ IoT ข้อควรระวัง :วงจรนี้รองรับแรงดันไฟฟ้ากระแสสลับหลัก ดังนั้นโปรดระวัง
สวิตช์ไฟ PIR (หรืออุปกรณ์ AC ใดๆ) โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์: 4 ขั้นตอน (พร้อมรูปภาพ)
สวิตช์ไฟ PIR (หรืออุปกรณ์ AC ใดๆ) ที่ไม่มีไมโครคอนโทรลเลอร์: นี่เป็นวงจรง่ายๆ สำหรับเปิดใช้งานรีเลย์ที่เชื่อมต่อกับอุปกรณ์ AC (หรือ DC สำหรับเรื่องนั้น) เช่นหลอดไฟ ฉันจะถือว่าคุณรู้วิธีใช้รีเลย์และ การเดินสายไฟฟ้าเบื้องต้น (กูเกิลเป็นเพื่อนคุณ) วงจรถูกออกแบบเพื่อใ