สารบัญ:

ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets: 4 ขั้นตอน
ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets: 4 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets: 4 ขั้นตอน

วีดีโอ: ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets: 4 ขั้นตอน
วีดีโอ: Fixing an Energenie Smart Switch Socket - Home Automation 2024, กรกฎาคม
Anonim
ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets
ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets
ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets
ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets
ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets
ระบบอัตโนมัติในบ้านอัจฉริยะพร้อมซ็อกเก็ต Energenie - Proximity Sockets

บทนำ

มีตัวอย่างมากมายของระบบอัตโนมัติในบ้านอัจฉริยะ แต่อันนี้เรียบง่ายและทำงานได้อย่างมีประสิทธิภาพมากเป็นเวลาหนึ่งปีในบ้านของฉัน ดังนั้นฉันหวังว่าคุณจะชอบมัน เมื่อคุณทำเสร็จแล้ว คุณจะมีอุปกรณ์ที่สามารถสแกนเครือข่ายเพื่อดูว่าคุณอยู่ในบ้านหรือไม่ ตามอุปกรณ์ที่เปิดใช้งาน 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: การประกอบ

ขั้นตอนที่ 1: การประกอบ
ขั้นตอนที่ 1: การประกอบ
ขั้นตอนที่ 1: การประกอบ
ขั้นตอนที่ 1: การประกอบ
ขั้นตอนที่ 1: การประกอบ
ขั้นตอนที่ 1: การประกอบ

ฉันไม่จำเป็นต้องทำตามคำแนะนำการตั้งค่าพื้นฐานซ้ำที่นี่ Pi-mote มีคำแนะนำของตัวเองซึ่งค่อนข้างครอบคลุม คุณสามารถเรียกใช้รหัสการฝึกปฏิบัติเพื่อตรวจสอบว่าสวิตช์ทำงานอย่างถูกต้อง

energenie4u.co.uk/res/pdfs/ENER314%20UM.pd…

ขณะที่บอร์ดมีเสาอากาศอยู่ ขอแนะนำสำหรับช่วงที่กว้างขึ้น (>5 ม.) เพื่อเพิ่มเสาอากาศแบบลวดตามที่แสดงในภาพ (สายสีดำแนวตั้ง) สัญญาณจะถูกส่งที่ 433MHz ดังนั้นเสาอากาศควรมีความยาวประมาณ 1/4 * v/f ~= 15 ซม.

ฉันได้เพิ่มเลโก้ caseworks ของฉันด้วย ฉันจะให้คุณเป็นผู้ตัดสินคุณภาพของงานนั้น:)

ขั้นตอนที่ 2: ขั้นตอนที่ 2: ค้นหาที่อยู่ IP ของอุปกรณ์

ขั้นตอนที่ 2: ค้นหาที่อยู่ IP ของอุปกรณ์ของคุณ
ขั้นตอนที่ 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 ของคุณ

ขั้นตอนที่ 3: ตั้งค่า Sockets ของคุณ
ขั้นตอนที่ 3: ตั้งค่า Sockets ของคุณ

เมื่อคุณมีที่อยู่ IP แล้ว คุณจะต้องตั้งค่าซ็อกเก็ตของคุณ ทำได้โดยกดปุ่มสีเขียวบนซ็อกเก็ตค้างไว้จนกว่าไฟสีแดงจะกะพริบแล้วส่งสัญญาณที่เลือก สัญญาณต่างๆ ทำได้โดยชุดสวิตช์ไบนารี 4 ชุดที่สอดคล้องกับเอาต์พุตดิจิทัลบน Pi

มีโค้ดตัวอย่างในคู่มือการสลับของ Energenie ฉันขอแนะนำให้คัดลอกโค้ดนี้และดัดแปลงสคริปต์สั้น ๆ ซึ่งช่วยให้คุณตั้งค่าซ็อกเก็ตได้โดยการส่งสัญญาณเมื่อคุณเรียกใช้สคริปต์

ขั้นตอนที่ 4: ขั้นตอนที่ 4: เขียนรหัสของคุณ

และเข้าสู่โปรแกรมสุดท้าย

ฉันได้แนบรหัสที่ฉันใช้ ซึ่งใช้ได้กับอุปกรณ์สองเครื่องสำหรับผู้อยู่อาศัยในบ้านของเราแต่ละคน ในขณะที่มีปุ่มแทนที่สำหรับคนอื่นๆ

รหัสทำงานโดยค้นหาที่อยู่ IP '192.168.0.10' และ '192.168.0.28' จากนั้นจะดูเฉพาะพอร์ต 80 และ 62078 เพื่อประหยัดเวลา พอร์ตเหล่านี้มักจะเปิดสำหรับการสื่อสารบนอุปกรณ์พกพา เปลี่ยนที่อยู่ IP เป็นที่อยู่ที่คุณพบในขั้นตอนสุดท้าย นอกจากนี้ยังตรวจสอบอินพุตของปุ่ม ในกรณีนี้ ปุ่มเชื่อมต่อกับพิน 40 ใน GPIO.setup โดยดึงลงมาที่พื้น หากมีอุปกรณ์ใดอยู่หรือเปิดปุ่มอยู่ อุปกรณ์จะส่งสัญญาณไปที่ซ็อกเก็ตเพื่อเปิดเครื่อง

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

ฉันได้ทิ้งรหัสการดีบักไว้ด้วยเนื่องจากสิ่งนี้มีประโยชน์สำหรับการพิจารณาว่ารหัสของคุณทำงานอย่างถูกต้องหรือไม่ อย่าลังเลที่จะสร้างและดัดแปลงจากพื้นฐานนี้เพื่อให้มีซ็อกเก็ตและอุปกรณ์มากมายที่โต้ตอบกัน นอกจากนี้ คุณอาจต้องการเรียกใช้โค้ดนี้อย่างต่อเนื่องบน Pi ของคุณในเบื้องหลังในขณะที่ทำสิ่งอื่น ๆ อยู่ โดยเฉพาะอย่างยิ่งจากการเริ่มต้น สำหรับข้อมูลเกี่ยวกับวิธีการทำสิ่งนี้ โปรดดูที่กระทู้นี้:

แนะนำ: