SONOFF: một công tắc từ xa để tắt hoặc bật thiết bị

con trai tắt

Bạn tưởng tượng bật hoặc tắt thứ gì đó từ xa? Bạn có thể bật hoặc tắt hệ thống sưởi nếu để nhầm, bạn cũng có thể mở hoặc đóng rèm nếu có chế độ tự động, hoặc làm cho ngôi nhà của bạn ở nhiệt độ thích hợp bằng cách bật điều hòa từ bất cứ đâu. Chà, đó là những gì SONOFF.

Ví dụ, một trong những bạn có thể tìm thấy trên thị trường là Itead Sonoff. Đây là một thiết bị dựa trên mô-đun ESP8266, điều này chắc chắn sẽ nghe quen thuộc nếu bạn là một nhà sản xuất và tạo các dự án DIY với Arduino. Đây là một mô-đun WiFi rất phổ biến mà chúng tôi đã dành riêng cho một bài báo đặc biệt trong Hwlibre. Để đó mô-đun đã thêm một rơle để hoạt động trên các thiết bị được kết nối và do đó có thể tắt hoặc bật mọi thứ qua WiFi.

Sonoff là gì?

Un Sonoff là một công tắc thông minh WiFi để có thể bật và tắt thiết bị điện từ xa. Thiết bị này cho phép bạn kết nối với Internet thông qua bộ định tuyến WiFi trong nhà hoặc văn phòng của bạn. Từ bất kỳ thiết bị nào được kết nối với mạng và ở bất kỳ đâu, bạn có thể tương tác với thiết bị đó để điều khiển các thiết bị của mình.

Nhiều sonoffs thương mại có ứng dụng của riêng bạn cho Android hoặc iOS cho phép kiểm soát dễ dàng. Ví dụ, Sonoff Basic có ứng dụng eWeLink. Ngoài ra, trong nhiều ứng dụng này, chúng cũng cho phép bạn định cấu hình bộ hẹn giờ để chúng được kích hoạt vào một thời điểm cụ thể. Ví dụ, điều đó cho phép bạn vắng nhà trong kỳ nghỉ, bạn có thể lập trình để bật và tắt radio hoặc kéo rèm lên và trông ngôi nhà có người ở để tránh trộm cắp ...

Ngoài ra, một số Sonoffs thương mại triển khai các chức năng để bạn có thể kết nối chúng với cảm biến và các thiết bị được bật hoặc tắt tùy thuộc vào nhiệt độ, âm thanh, cảm biến hiện diện, độ ẩm, v.v. Điều này có thể hữu ích cho hệ thống tưới vườn, điều hòa không khí thích hợp cho ngôi nhà, v.v. Ngay cả một số mô hình được thiết kế cho các ngôi nhà được sơn phủ có khả năng tương thích với Amazon Alexa / Echo, Google Home, v.v.

Các tiện ích bổ sung khác

Ngoài sonoff, có những thiết bị khác mà bạn có thể quan tâm như một phần bổ sung, chẳng hạn như ổ cắm WiFi, ổ cắm bóng đèn WiFi, công tắc WiFi, cổng WiFi-RF, trạm SC-WiFi, v.v., là những bổ sung hoàn hảo cho bộ chuyển tiếp hoặc bộ phát sóng WiFi của bạn.

Tạo Sonoff của riêng bạn với Arduino và mô-đun ESP8266 (Dễ dàng)

Mặc dù là một thiết bị rất đơn giản và rẻ tiền, bạn có thể không phải lúc nào cũng quan tâm đến việc mua một chiếc. Nếu bạn là một nhà sản xuất và bạn muốn tạo các dự án DIY của riêng mình, thay vì mua sonoff thương mại, bạn có thể tự tạo nó. Điều đó sẽ xảy ra bằng cách sử dụng mô-đun chuyển tiếp cho Arduino và mô-đun WiFi. Bằng cách này, bạn sẽ có dự án của mình được kết nối và sẵn sàng hoạt động trên rơ le sẽ phụ trách ngắt hoặc kết nối thiết bị điện áp cao.

Một khả năng khác là hack một Sonoff đã được thực hiện để mang lại các chức năng mới. Đối với điều này, tùy chọn tốt nhất bạn có là nghe lại. Ví dụ: Không tìm thấy sản phẩm., một thiết bị của một công ty định hướng sản xuất của Trung Quốc. Thiết bị được ghi chép rất đầy đủ và đó là lý do tại sao nó có thể dễ dàng bị tấn công để sửa đổi và điều chỉnh nó cho phù hợp với các dự án của bạn. Bằng cách dựa trên ESP8266, mọi thứ sẽ dễ dàng hơn và nó bao gồm ứng dụng điều khiển riêng dành cho thiết bị di động.

Tạo một Sonoff đơn giản với Arduino

Có lẽ nó sẽ dễ dàng hơn cho bạn tạo Sonoff của riêng bạn với Arduino phải sửa đổi phần sụn của Itead. Sử dụng Itead và các thiết bị làm sẵn khác rất đơn giản, nhưng từ việc chỉ sử dụng chúng đến sửa đổi phần sụn của chúng có một sự khác biệt lớn. Vì vậy, có thể bạn quan tâm đến một cách đơn giản để có một Sonoff do bạn tạo ra.

Bạn cần gì

tất cả những gì bạn cần đối với dự án này, nó là:

  • Arduino UNO, hoặc nó cũng sẽ có giá trị một tấm khác.
  • Breadboard hoặc PCB nếu bạn định hàn.
  • Mô-đun ESP8266
  • Mô-đun chuyển tiếp
  • Đấu dây cho các kết nối
  • PC với Arduino IDE và cáp để lập trình
  • Thiết bị điện bạn muốn điều khiển qua WiFi

Xây dựng từng bước

Kết nối Arduino với ESP8266 và Relay

Để bắt đầu xây dựng Sonoff tự chế của bạn theo sau hướng dẫn từng bước một:

  1. Khi bạn có tất cả các yếu tố, bạn phải kết nối sơ đồ đúng cách như nó xuất hiện trong hình. Hãy nhớ rằng nơi tôi đã đặt "Thiết bị" là nơi những gì bạn muốn điều khiển sẽ được kết nối: bếp, quạt, TV, bóng đèn, ... và phích cắm phải cấp nguồn cho thiết bị đó. Như bạn có thể thấy, những gì cần làm là ngắt một trong các dây dẫn điện đi đến thiết bị và sử dụng rơ le hoạt động như một công tắc. Nếu bạn có thắc mắc về kết nối, bạn có thể tham khảo sách hướng dẫn của chúng tôi:
    1. Làm thế nào để kết nối ESP8266 với Arduino?
    2. Làm thế nào để sử dụng rơle với Arduino?
  2. Bây giờ sau đây là chương trình trong Arduino IDE để làm cho nó hoạt động bình thường. Nếu bạn là người mới bắt đầu, bạn cũng có thể tải xuống bản PDF sách hướng dẫn lập trình của chúng tôi cho Arduino. Một ví dụ mã đơn giản để điều khiển rơ le và các đèn LED đỏ, lục và lam sẽ là:
#include <SoftwareSerial.h>

#define DEBUG true

SoftwareSerial esp8266(2,3); 
void setup()
{
  SSSerial.begin(19200);
  esp8266.begin(19200);
  
  pinMode(10,OUTPUT);
  digitalWrite(10,LOW);
  
  pinMode(11,OUTPUT);
  digitalWrite(11,LOW);
  
  pinMode(12,OUTPUT);
  digitalWrite(12,LOW);
  
  pinMode(13,OUTPUT);
  digitalWrite(13,LOW);
   
  sendData("AT+RSTrn",2000,DEBUG); 
  sendData("AT+CWMODE=2rn",1000,DEBUG); 
  sendData("AT+CIFSRrn",1000,DEBUG); 
  sendData("AT+CIPMUX=1rn",1000,DEBUG);
  sendData("AT+CIPSERVER=1,80rn",1000,DEBUG); 
}

void loop()
{
  if(esp8266.available())
  {

    
    if(esp8266.find("+IPD,"))
    {
     delay(1000); 
     int connectionId = esp8266.read()-48; 
          
     esp8266.find("pin="); 
     
     int pinNumber = (esp8266.read()-48)*10;
     pinNumber += (esp8266.read()-48);
     
     digitalWrite(pinNumber, !digitalRead(pinNumber));  
     
     String closeCommand = "AT+CIPCLOSE="; 
     closeCommand+=connectionId;
     closeCommand+="rn";
     
     sendData(closeCommand,1000,DEBUG); 
    }
  }
}
String sendData(String command, const int timeout, boolean debug)
{
    String response = "";
    
    esp8266.print(command); 
    
    long int time = millis();
    
    while( (time+timeout) > millis())
    {
      while(esp8266.available())
      {
        
        char c = esp8266.read(); 
        response+=c;
      }  
    }
    
    if(debug)
    {
      Serial.print(response);
    }
    
    return response;
}

Sau khi được nhập vào Arduino IDE và được lập trình thông qua cổng nối tiếp, mọi thứ sẽ hoạt động bình thường. Mặc dù bạn có thể sử dụng màn hình nối tiếp, nhưng sẽ phù hợp nếu bạn tạo giao diện web đơn giản hơn hoặc một ứng dụng nhỏ cho iOS hoặc Android. Trong trường hợp Mã HTML Nó dễ dàng hơn và nó sẽ giống như thế này, theo cách đó, từ trình duyệt của bạn, bạn có thể quản lý việc bật hoặc tắt các đèn LED và thiết bị được kết nối với rơ le:

<html>
<head>
<title>Control con Sonoff</title>
</head>
<body>
<button id="10" class="led">A</button>
<button id="11" class="led">LED AZUL</button>
<button id="12" class="led">LED VERDE</button>
<button id="13" class="led">LED ROJO</button>
<script src="jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$(".led").click(function(){ var p =
$(this).attr('id');
$.get("http://XXX.XXX.X.X:80/", {pin:p});
});
});
</script>
</body>
</html>

Bạn có thể viết nó trong bất kỳ trình soạn thảo văn bản nào và lưu nó với tên kiểm soát.html. Hãy nhớ rằng để nó hoạt động tốt, bạn phải thay thế http: //XXX.XXX.XX: 80 bằng IP thích hợp trong trường hợp của bạn, nghĩa là, nhãn được gán cho ESP8266 trong mạng WiFi của bạn ... Mặt khác, nếu bạn muốn thay thế nhãn thiết bị A bằng tên của thiết bị bạn đang sử dụng và làm cho nó trực quan hơn, hãy làm như vậy ...

Kiểm soát giao diện web

Bây giờ nếu bạn mở control.html này bằng bất kỳ trình duyệt web nào có thể xử lý Sonoff của bạn. Bằng cách nhấp vào các nút, bạn sẽ thấy mạch của bạn hoạt động như thế nào.

Sửa đổi phần sụn Sonoff (Nâng cao)

Một thao tác khác mà bạn có thể làm, mặc dù nó không được khuyến khích cho hầu hết người dùng do tính phức tạp của nó, là sửa đổi Phần mềm itead sonoff. Nó có thể được, nhưng nó bao gồm nhiều bước và phức tạp nếu bạn không thực sự biết mình đang làm gì. Để cung cấp cho bạn một ý tưởng, tôi để lại cho bạn những gì bạn cần và các bước thiết yếu, cũng như các liên kết đến phần sụn và hướng dẫn đầy đủ trong trường hợp bạn dám sau khi đọc các bước thiết yếu ...

Sử dụng ESPurna

Bạn cần gì

Để sử dụng Itead Sonoff và lập trình nó, bạn sẽ cần những thứ sau đây:

  • Itead Sonoff WiFi Cơ bản
  • Bộ điều hợp FTDI hoặc TTL và cáp (chân USB / Serial)
  • Cái vặn vít
  • Các yếu tố khác cần thiết cho dự án của bạn
  • Một máy tính để lập trình

Sửa đổi phần mềm cơ bản Itead Sonoff WiFi (Các bước cơ bản)

Mạch sonoff Itead

Để sửa đổi Itead Sonoff, bạn phải mua một cái và làm theo các bước tiếp theo:

Trước khi xử lý thiết bị, hãy đảm bảo rằng thiết bị đã được ngắt kết nối. Không nên thao tác với rơ le hoặc mạch khi nó được kết nối với mạng, vì bạn sẽ làm việc với AC ở 220v và nó không phải là mạch DC vô hại hoạt động ở điện áp thấp ...

  1. Tháo nắp nhựa khỏi Sonoff để có thể truy cập vào mạch bên trong. Trước tiên, bạn có thể sử dụng tuốc nơ vít để tháo các nắp bên và sau đó nạy khớp nối hai phần của vỏ chính cho đến khi bạn có thể tháo nó ra.
  2. Nếu bạn nhìn vào mạch điện trước mặt bạn, chúng có thể được phân biệt rất tốt các bộ phận của mô-đun ESP8266:
    1. Các phần tử điện xung quanh rơ le là từ bộ chuyển đổi AC / DC.
    2. Linh kiện hình vuông màu đen là rơ le hoạt động ở 5v (phần điều khiển) và 220v (đầu ra).
    3. Ở trung tâm, bạn có một số chân kết nối nối tiếp. Bạn có thể sử dụng chúng để lập trình vi điều khiển hoặc để kết nối nhiều phần tử hơn. Trên GPIO14, bạn có thể kết nối thiết bị truyền động hoặc cảm biến.
    4. Bạn cũng sẽ thấy một nút ấn bên cạnh các ghim. Bạn có thể nhấn nó để thay đổi các chế độ bạn có thể đặt.
    5. Đèn LED cho biết hoạt động và chế độ hoặc trạng thái.
    6. Và hai đầu nối màu xanh lá cây ở mỗi đầu của PBC. Một trong số đó là đầu vào và đầu kia là đầu ra. Gần nhất với rơ le là đầu vào AC, tức là nơi thiết bị được kết nối với mạng điện. Cái còn lại là ổ cắm nơi bạn có thể kết nối thiết bị bạn muốn tắt hoặc bật. Hãy nhớ rằng nó hỗ trợ lên đến 10A, tức là tiêu thụ 2,2kW cho 220v.
  3. Bây giờ bạn sẽ làm việc với các chân kết nối để tải chương trình của mình. Cho cô ấy bạn sẽ cần FTDI hoặc TTL, cho phép bạn kết nối các chân này với USB trên máy tính của mình. Nhưng ngoài việc kết nối nó, bạn phải nhớ rằng bộ vi điều khiển tích hợp có hai chế độ hoạt động, một chế độ UART và một chế độ FLASH khác. Chế độ UART cho phép bạn tải chương trình và FLASH để thực thi nó. Để chuyển sang chế độ UART để có thể viết chương trình, bạn cần đặt các chân GPIO0 (LOW) và GPIO2 (HIGH) ở một số trạng thái nhất định. Chương trình sẽ được tải qua các chân được đánh dấu RX và TX. Tất nhiên bạn cũng sẽ phải sử dụng chân nguồn 3v3 và GND, cũng như nút nhấn GPIO0, đèn LED hoặc GPIO13 và rơ le trên GPIO12.
  4. Khi bạn đã kết nối đúng cách và có cáp USB để kết nối nó với PC, bạn có thể bắt đầu với chính chương trình. Hãy nhớ rằng khi FTDI bạn phải vượt qua kết nối RX và TX, tức là RX từ Itead sang TX từ FTDI và ngược lại.
  5. Sau này, nó sẽ là một vấn đề sử dụng IDE Arduino để tạo mã cần thiết cho điều khiển bạn muốn thực hiện (bạn phải chọn bo mạch ESP8266 làm thiết bị vi điều khiển để ghi lại). Nó cũng có thể giúp bạn phần sụn được phát triển bởi Xose Pérez. Nó được gọi là ESPurna và nó dành riêng cho Sonoff WiFi. Với bảng điều khiển của nó, bạn có thể kiểm soát các thông số mạng và bảo mật.
  6. Cuối cùng, khi bạn đã có nó, bạn có thể trả lại các ghim GPIO0 và GPIO2 đến các trạng thái Cao Cao tương ứng để quay lại chế độ FLASH và chạy chương trình của bạn.
  7. Sau khi hoàn thành, bạn có thể tạo kết nối phù hợp trên Sonoff của bạn để kết nối các thiết bị bạn muốn và cung cấp năng lượng cho chúng. Từ ứng dụng, bạn có thể kiểm soát mọi thứ ...

Thêm thông tin - Lập trình dễ dàng

Sử dụng Tasmota

Để làm điều đó với Tasmota thay vì ESPurna, các bước chung để làm như vậy họ sẽ:

  1. Trước tiên, bạn phải mở trường hợp của Itead Sonoff như trong trường hợp trước.
  2. Sau đó, bạn nên hàn dây hoặc chân để có thể tạo kết nối nguồn và bộ chuyển đổi USB sang UART TTL.
  3. Đi tới Arduino IDE và trong Công cụ, bạn phải chọn bảng ESP8266 thay vì Arduino UNO hoặc một trong những bạn có theo mặc định. Bạn cài đặt bảng mới.
  4. Bây giờ tải xuống Tasmota và cài đặt nó đúng cách để tích hợp với Arduino IDE.
  5. Bây giờ là lúc để lập trình và cấu hình dự án của bạn như bạn muốn và lưu nó vào bo mạch chủ ... Sau khi hoàn tất, bạn có thể kết nối các thành phần với sonoff như trong trường hợp của ESPurna.

Thêm thông tin - Tự động hóa nhà


7 bình luận, để lại của bạn

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   John M dijo

    Máy chủ web không hoạt động, nó không tải trong trình duyệt.

    1.    Isaac dijo

      Chào John,
      Ý bạn là khi bạn đặt IP vào trình duyệt web của mình? Bạn đã chắc chắn rằng bạn đã đặt đúng IP trong mạng cục bộ chưa? IP công cộng không hợp lệ. Nó phải là cái được chỉ định cho sonoff. Ngoài ra, trong mã html bạn cũng phải thay thế X bằng IP thích hợp.
      Một lời chào!

      1.    John dijo

        Trên thực tế, tôi đã làm cả hai, nhưng thời điểm tôi tải IP trong trình duyệt, nó cho tôi kết nối không thành công. Ngoài ra, khi tôi chạy máy chủ web, nó không được tải ở dạng nút mà ở dạng văn bản.

        1.    Isaac dijo

          Chào John,
          Nó hoạt động đúng với tôi, tôi không hiểu tại sao điều đó lại xảy ra với bạn ...
          Tôi sẽ điều tra và nếu tôi phát hiện ra vấn đề, tôi sẽ thông báo cho bạn.
          Lời chào và cảm ơn vì đã đọc

  2.   Joan dijo

    Xin chào,
    Tôi không hiểu rằng với các thư viện chúng tôi có, bạn sử dụng mã AT….

    Tôi cũng không thấy bạn sử dụng chế độ WIFI của ESP8266, đây là trọng tâm của bài viết này.

    Đặt một ví dụ rõ ràng hơn và bạn sẽ thấy rằng dự án sẽ hiểu.

    Một lời chào.

    1.    Joan dijo

      Tôi quên mất,
      Nếu thứ bạn muốn là một rơ le, thì ESP8266 sẽ tự điều khiển nó, hãy sử dụng Arduino nếu bạn muốn tải phần sụn.

      Một lời chào khác.

  3.   ANDRES REMBERTO GUZMAN GALVAN dijo

    Tôi đã làm theo tất cả các bước của bạn và nó không hoạt động đối với tôi, làm thế nào để biết đâu là IP được cấp cho ESP8266 của tôi