Cách rẻ nhất để kiểm soát nhiều ổ cắm điện (đèn) thông qua Wi-Fi


41

Những gì tôi muốn thấy là cách rẻ nhất có thể để điều khiển đèn của tôi bằng Raspberry Pi.

Những gì tôi tưởng tượng để kiểm soát nó

Tôi xây dựng một giao diện trên điện thoại thông minh của mình để tôi có thể gửi lệnh đến Raspberry Pi. Raspberry Pi sau đó sẽ gửi một gói (hoặc một cái gì đó khác) đến một thứ tôi có thể đặt bên trong ổ cắm điện của mình (vì vậy tôi không nhìn thấy nó). Lưu ý rằng điều này nên được kết nối qua Wi-Fi (làm thế nào khác nó sẽ nhận được tin nhắn từ Raspberry Pi của tôi?).

Điều này là và cách rẻ nhất có thể có là gì, vì tôi đang dự định kết nối một tá đèn?


Có một ổ cắm điều khiển wifi mà ai đó kiếm được với giá khoảng 20 đô la một phần (không bao gồm mâm xôi pi) ProvoTronics.com
Ty Jones

Câu trả lời:


22

Tôi đang sử dụng những vật phẩm này:

  • Bộ nhận ON-OFF để điều khiển đèn của tôi (bạn thường đặt một thiết bị vào walloutlet hoặc thay vì walloutlet). Chúng hoạt động ở băng tần 433 MHz (ISM).

Ra khỏi hộp bạn có một điều khiển từ xa sẽ gửi tín hiệu đến thiết bị nhận và bật hoặc tắt.

Trong trường hợp của tôi, tôi đã tạo ra tình huống này:

  • Tạo một trang web HTML trên Raspberry Pi ( /switch.html) của tôi
  • Tôi gọi trang đó trên điện thoại thông minh của tôi
  • Trên trang có bốn nút (Tôi điều khiển bốn thiết bị / đèn)
  • Khi tôi nhấp vào nút, nó sẽ thực hiện cuộc gọi đến /switch.php(.php trên Raspberry Pi) một cách không đồng bộ
  • Cuộc switch.phpgọi một switch.pychương trình điều khiển người gửi 433 MHz (xem bên dưới)
  • Người gửi 433 MHz thực hiện tương tự như điều khiển từ xa ngoài hộp.

Đây là người gửi, nghĩa là thay thế cho điều khiển từ xa tiêu chuẩn: Superregeneration Module phát không dây 433 MHz cho Arduino

Tôi cũng tạo ra một kịch bản để sử dụng ngoài nhà.

Tôi không muốn kết nối Raspberry Pi của mình trực tiếp qua trang chủ của mình với Internet, vì vậy tôi đã tự xây dựng một trang web khác (tại tên miền của riêng tôi) không trực tiếp kiểm soát Raspberry Pi, nhưng nó gửi email đến một (chỉ được biết đến tôi ) địa chỉ email ( Gmail ).

Raspberry Pi kiểm tra tài khoản email đó cứ sau 10 phút để xem có email nào không. Trong email đó, tôi ví dụ nói A bật hoặc B tắt.

Vì vậy, khi chúng tôi về nhà muộn và đèn đã tắt, chúng tôi điều hướng đến trang web trên điện thoại di động của tôi (kế hoạch biến nó thành ứng dụng Android), nhấp vào nút, trang được đăng và tại máy chủ, email sẽ được gửi và trong 0-10 phút tiếp theo, Raspberry Pi kiểm tra email, thấy bốn email mới (A bật, B bật, C bật và D bật) và bật đèn.

Làm thế nào để bắt đầu

Vì vậy, để bắt đầu, đây là những điều tôi đã làm để khiến nó hoạt động. Trong trường hợp của tôi, tôi đã lập trình điều khiển người gửi 433 MHz bằng Python (đây là ngôn ngữ dễ sử dụng nếu bạn đã biết cách lập trình).

Đầu tiên bạn cài đặt rpi.gpiolibary.

Thư viện này được sử dụng để kiểm soát các chân nhỏ trên Raspberry Pi từ tập lệnh Python của bạn. Xem Cài đặt thư viện Python RPi.GPIO .

Sau đó, bạn có thể tùy ý đọc bài viết Hướng dẫn: Cách sử dụng Raspberry Pi của bạn như Arduino , đó là về những gì bạn có thể làm với rpi.gpiothư viện, ví dụ như đèn LED nhấp nháy .

Tuy nhiên, điều này không bắt buộc đối với việc chuyển đổi ánh sáng Elro.

Sau đó, bạn nhận được mã tuyệt vời cho lệnh Elro của HeikoHeiko, tại http://pastebin.com/aRipYrZ6 . Bạn dán mã đó vào một tệp có tên ' switchelro.py'.

Sau đó, bạn thay đổi chuỗi trên dòng 94 thành cài đặt jumper của riêng bạn (như bạn đã đặt trong điều khiển từ xa và thiết bị walloutlet. Kiểm tra xem thiết bị kết hợp từ xa walloutlet hoạt động trước khi thử với Raspberry Pi. Nếu nó không hoạt động với các thành phần tiêu chuẩn, có lẽ nó cũng sẽ thất bại với Raspberry Pi).

Sau đó, bạn thay đổi số pin mà người gửi của bạn được đính kèm trên dòng 97.

Số pin có thể nhận được từ các thiết bị ngoại vi cấp thấp RPi và trong Tệp: RPi P1 header.png .

Bạn phải sử dụng số đếm 1,26 (hình ảnh màu đen), không phải GPIO34, GPIO24, v.v. (hình ảnh màu xanh lá cây).

Sau đó, bạn gõ này trên dấu nhắc lệnh:

sudo python switchelro.py 2 1

có nghĩa là 'bật B' (theo lược đồ này: A = 1, B = 2, C = 4, D = 8, E = 16cho số thứ nhất và 1 = bật, 0 = tắt cho số thứ hai).

Tôi đã thay đổi repeat = 10trên line 30để repeat = 20vào đầu (tôi không nhớ tại sao) và các công trình đó. Tôi chưa bao giờ thử lại với cài đặt '10'.


1
ồ, và giá .. ở đây ở Hà Lan, một bộ 3 máy thu walloutlet (mà bạn nhấp vào walloutlet, và ánh sáng đi vào máy thu) với điều khiển từ xa có giá 15 euro. Người gửi 433 Mhz có giá khoảng 5 đô la
Michel

Nghe có vẻ chính xác những gì tôi đang tìm kiếm! Bạn có thể vui lòng gửi cho tôi các tập tin dự án? (Switch.html, switch.php và, switch.py) Email của tôi nằm trong câu trả lời ở trên. Ngoài ra, tôi có thể mua máy thu on-off2 ở Hà Lan ở đâu? Trang web bạn cung cấp không cung cấp bất kỳ giá nào.
Rick Hoving

Bài đăng tuyệt vời- Bạn có thể thêm nơi bạn tìm thấy nguồn cho các lệnh bạn gửi qua serial không? Bạn đang chỉ định một thư viện? Làm thế nào để bạn nhắm mục tiêu các thiết bị? +1
Piotr Kula

1
@Nitin Trong hệ thống của tôi, bạn có thể đặt dipswitch trên máy thu (bộ chuyển đổi 5 bật / tắt) và 5 chữ cái (A .. E). Vì vậy, với mã default_key = [1,0,0,0,1]từ pastebin.com/aRipYrZ6, bạn điều khiển các dipswitches và với thuộc pintính trong def __init__(self, device, key=[1,1,1,1,1], pin=4):mã bạn kiểm soát A .. E (a = 1 .. e = 16)
Michel

1
@Nitin Không biết cách kiểm soát nó bằng C #. Cũng mong điều đó, vì PI mới nhất sẽ chạy Win10 và hy vọng nó cũng sẽ chạy C #. Điều đó nói rằng, trong khi tôi là một lập trình viên C #, Python là một người dễ học
Michel

6

Các điều được gọi là X10 , nó là một tiêu chuẩn công nghiệp cho hầu hết các nhiệm vụ tự động hóa nhà, bao gồm đèn kiểm soát. Tín hiệu điều khiển được gửi qua cùng một đường dây điện mà thiết bị của bạn được kết nối.

Để có thể kiểm soát mọi thứ từ máy tính, bạn có thể muốn đọc về Giao diện máy tính X10 từ trang web OpenRemote. Mô hình mà bạn có lẽ đang theo đuổi nhất là CM15A với giao diện USB, có hỗ trợ Linux.

Ngoài ra, có thể là một ý tưởng tốt để kiểm tra ebay cho ổ cắm trên tường được kích hoạt X10 và vặn ốc trong các mô-đun đèn, chúng có thể được mua khá rẻ, trong phạm vi $ 10-20.


6

Những gì bạn đang tìm kiếm là Rơle trạng thái rắn hoặc Rơle cơ . Ý tưởng là một lượng nhỏ dòng điện ở điện áp thấp (chẳng hạn như từ RPi của bạn) có thể được sử dụng để kích hoạt dòng điện của một dòng điện lớn hơn ở điện áp cao hơn (như đèn).

Tôi muốn giới thiệu Mô-đun Rơle DC 5V 12 kênh SainSmart cho Arduino Raspberry Pi , vì nó đã được sản xuất thành một bảng với các đầu nối vít sẵn sàng để sử dụng. Nó đã được xây dựng trong FET để cung cấp nguồn bổ sung cần thiết cho rơle cơ học được kích hoạt. Có nhiều bảng khác nhau từ cùng một công ty, trong một loạt các bố trí / số lượng rơle. Kênh tôi đã gửi là 8 kênh, vì vậy nó có thể không đủ cho nhu cầu của bạn, mặc dù có sẵn 16 phiên bản kênh . Chúng thường rẻ hơn so với việc mua nhiều rơle riêng biệt và giúp việc kết nối với chúng trở nên dễ dàng.

Có 4 kết nối cần thiết:

  • Điểm chung (được chia sẻ cho tất cả các rơle) kết nối với RPi
  • Các đầu vào riêng biệt được cung cấp bởi các dòng GPIO RPi riêng lẻ (để kích hoạt rơle)
  • Một đầu vào điện áp cao
  • Một đầu ra điện áp cao

Các đầu vào / đầu ra điện áp cao là các kết nối được tạo ra hoặc phá vỡ bởi các rơle theo các dòng đầu vào của chúng.

Tôi đã có chương trình TUYỆT VỜI để chuyển đổi chân GPIO từ xa qua SSH. Nếu bạn muốn tôi có thể cung cấp cho bạn mã nguồn hoặc thậm chí giải thích cách thức hoạt động của nó.


Làm thế nào tôi có thể nói không với một chương trình TUYỆT VỜI. Mặc dù C không có trong tiết mục ngôn ngữ của tôi, nhưng ít nhất tôi có thể nhìn vào mã theo thời gian.
Rick Hoving

Bạn có thể gửi nó rickhoving7@hotmail.com không? Cảm ơn trước!
Rick Hoving

Nếu câu hỏi của bạn đã được trả lời, vui lòng nhấp vào dấu chọn bên dưới mũi tên biểu quyết.
Alexander

@XAleXOwnZX Tôi cũng có thể xem mã Tuyệt vời này chứ? Có lẽ bạn nên mở một câu hỏi "Có ai có chương trình TUYỆT VỜI để chuyển đổi chân GPIO từ xa qua SSH" không, sau đó trả lời nó.
puk

Tôi sẽ cần địa chỉ email của bạn, tôi sẽ gửi nó và gửi câu hỏi + trả lời vào ngày mai
Alexander

2

hệ thống của tôi rẻ: EUR 43.- (máy thu + máy phát) xem bên dưới.

để tự động hóa tại nhà, tôi chỉ cần gắn một máy phát FS20 tương thích 3,3V tương thích 3,3V vào RPI:

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

bộ phát này giao tiếp trực tiếp (chỉ bằng 4 dây) với các cổng GPIO của RPI (3.3V, GND, TXD, RXD) và được điều khiển đơn giản thông qua giao diện dòng nối tiếp.

bây giờ bạn có thể điều khiển phạm vi khổng lồ của các thiết bị FS20 như công tắc, công tắc bật tắt, bộ điều chỉnh độ sáng, bộ hẹn giờ, radio. máy thu đa kênh, v.v. bằng cách truyền một số byte qua giao diện bảng điều khiển nối tiếp UART của RPI.

Tổng quan về hệ thống FS20:

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

(tiếc là trang web chỉ có sẵn bằng tiếng Đức)

Cá nhân tôi thích CLI đơn giản để kiểm soát các thiết bị gia đình của tôi. Nếu bạn thích một số GUI, bạn có thể xem tại đây:

http://fhem.de/fhem.html

may mắn thay trong tiếng Anh :-)

Mặc dù rất linh hoạt, hệ thống FS20 rất rẻ. Chi phí mẫu cho một công tắc bật / tắt đơn giản:

tự chuyển đổi: http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html 22,95 EUR

Máy phát UART: http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html 19,95 EUR

Tôi khuyên bạn nên điều khiển RPI bằng bàn phím không dây. Đối với điều này, bạn tùy ý có thể mua điều nhỏ bé khéo léo này:

RT-MWK03 [Không dây 2.4 Ghz] ( http://www.riitek.com/en/product-detail-428.html )



0

Mặc dù không chính xác, đây là giải pháp của tôi:

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

Về cơ bản, bạn sử dụng Philips Hue (đèn LED nhiều màu có thể điều khiển bằng wifi, có thể điều khiển được) cùng với RPi và bàn di chuột. Bề mặt bàn di chuột USB hoạt động theo kích thước màu sắc và độ sáng, trong khi các nút chuột bật và tắt đèn. Chi phí là RPi + Wifi dongle ($ 11) + bàn di chuột USB giá rẻ ($ 15) + bộ Philips Hue ($ 200 cho cầu và 3 đèn, sau đó $ 60 / đèn).


0

Tôi có một cách tiếp cận khác: Tôi đang sử dụng khóa USB CUL của Busware (hỗ trợ các giao thức và thiết bị khác của FS20 + HMS + FHT +) và triển khai API Java của riêng tôi để trừu tượng hóa các thiết bị và cho phép tự động hóa dễ dàng thông qua ứng dụng Java.

Trong trường hợp có ai quan tâm đến dự án nhỏ của tôi: http://www.paulo-lima.org/hans

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.