วิธีที่ถูกที่สุดในการควบคุมซ็อกเก็ตพลังงานหลายตัว (ไฟ) ผ่าน Wi-Fi


41

สิ่งที่ฉันต้องการจะดูคือวิธีที่ถูกที่สุดในการควบคุมแสงของฉันโดยใช้ Raspberry Pi ของฉัน

สิ่งที่ฉันจินตนาการเพื่อควบคุมมัน

ฉันสร้างอินเทอร์เฟซบนสมาร์ทโฟนซึ่งฉันสามารถส่งคำสั่งไปที่ Raspberry Pi ของฉันได้ ราสเบอร์รี่ Pi จะส่งแพคเกจ (หรืออย่างอื่น) ไปยังสิ่งที่ฉันสามารถใส่ในช่องเสียบไฟของฉัน (ดังนั้นฉันไม่เห็นมัน) โปรดทราบว่าสิ่งนี้ควรเชื่อมต่อผ่าน Wi-Fi (จะรับข้อความจาก Raspberry Pi ของฉันได้อย่างไร)

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


มีคนควบคุม wifi ของเต้าเสียบที่ทำไว้ราคาราว ๆ $ 20 (ไม่รวมราสเบอร์รี่ปี่) ProvoTronics.com
Ty Jones เมื่อ

คำตอบ:


22

ฉันกำลังใช้รายการเหล่านี้:

  • รับ ON-OFFเพื่อควบคุมแสงของฉัน (โดยปกติคุณวางอุปกรณ์ไว้ในแผ่นวอลเล็ตหรือแทนที่จะเป็นวอลเล็ต) พวกมันทำงานในย่านความถี่ 433 MHz (ISM)

ออกจากกล่องคุณมีการควบคุมระยะไกลซึ่งส่งสัญญาณไปยังอุปกรณ์ที่รับและเปิดหรือปิด

ในกรณีของฉันฉันสร้างสถานการณ์นี้:

  • สร้างเว็บไซต์HTMLบน Raspberry Pi ของฉัน ( /switch.html)
  • ฉันเรียกหน้านั้นมาร์ทโฟนของฉัน
  • บนหน้ามีสี่ปุ่ม (ฉันควบคุมสี่อุปกรณ์ / ไฟ)
  • เมื่อฉันคลิกปุ่มมันจะทำการโทรไปที่แบบอะซิงโครนัส/switch.php(.php อยู่บน Raspberry Pi)
  • การswitch.phpเรียกswitch.pyโปรแกรมที่ควบคุมผู้ส่ง 433 MHz (ดูด้านล่าง)
  • ผู้ส่ง 433 MHz ทำสิ่งเดียวกันกับรีโมทคอนโทรลนอกกรอบ

นี่คือผู้ส่งซึ่งก็คือการแทนที่รีโมทคอนโทรลมาตรฐาน: 433 MHz Wireless Transmitter Module Superregeneration สำหรับ Arduino

ฉันยังสร้างสถานการณ์จำลองสำหรับการใช้นอกบ้าน

ฉันไม่ต้องการเชื่อมต่อ Raspberry Pi ของฉันผ่าน homerouter ของฉันโดยตรงกับอินเทอร์เน็ตดังนั้นฉันจึงสร้างหน้าเว็บอื่น (ที่โดเมนของฉันเอง) ซึ่งไม่ได้ควบคุม Raspberry Pi โดยตรง แต่มันส่งอีเมลไปที่ (รู้จักกันเพื่อ ฉัน) ที่อยู่อีเมล ( Gmail )

Raspberry Pi ตรวจสอบบัญชีอีเมลนั้นทุก 10 นาทีเพื่อดูว่ามีอีเมลใด ๆ หรือไม่ ในอีเมลฉบับนั้นฉันบอกว่าเปิดหรือปิด

ดังนั้นเมื่อเรากลับถึงบ้านช้าและไฟดับแล้วเราก็นำทางไปยังไซต์บนมือถือของฉัน (แผนที่จะทำให้มันเป็นแอพ Android) คลิกที่ปุ่มหน้าจะถูกโพสต์และที่เซิร์ฟเวอร์จะได้รับอีเมลและ ในอีก 0-10 นาที Raspberry Pi จะตรวจสอบอีเมลดูอีเมลใหม่สี่ฉบับ (เปิด, เปิด, เปิดและเปิดเครื่อง) และเปิดไฟ

เริ่มต้นอย่างไร

ดังนั้นเพื่อเริ่มต้นสิ่งเหล่านี้คือสิ่งที่ฉันได้ทำเพื่อให้มันใช้งานได้จริง ในกรณีของฉันฉันตั้งโปรแกรมการควบคุมของผู้ส่ง 433 MHz ใน Python (ซึ่งเป็นภาษาที่ง่ายถ้าคุณรู้วิธีการตั้งโปรแกรม)

ก่อนอื่นคุณติดตั้งrpi.gpiolibary

ไลบรารีนี้ใช้เพื่อควบคุมพินเล็ก ๆ ของ Raspberry Pi จากสคริปต์ Python ของคุณ ดูการติดตั้งห้องสมุดหลาม RPi.GPIO

จากนั้นคุณสามารถเลือกที่จะอ่านบทความTutorial: วิธีการใช้ราสเบอร์รี่ Pi ของคุณชอบ Arduinoก็เกี่ยวกับสิ่งที่คุณสามารถทำอะไรกับrpi.gpioห้องสมุดเช่นกระพริบไฟ LED

มันไม่ได้บังคับสำหรับการเปลี่ยนไฟ Elro

จากนั้นคุณจะได้รับรหัสที่น่ากลัวสำหรับผู้บังคับบัญชา Elro โดย HeikoHeiko ที่http://pastebin.com/aRipYrZ6 คุณวางรหัสนั้นในไฟล์ชื่อ ' switchelro.py'

จากนั้นคุณเปลี่ยนสตริงที่บรรทัด 94 เป็นการตั้งค่าจัมเปอร์ของคุณเอง (ตามที่คุณได้ตั้งค่าในรีโมตคอนโทรลและอุปกรณ์วอลล์เล็ตของคุณ) ตรวจสอบว่าอุปกรณ์รีโมตวอลเอาต์เล็ตรวมกันทำงานก่อนลองกับ Raspberry Pi หากไม่ทำงาน ด้วยองค์ประกอบมาตรฐานมันอาจจะล้มเหลวด้วย Raspberry Pi ด้วย)

จากนั้นคุณเปลี่ยนจำนวนพินที่ผู้ส่งของคุณแนบไว้ที่บรรทัด 97

หมายเลข PIN สามารถ gotten จากRPI อุปกรณ์ต่อพ่วงในระดับต่ำและในไฟล์: RPI P1 header.png

คุณต้องใช้การนับ 1..26 (ภาพสีดำ) ไม่ใช่ GPIO34, GPIO24 ฯลฯ (ภาพสีเขียว)

จากนั้นคุณพิมพ์สิ่งนี้บนพรอมต์คำสั่ง:

sudo python switchelro.py 2 1

ซึ่งหมายถึง 'เปิด B' (ตามสกีมานี้: A = 1, B = 2, C = 4, D = 8, E = 16สำหรับหมายเลขแรกและ 1 = เปิด, 0 = ปิดสำหรับวินาที)

ผมเปลี่ยนrepeat = 10ในline 30การrepeat = 20ในการเริ่มต้น (ผมจำไม่ได้ว่าทำไม) และผลงาน ฉันไม่เคยลองใหม่ด้วยการตั้งค่า '10'


1
โอ้และราคา .. ที่นี่ในเนเธอร์แลนด์ชุดรับ walloutlet 3 ชุด (ซึ่งคุณคลิกที่ Walloutlet และแสงเข้าสู่ผู้รับ) ด้วยการควบคุมระยะไกลราคา 15 ยูโร ผู้ส่ง 433 Mhz มีค่าใช้จ่ายประมาณ $ 5
มิเชล

นั่นคือสิ่งที่ฉันกำลังค้นหา! คุณช่วยส่งไฟล์โครงการให้ฉันได้ไหม (switch.html, switch.php และ switch.py) อีเมลของฉันอยู่ในคำตอบข้างต้น นอกจากนี้ฉันจะซื้อตัวรับ on-off2 ในเนเธอร์แลนด์ได้ที่ไหน เว็บไซต์ที่คุณระบุไม่ได้ให้ราคาใด ๆ
Rick Hoving

โพสต์ที่ยอดเยี่ยม - คุณสามารถเพิ่มตำแหน่งที่คุณพบแหล่งข้อมูลสำหรับคำสั่งที่คุณส่งผ่านซีเรียลได้หรือไม่? คุณจะใช้ห้องสมุดหรือไม่? คุณกำหนดเป้าหมายอุปกรณ์อย่างไร +1
Piotr Kula

1
@Nitin ในระบบของฉันคุณสามารถตั้งค่า dipswitch บนตัวรับสัญญาณ (สวิตช์เปิด / ปิด 5 ตัว) และ 5 ตัวอักษร (A .. E) ดังนั้นด้วยรหัสdefault_key = [1,0,0,0,1]จากpastebin.com/aRipYrZ6รหัสคุณสามารถควบคุม dipswitch และด้วยpinคุณสมบัติในdef __init__(self, device, key=[1,1,1,1,1], pin=4):รหัสที่คุณควบคุม A .. E (a = 1 .. e = 16)
Michel

1
@Nitin ไม่รู้วิธีควบคุมด้วย C # หวังว่าจะเป็นเช่นนั้นเพราะ PI ล่าสุดจะทำงาน Win10 และหวังว่ามันจะใช้ C # เช่นกัน ที่กล่าวว่าในขณะที่ฉันเป็นโปรแกรมเมอร์ C # Python นั้นเรียนรู้ได้ง่าย
Michel

6

สิ่งที่เรียกว่าX10มันเป็นมาตรฐานอุตสาหกรรมสำหรับงานอัตโนมัติบ้านมากที่สุดรวมทั้งการควบคุมไฟ สัญญาณควบคุมจะถูกส่งผ่านสายไฟเดียวกันกับที่อุปกรณ์ของคุณเชื่อมต่ออยู่

เพื่อให้สามารถควบคุมทุกอย่างจากคอมพิวเตอร์คุณอาจต้องการอ่านเกี่ยวกับX10 Computer Interfacesจากเว็บไซต์ OpenRemote รุ่นที่คุณน่าจะเป็นคือ CM15A พร้อมอินเตอร์เฟส USB ที่รองรับ Linux

นอกจากนี้อาจเป็นความคิดที่ดีที่จะตรวจสอบอีเบย์สำหรับซ็อกเก็ตผนังที่เปิดใช้งาน X10 และสกรูในโมดูลหลอดไฟซึ่งสามารถซื้อได้ในราคา $ 10-20


6

สิ่งที่คุณกำลังมองหาเป็นState Relay โซลิดหรือกลRelay แนวคิดก็คือกระแสไฟฟ้าจำนวนเล็กน้อยที่แรงดันต่ำ (เช่นจาก RPi ของคุณ) สามารถใช้เพื่อกระตุ้นการไหลของกระแสไฟฟ้าจำนวนมากที่แรงดันสูง (เช่นหลอด)

ฉันขอแนะนำ$ 12 SainSmart 8 Channel DC 5V Relay Module สำหรับ Arduino Raspberry Piเนื่องจากมันถูกผลิตขึ้นเป็นบอร์ดพร้อมใช้งานสกรูขั้ว มีการสร้างใน FETs เพื่อจ่ายกระแสไฟฟ้าพิเศษที่จำเป็นสำหรับรีเลย์เชิงกลที่จะถูกกระตุ้น มีบอร์ดที่แตกต่างจาก บริษัท เดียวกันในหลากหลายรูปแบบ / จำนวนรีเลย์ หนึ่งผมส่งเป็น 8 ช่องดังนั้นมันอาจจะไม่เพียงพอสำหรับความต้องการของคุณแม้ว่าจะมี16 รุ่นที่ช่องทางที่มีอยู่ โดยทั่วไปแล้วจะถูกกว่าการซื้อรีเลย์หลาย ๆ ตัวแยกกันและทำให้ง่ายขึ้น

มีการเชื่อมต่อ 4 ที่ต้องการ:

  • จุดเชื่อมต่อทั่วไป (ที่แชร์กับรีเลย์ทั้งหมด) ที่เชื่อมต่อกับ RPi
  • แยกอินพุตที่ขับเคลื่อนโดยแต่ละสาย RPi GPIO (เพื่อทริกเกอร์รีเลย์)
  • อินพุตแรงดันสูง
  • แรงดันไฟฟ้าสูง

อินพุต / เอาต์พุตแรงดันไฟฟ้าสูงคือการเชื่อมต่อที่เกิดขึ้นหรือแตกหักโดยรีเลย์ตามสายอินพุต

ฉันมีโปรแกรม C ที่ยอดเยี่ยมสำหรับการสลับพิน GPIO จาก SSH จากระยะไกล หากคุณต้องการให้ฉันสามารถให้รหัสแหล่งที่มาหรืออธิบายวิธีการทำงาน


ฉันจะบอกว่าไม่ให้โปรแกรมที่น่ากลัว แม้ว่า C ไม่ได้อยู่ในรายการเพลงของฉัน แต่อย่างน้อยฉันก็สามารถดูรหัสได้ตลอดเวลา
Rick Hoving

คุณสามารถส่ง rickhoving7@hotmail.com ได้ไหม ขอบคุณล่วงหน้า!
Rick Hoving

หากคำถามของคุณได้รับคำตอบโปรดคลิกเครื่องหมายถูกด้านล่างลูกศรลงคะแนน
Alexander

@XAleXOwnZX ฉันจะเห็นรหัสที่น่ากลัวนี้ด้วยหรือไม่ บางทีคุณควรเปิดคำถาม "ไม่มีใครมีโปรแกรม C ที่ยอดเยี่ยมสำหรับการสลับพิน GPIO จาก SSH จากระยะไกล" จากนั้นตอบคำถาม
puk

ฉันจะต้องใช้ที่อยู่อีเมลของคุณฉันจะส่งและโพสต์คำถาม + คำตอบพรุ่งนี้
อเล็กซานเดอร์

2

ระบบของฉันราคาถูก: EUR 43.- (ผู้รับ + ​​เครื่องส่งสัญญาณ) ดูด้านล่าง

สำหรับระบบอัตโนมัติที่บ้านฉันเพียงแค่แนบเครื่องส่งสัญญาณ FS20 ที่รองรับ 3.3V 868,35MHz ไปยัง RPI:

http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html

อินเตอร์เฟสเครื่องส่งสัญญาณนี้โดยตรง (โดยสาย 4 เท่านั้น) ไปยังพอร์ต GPIO ของ RPI (3.3V, GND, TXD, RXD) และควบคุมได้อย่างง่ายดายผ่านทางอินเตอร์เฟสบรรทัดอนุกรม

ตอนนี้คุณสามารถควบคุมอุปกรณ์ FS20 อันหลากหลายเช่นสวิตช์สวิตช์สลับสวิตช์หรี่ไฟเครื่องจับเวลาวิทยุ ตัวรับสัญญาณหลายช่องทาง ฯลฯ ด้วยการส่งสัญญาณจำนวนไบต์ผ่านอินเตอร์เฟสคอนโซลอนุกรม UART ของ RPI

ภาพรวมระบบ FS20:

http://www.elv.de/fs20-funkschaltsystem.html

(น่าเสียดายที่เว็บไซต์นี้ให้บริการเป็นภาษาเยอรมันเท่านั้น)

ฉันชอบ CLI ธรรมดาสำหรับการควบคุมอุปกรณ์ในบ้านของฉัน หากคุณต้องการ GUI บางตัวคุณอาจดูที่นี่:

http://fhem.de/fhem.html

โชคดีในภาษาอังกฤษ :-)

แม้ว่าระบบ FS20 จะมีความยืดหยุ่นสูง แต่ราคาถูกมาก ค่าใช้จ่ายตัวอย่างสำหรับสวิตช์เปิด / ปิดง่าย:

เปลี่ยนเอง: http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html EUR 22,95

ตัวส่งสัญญาณ UART: http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html EUR 19,95

ฉันแนะนำให้ควบคุม RPI ด้วยคีย์บอร์ดไร้สาย ในกรณีนี้คุณอาจเลือกซื้อสิ่งเล็ก ๆ ที่มีความคิดสร้างสรรค์

RT-MWK03 [Wireless 2.4 Ghz] ( http://www.riitek.com/en/product-detail-428.html )



0

ในขณะที่ไม่ถูกแน่นอนนี่เป็นวิธีแก้ปัญหาของฉัน:

http://www.everyhue.com/?page_id=38#/discussion/707/raspberry-touchpad-some-success

โดยพื้นฐานแล้วคุณใช้ฟิลิปส์เว้ (ไฟ LED หลากสีที่สามารถควบคุมได้แบบตั้งค่าได้) พร้อมกับ RPi และทัชแพด พื้นผิวทัชแพด USB ทำหน้าที่เกี่ยวกับขนาดสีและความสว่างในขณะที่ปุ่มเมาส์จะเปิดและปิดไฟ ค่าใช้จ่ายคือ RPi + Wifi dongle ($ 11) + ทัชแพด USB ราคาถูก ($ 15) + ชุด Philips Hue ($ 200 สำหรับสะพานและไฟ 3 ดวงจากนั้น $ 60 / ไฟ)


0

ฉันมีวิธีที่แตกต่าง: ฉันใช้ดองเกิล USB CUL ของ Busware (รองรับโปรโตคอลและอุปกรณ์อื่น ๆ ของ FS20 + HMS + FHT +) และใช้ Java API ของตัวเองเพื่อสร้างอุปกรณ์และอนุญาตการทำงานอัตโนมัติผ่านแอปพลิเคชัน Java

ในกรณีที่ใครสนใจโครงการเล็ก ๆ ของฉัน: http://www.paulo-lima.org/hans

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.