สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
บทนำ
มีตัวอย่างมากมายของระบบอัตโนมัติในบ้านอัจฉริยะ แต่อันนี้เรียบง่ายและทำงานได้อย่างมีประสิทธิภาพมากเป็นเวลาหนึ่งปีในบ้านของฉัน ดังนั้นฉันหวังว่าคุณจะชอบมัน เมื่อคุณทำเสร็จแล้ว คุณจะมีอุปกรณ์ที่สามารถสแกนเครือข่ายเพื่อดูว่าคุณอยู่ในบ้านหรือไม่ ตามอุปกรณ์ที่เปิดใช้งาน Wi-Fi ที่คุณเก็บไว้ และสามารถควบคุมชุดซ็อกเก็ตโดยใช้เสาอากาศ RF ดังนั้น เมื่อคุณเดินเข้าไปในบ้าน ไฟจะติด และเมื่อคุณออกไป ไฟก็จะดับลง จากที่ที่คุณอยู่เท่านั้น (นอกจากนี้ คุณยังสามารถประหยัดพลังงานได้มากในอุปกรณ์ที่ไม่จำเป็นต้องเปิดเมื่อคุณอยู่ ไม่มีเหมือนลำโพงไร้สาย)
มันใช้ Raspberry Pi 2 รุ่น B และใช้ pi-mote จาก Energenie แม้ว่าฉันจะแน่ใจว่าซ็อกเก็ตที่ควบคุมด้วย RF ใด ๆ สามารถแฮ็กเพื่อทำงานกับชุดอุปกรณ์ที่เหมาะสมได้ มันถูกเข้ารหัสใน Python ส่วนใหญ่ใช้ไลบรารี nmap-python สำหรับการสแกนพอร์ตบนเครือข่ายท้องถิ่นของคุณ
ความต้องการ:
1. Raspberry Pi - ฉันเคยใช้รุ่น B มา 2 รุ่นแล้ว แต่รุ่นใดก็ใช้ได้ (แต่ไม่แน่ใจในความน่าเชื่อถือของศูนย์บนเครือข่ายไร้สาย) - เชื่อมต่อกับเราเตอร์ของคุณ (อีเธอร์เน็ตหากเป็นไปได้)
2. Energenie Pi-mote บอร์ดและซ็อกเก็ต
3. ความยาวของลวดและหัวแร้งถ้าเป็นไปได้
4. ปุ่มตัวเลือกและการแทนที่ LED
ขั้นตอนที่ 1: ขั้นตอนที่ 1: การประกอบ
ฉันไม่จำเป็นต้องทำตามคำแนะนำการตั้งค่าพื้นฐานซ้ำที่นี่ Pi-mote มีคำแนะนำของตัวเองซึ่งค่อนข้างครอบคลุม คุณสามารถเรียกใช้รหัสการฝึกปฏิบัติเพื่อตรวจสอบว่าสวิตช์ทำงานอย่างถูกต้อง
energenie4u.co.uk/res/pdfs/ENER314%20UM.pd…
ขณะที่บอร์ดมีเสาอากาศอยู่ ขอแนะนำสำหรับช่วงที่กว้างขึ้น (>5 ม.) เพื่อเพิ่มเสาอากาศแบบลวดตามที่แสดงในภาพ (สายสีดำแนวตั้ง) สัญญาณจะถูกส่งที่ 433MHz ดังนั้นเสาอากาศควรมีความยาวประมาณ 1/4 * v/f ~= 15 ซม.
ฉันได้เพิ่มเลโก้ caseworks ของฉันด้วย ฉันจะให้คุณเป็นผู้ตัดสินคุณภาพของงานนั้น:)
ขั้นตอนที่ 2: ขั้นตอนที่ 2: ค้นหาที่อยู่ IP ของอุปกรณ์
ตามที่กล่าวไว้เครื่องมือซอฟต์แวร์หลักคือไลบรารีที่เรียกว่า nmap ซึ่งได้รับการดัดแปลงสำหรับ python และสามารถดาวน์โหลดได้จากที่นี่: https://pypi.python.org/pypi/python-nmap/0.6.1 สามารถทำสิ่งต่างๆ ได้มากมาย:
เริ่มแรกเราจะทำการสแกนเครือข่ายในวงกว้างเพื่อค้นหาอุปกรณ์ที่เหมาะสม และในโปรแกรมหลักให้เรียกใช้การสแกนเครือข่าย
เปิดเทอร์มินัลหลามและพิมพ์:
นำเข้า nmap
nm=nmap. PortScanner()
nm.scan(โฮสต์=' ช่วงที่อยู่ IP ของเครือข่าย ', อาร์กิวเมนต์='-sP')
ช่วงที่อยู่ IP จะเป็นดังนี้: '192.168.0.1/24'
ข้อมูลนี้จะให้รายชื่ออุปกรณ์จำนวนมากในเครือข่ายของคุณ คุณจะต้องใช้การลองผิดลองถูกเพื่อพิจารณาว่าอุปกรณ์ใดที่คุณสนใจ
ขั้นตอนนี้ทำได้ง่ายขึ้นด้วยคำสั่ง arp-scan หรือ ping นอกตัวแปล python ซึ่งให้ข้อมูลบางอย่างเกี่ยวกับอุปกรณ์แก่คุณ แต่เนื่องจากเราใช้ไลบรารี python-nmap อยู่แล้ว ฉันคิดว่าฉันจะใส่อันนี้เข้าไป
เมื่อคุณพบอุปกรณ์ที่คุณต้องการใช้เป็นตัวควบคุมการมีอยู่เช่น โทรศัพท์มือถือ แท็บเล็ต ฯลฯ จดที่อยู่ IP ไว้ ใช้งานได้กับทั้งเครือข่ายที่อยู่ IP ที่ควบคุมแบบไดนามิกและแบบสถิต
เพื่อยืนยันว่าคุณมีอุปกรณ์ที่ถูกต้อง คุณสามารถยกเลิกการเชื่อมต่อจากเครือข่าย และทำการสแกนใหม่อีกครั้ง จากนั้นอุปกรณ์จะไม่ปรากฏในการสแกนของคุณ
ขั้นตอนที่ 3: ขั้นตอนที่ 3: ตั้งค่า Sockets ของคุณ
เมื่อคุณมีที่อยู่ IP แล้ว คุณจะต้องตั้งค่าซ็อกเก็ตของคุณ ทำได้โดยกดปุ่มสีเขียวบนซ็อกเก็ตค้างไว้จนกว่าไฟสีแดงจะกะพริบแล้วส่งสัญญาณที่เลือก สัญญาณต่างๆ ทำได้โดยชุดสวิตช์ไบนารี 4 ชุดที่สอดคล้องกับเอาต์พุตดิจิทัลบน Pi
มีโค้ดตัวอย่างในคู่มือการสลับของ Energenie ฉันขอแนะนำให้คัดลอกโค้ดนี้และดัดแปลงสคริปต์สั้น ๆ ซึ่งช่วยให้คุณตั้งค่าซ็อกเก็ตได้โดยการส่งสัญญาณเมื่อคุณเรียกใช้สคริปต์
ขั้นตอนที่ 4: ขั้นตอนที่ 4: เขียนรหัสของคุณ
และเข้าสู่โปรแกรมสุดท้าย
ฉันได้แนบรหัสที่ฉันใช้ ซึ่งใช้ได้กับอุปกรณ์สองเครื่องสำหรับผู้อยู่อาศัยในบ้านของเราแต่ละคน ในขณะที่มีปุ่มแทนที่สำหรับคนอื่นๆ
รหัสทำงานโดยค้นหาที่อยู่ IP '192.168.0.10' และ '192.168.0.28' จากนั้นจะดูเฉพาะพอร์ต 80 และ 62078 เพื่อประหยัดเวลา พอร์ตเหล่านี้มักจะเปิดสำหรับการสื่อสารบนอุปกรณ์พกพา เปลี่ยนที่อยู่ IP เป็นที่อยู่ที่คุณพบในขั้นตอนสุดท้าย นอกจากนี้ยังตรวจสอบอินพุตของปุ่ม ในกรณีนี้ ปุ่มเชื่อมต่อกับพิน 40 ใน GPIO.setup โดยดึงลงมาที่พื้น หากมีอุปกรณ์ใดอยู่หรือเปิดปุ่มอยู่ อุปกรณ์จะส่งสัญญาณไปที่ซ็อกเก็ตเพื่อเปิดเครื่อง
เพื่อหลีกเลี่ยงการหยุดทำงานที่อาจเกิดขึ้น: ในขณะที่อุปกรณ์จะเปิดขึ้นอย่างรวดเร็ว ณ ที่ที่คุณอยู่ เนื่องจากไม่มีผลบวกที่ผิดพลาด อุปกรณ์จะปิดหลังจากเวลาผ่านไปนานขึ้น เนื่องจากบางครั้งอาจมีผลลบปลอม กล่าวคือ ตรวจไม่พบอุปกรณ์อย่างถูกต้องในทุกการสแกน ดังที่ฉันได้กล่าวไปแล้วว่าเราไม่มีการออกกลางคันในระยะเวลากว่าหนึ่งปีของการดำเนินงานโดยใช้เทคนิคนี้
ฉันได้ทิ้งรหัสการดีบักไว้ด้วยเนื่องจากสิ่งนี้มีประโยชน์สำหรับการพิจารณาว่ารหัสของคุณทำงานอย่างถูกต้องหรือไม่ อย่าลังเลที่จะสร้างและดัดแปลงจากพื้นฐานนี้เพื่อให้มีซ็อกเก็ตและอุปกรณ์มากมายที่โต้ตอบกัน นอกจากนี้ คุณอาจต้องการเรียกใช้โค้ดนี้อย่างต่อเนื่องบน Pi ของคุณในเบื้องหลังในขณะที่ทำสิ่งอื่น ๆ อยู่ โดยเฉพาะอย่างยิ่งจากการเริ่มต้น สำหรับข้อมูลเกี่ยวกับวิธีการทำสิ่งนี้ โปรดดูที่กระทู้นี้:
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
Raspberry Pi RF รีโมทคอนโทรล Mains Sockets (ปลั๊กไฟ): 6 ขั้นตอน
Raspberry Pi RF รีโมทคอนโทรล Mains Sockets (ปลั๊กไฟ): ควบคุมซ็อกเก็ตไฟ 433MHz ราคาถูก (เต้ารับบนผนัง) โดยใช้ Raspberry Pi Pi สามารถเรียนรู้รหัสควบคุมที่ส่งออกจากรีโมทคอนโทรลของซ็อกเก็ต และใช้งานภายใต้การควบคุมโปรแกรมเพื่อเปิดใช้งานซ็อกเก็ตระยะไกลใดๆ หรือทั้งหมดทั่วทั้งบ้าน
Type2 Mennekes ถึง 3 230V Sockets: 4 ขั้นตอน (พร้อมรูปภาพ)
Type2 Mennekes ถึง 3 230V Sockets: เป็นเวลาสี่ปีที่ฉันขับมอเตอร์ไซค์ไฟฟ้า ZeroS อย่างมีความสุข และใช่ เวลาในการชาร์จได้กลายเป็นส่วนสำคัญในการตัดสินใจที่จะไปที่ไหนสักแห่งด้วยมอเตอร์ไซค์ รถยนต์ หรือระบบขนส่งสาธารณะ…เนื่องจากรุ่นของฉันเก่าเกินไปที่จะคิดค่าธรรมเนียม