คุณลองนึกภาพ เปิดหรือปิดบางอย่างจากระยะไกลเหรอ? คุณสามารถเปิดเครื่องทำความร้อนหรือปิดได้หากเปิดทิ้งไว้โดยไม่ได้ตั้งใจคุณยังสามารถเปิดหรือปิดมู่ลี่ได้หากคุณมีผ้าม่านอัตโนมัติหรือทำให้บ้านของคุณมีอุณหภูมิที่เหมาะสมโดยใช้เครื่องปรับอากาศ นั่นคือสิ่งที่ ซอนอฟ.
ตัวอย่างเช่นหนึ่งในไฟล์ คุณสามารถหาได้ในตลาดคือ Itead Sonoff. เป็นอุปกรณ์ที่ใช้โมดูล ESP8266 ซึ่งจะฟังดูคุ้นเคยอย่างแน่นอนหากคุณเป็นผู้ผลิตและสร้างโครงการ DIY ด้วย Arduino เป็นโมดูล WiFi ที่ได้รับความนิยมอย่างมากซึ่งเราได้ทุ่มเทไปแล้ว บทความพิเศษใน Hwlibre. ไปที่ โมดูลได้เพิ่มรีเลย์ เพื่อดำเนินการกับอุปกรณ์ที่เชื่อมต่อและสามารถปิดหรือเปิดสิ่งต่างๆผ่าน WiFi ได้
sonoff คืออะไร?
Un Sonoff เป็นสวิตช์อัจฉริยะ WiFi เพื่อให้สามารถเปิดและปิดเครื่องใช้ไฟฟ้าจากระยะไกลได้ อุปกรณ์นี้ช่วยให้คุณสามารถเชื่อมต่อกับอินเทอร์เน็ตผ่านเราเตอร์ WiFi ในบ้านหรือที่ทำงานของคุณ จากอุปกรณ์ใด ๆ ที่เชื่อมต่อกับเครือข่ายและทุกที่คุณสามารถโต้ตอบกับอุปกรณ์เพื่อควบคุมอุปกรณ์ของคุณได้
sonoffs เชิงพาณิชย์จำนวนมากมี แอปของคุณเองสำหรับ Android หรือ iOS ที่ช่วยให้ควบคุมได้ง่าย ตัวอย่างเช่น Sonoff Basic มีแอป eWeLink นอกจากนี้ในหลาย ๆ แอพเหล่านี้ยังอนุญาตให้คุณกำหนดค่าตัวจับเวลาเพื่อให้เปิดใช้งานในเวลาที่กำหนด ตัวอย่างเช่นที่ช่วยให้ตอนนี้ในวันหยุดที่คุณจะไม่อยู่บ้านคุณสามารถตั้งโปรแกรมเพื่อให้วิทยุเปิดและปิดหรือมู่ลี่ถูกยกขึ้นและลักษณะที่บ้านถูกครอบครองเพื่อหลีกเลี่ยงการโจรกรรม ...
นอกจากนี้ Sonoffs เชิงพาณิชย์บางส่วนใช้งาน เพื่อให้คุณสามารถเชื่อมต่อกับเซ็นเซอร์ได้ และอุปกรณ์จะเปิดหรือปิดขึ้นอยู่กับอุณหภูมิเสียงเซ็นเซอร์ตรวจจับความชื้น ฯลฯ สิ่งนี้สามารถเป็นประโยชน์สำหรับระบบชลประทานในสวนเพื่อให้บ้านมีเครื่องปรับอากาศ ฯลฯ แม้แต่บางรุ่นที่ออกแบบมาสำหรับระบบอัตโนมัติในบ้านก็ยังเข้ากันได้กับ Amazon Alexa / Echo, Google Home ฯลฯ
ส่วนเสริมอื่น ๆ
นอกจาก sonoff แล้ว มีอุปกรณ์อื่น ๆ ที่คุณอาจสนใจเป็นส่วนเสริมเช่นซ็อกเก็ต WiFi ซ็อกเก็ตหลอดไฟ WiFi สวิตช์ WiFi เกตเวย์ WiFi-RF สถานี SC-WiFi เป็นต้นซึ่งเป็นส่วนเสริมที่สมบูรณ์แบบสำหรับรีเลย์ WiFi หรือ sonoff ของคุณ
สร้าง Sonoff ของคุณเองด้วย Arduino และโมดูล ESP8266 (ง่าย)
แม้จะเป็นอุปกรณ์ที่เรียบง่ายและราคาถูก แต่คุณอาจไม่สนใจที่จะซื้อเสมอไป หากคุณเป็นผู้ผลิตและชอบสร้างโปรเจ็กต์ DIY ของคุณเองแทนที่จะซื้อโซนิคในเชิงพาณิชย์ คุณสามารถสร้างมันเอง. ซึ่งจะเกิดขึ้นโดยใช้โมดูลรีเลย์สำหรับ Arduino และโมดูล WiFi ด้วยวิธีนี้คุณจะเชื่อมต่อโครงการของคุณและพร้อมที่จะทำงานกับรีเลย์ที่จะทำหน้าที่ขัดจังหวะหรือเชื่อมต่ออุปกรณ์ไฟฟ้าแรงสูง
ความเป็นไปได้อีกอย่างก็คือ แฮ็ค Sonoff ทำไปแล้วเพื่อนำฟังก์ชันใหม่ ๆ สำหรับสิ่งนี้ตัวเลือกที่ดีที่สุดที่คุณมีคือ itad sonoff. ตัวอย่างเช่น ผลิตภัณฑ์ที่ไม่พบซึ่งเป็นอุปกรณ์จาก บริษัท ผู้ผลิตในจีน อุปกรณ์นี้ได้รับการบันทึกไว้เป็นอย่างดีและนั่นคือเหตุผลว่าทำไมจึงสามารถแฮ็กได้อย่างง่ายดายเพื่อแก้ไขและปรับให้เข้ากับโครงการของคุณ การใช้ ESP8266 ทุกอย่างจะง่ายขึ้นและมีแอปควบคุมของตัวเองสำหรับอุปกรณ์มือถือ
สร้าง Sonoff ง่ายๆด้วย Arduino
บางทีมันอาจจะง่ายขึ้นสำหรับคุณ สร้าง Sonoff ของคุณเองด้วย Arduino เพื่อแก้ไขเฟิร์มแวร์ของ Itead การใช้ Itead และอุปกรณ์สำเร็จรูปอื่น ๆ นั้นง่ายมาก แต่จากการใช้งานไปจนถึงการปรับเปลี่ยนเฟิร์มแวร์นั้นมีความแตกต่างอย่างมาก บางทีคุณอาจสนใจวิธีง่ายๆในการสร้าง Sonoff โดยคุณ
คุณต้องการอะไร
ทั้งหมด สิ่งที่คุณต้องการ สำหรับโครงการนี้คือ:
- Arduino UNOหรืออาจจะคุ้มค่ากับจานอื่น
- Breadboard หรือ PCB ถ้าคุณกำลังจะบัดกรี
- โมดูล ESP8266
- โมดูลรีเลย์
- การเดินสายสำหรับการเชื่อมต่อ
- พีซีที่มี Arduino IDE และสายเคเบิลสำหรับการเขียนโปรแกรม
- อุปกรณ์ไฟฟ้าที่คุณต้องการควบคุมผ่าน WiFi
การก่อสร้างทีละขั้นตอน
ในการเริ่มต้น สร้าง Sonoff โฮมเมดของคุณตามนี้ คำแนะนำทีละขั้นตอน:
- เมื่อคุณมีองค์ประกอบทั้งหมดแล้วคุณต้อง เชื่อมต่อแผนผังอย่างถูกต้อง ตามที่ปรากฏในภาพ โปรดจำไว้ว่าตำแหน่งที่ฉันวาง "อุปกรณ์" คือตำแหน่งที่คุณต้องการควบคุมจะเชื่อมต่อ: เตา, พัดลม, ทีวี, หลอดไฟ, ... และปลั๊กจะต้องป้อนอุปกรณ์ดังกล่าว อย่างที่คุณเห็นสิ่งที่ทำคือการขัดจังหวะหนึ่งในสายที่เป็นสื่อกระแสไฟฟ้าที่ไปยังอุปกรณ์และเชื่อมต่อรีเลย์เพื่อทำหน้าที่เป็นสวิตช์ หากคุณมีคำถามเกี่ยวกับการเชื่อมต่อคุณสามารถอ่านคู่มือของเรา:
- ตอนนี้ต่อไปนี้คือ โปรแกรมใน Arduino IDE เพื่อให้ทำงานได้อย่างถูกต้อง หากคุณเป็นมือใหม่ก็สามารถทำได้เช่นกัน ดาวน์โหลด PDF ของคู่มือการเขียนโปรแกรมสำหรับ Arduino ของเรา ตัวอย่างรหัสง่ายๆในการควบคุมรีเลย์และไฟ LED สีแดงสีเขียวและสีน้ำเงินจะเป็นดังนี้:
#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; }
เมื่อป้อน Arduino IDE และตั้งโปรแกรมผ่านพอร์ตอนุกรมแล้วทุกอย่างควรทำงานได้อย่างถูกต้อง แม้ว่าคุณจะสามารถใช้มอนิเตอร์แบบอนุกรมได้ แต่ก็จะเหมาะสมหากคุณสร้างเว็บอินเตอร์เฟสที่เรียบง่ายขึ้นหรือแอปขนาดเล็กสำหรับ iOS หรือ Android ในกรณีของ รหัส HTML มันง่ายกว่าและจะเป็นแบบนี้ด้วยวิธีนี้จากเบราว์เซอร์ของคุณคุณสามารถจัดการการเปิดหรือปิดไฟ LED และอุปกรณ์ที่เชื่อมต่อกับรีเลย์:
<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>
คุณสามารถเขียนลงในโปรแกรมแก้ไขข้อความใดก็ได้และบันทึกด้วยชื่อ ควบคุม.html. โปรดจำไว้ว่าเพื่อให้ทำงานได้ดีคุณต้องแทนที่ http: //XXX.XXX.XX: 80 ด้วย IP ที่เหมาะสมในกรณีของคุณนั่นคือค่าที่กำหนดให้กับ ESP8266 ภายในเครือข่าย WiFi ของคุณ ... ในทางกลับกันหากคุณต้องการเปลี่ยนป้ายกำกับอุปกรณ์ A ด้วยชื่ออุปกรณ์ที่คุณใช้และทำให้ใช้งานง่ายขึ้นอย่าลังเลที่จะทำเช่นนั้น ...
ตอนนี้ถ้าคุณเปิด control.html นี้ด้วย เว็บเบราว์เซอร์ใด ๆ ที่สามารถจัดการ Sonoff ของคุณได้ เมื่อคลิกที่ปุ่มคุณจะเห็นว่าวงจรของคุณทำงานอย่างไร
แก้ไขเฟิร์มแวร์ Sonoff (ขั้นสูง)
การดำเนินการอื่นที่คุณสามารถทำได้แม้ว่าจะไม่แนะนำสำหรับผู้ใช้ส่วนใหญ่เนื่องจากความซับซ้อนคือการแก้ไขไฟล์ เฟิร์มแวร์ Itead sonoff. เป็นไปได้ แต่เกี่ยวข้องกับหลายขั้นตอนและมีความซับซ้อนหากคุณไม่รู้จริงๆว่ากำลังทำอะไรอยู่ เพื่อให้คุณได้ทราบถึงสิ่งที่คุณต้องการและขั้นตอนสำคัญตลอดจนลิงก์ไปยังเฟิร์มแวร์และคำแนะนำที่สมบูรณ์ในกรณีที่คุณกล้าหลังจากอ่านขั้นตอนสำคัญ ...
ใช้ ESPurna
คุณต้องการอะไร
ในการใช้ Itead Sonoff และตั้งโปรแกรม คุณจะต้องมีรายการต่อไปนี้:
- Itead Sonoff WiFi พื้นฐาน
- อะแดปเตอร์และสายเคเบิล FTDI หรือ TTL (หมุด USB / Serial)
- ไขควง
- องค์ประกอบอื่น ๆ ที่จำเป็นสำหรับโครงการของคุณ
- คอมพิวเตอร์สำหรับการเขียนโปรแกรม
แก้ไขเฟิร์มแวร์ Itead Sonoff WiFi Basic (ขั้นตอนพื้นฐาน)
ในการปรับเปลี่ยน Itead Sonoff คุณต้องซื้อหนึ่งและ ทำตามขั้นตอนต่อไป:
ก่อนจัดการอุปกรณ์ตรวจสอบให้แน่ใจว่าได้ตัดการเชื่อมต่อแล้ว ไม่แนะนำให้จัดการรีเลย์หรือวงจรเมื่อเชื่อมต่อกับเครือข่ายเนื่องจากคุณจะทำงานกับ AC ที่ 220v และไม่ใช่วงจร DC ที่ไม่เป็นอันตรายที่ทำงานที่แรงดันไฟฟ้าต่ำ ...
- ถอดฝาพลาสติกออกจาก Sonoff เพื่อให้สามารถเข้าถึงวงจรภายในได้ คุณสามารถใช้ไขควงเพื่อถอดฝาด้านข้างออกก่อนจากนั้นจึงงัดข้อต่อที่เชื่อมกับสองส่วนของเคสหลักออกจนสามารถถอดออกได้
- หากคุณมองไปที่วงจรข้างหน้าพวกเขาสามารถสร้างความแตกต่างได้เป็นอย่างดี ชิ้นส่วนของโมดูล ESP8266:
- องค์ประกอบทางไฟฟ้ารอบ ๆ รีเลย์มาจากตัวแปลง AC / DC
- ส่วนประกอบสี่เหลี่ยมสีดำคือรีเลย์ที่ทำงานที่ 5v (ส่วนควบคุม) และ 220v (เอาต์พุต)
- ตรงกลางคุณมีพินเชื่อมต่อแบบอนุกรม คุณสามารถใช้เพื่อตั้งโปรแกรมไมโครคอนโทรลเลอร์หรือเพื่อเชื่อมต่อองค์ประกอบอื่น ๆ บน GPIO14 คุณสามารถเชื่อมต่อแอคชูเอเตอร์หรือเซ็นเซอร์
- คุณจะเห็นปุ่มกดถัดจากหมุด คุณสามารถกดเพื่อเปลี่ยนโหมดที่คุณตั้งค่าได้
- LED ที่ระบุการทำงานและโหมดหรือสถานะที่เป็นอยู่
- และขั้วต่อสีเขียวสองตัวที่ปลายแต่ละด้านของ PBC หนึ่งในนั้นคืออินพุตและอีกเอาต์พุต ที่ใกล้ที่สุดกับรีเลย์คืออินพุต AC นั่นคืออุปกรณ์เชื่อมต่อกับเครือข่ายไฟฟ้า อีกด้านคือเต้ารับที่คุณสามารถเชื่อมต่ออุปกรณ์ที่คุณต้องการปิดหรือเปิด โปรดจำไว้ว่ามันรองรับได้ถึง 10A นั่นคือการบริโภค 2,2kW สำหรับ 220v
- ตอนนี้คุณจะทำงานกับพินเชื่อมต่อเพื่อโหลดโปรแกรมของคุณ สำหรับเธอ คุณจะต้องมี FTDI หรือ TTLช่วยให้คุณสามารถเชื่อมต่อพินเหล่านี้กับ USB บนคอมพิวเตอร์ของคุณ แต่นอกเหนือจากการเชื่อมต่อแล้วคุณต้องจำไว้ว่าไมโครคอนโทรลเลอร์ในตัวมีโหมดการทำงานสองโหมดคือโหมด UART และแฟลชอื่น โหมด UART ช่วยให้คุณโหลดโปรแกรมและแฟลชเพื่อดำเนินการ ในการเข้าสู่โหมด UART เพื่อให้สามารถเขียนโปรแกรมได้คุณต้องใส่พิน GPIO0 (LOW) และ GPIO2 (HIGH) ในบางสถานะ โปรแกรมจะโหลดผ่านหมุดที่มีเครื่องหมาย RX และ TX แน่นอนว่าคุณจะต้องใช้หมุดไฟ 3v3 และ GND เช่นเดียวกับปุ่มกด GPIO0, LED หรือ GPIO13 และรีเลย์บน GPIO12
- เมื่อคุณทำการเชื่อมต่ออย่างถูกต้องและมีสาย USB ของคุณเพื่อเชื่อมต่อกับพีซีคุณสามารถเริ่มต้นด้วยการตั้งโปรแกรมได้เอง จำไว้ว่าเมื่อ FTDI คุณต้องข้ามการเชื่อมต่อ RX และ TXกล่าวคือ RX ของ Itead เป็น TX ของ FTDI และในทางกลับกัน
- ต่อมาคงเป็นเรื่องของการใช้ Arduino IDE เพื่อสร้างรหัสที่จำเป็นสำหรับการควบคุมที่คุณต้องการทำ (คุณต้องเลือกบอร์ด ESP8266 เป็นอุปกรณ์ไมโครคอนโทรลเลอร์เพื่อบันทึก) นอกจากนี้ยังสามารถช่วยคุณได้ เฟิร์มแวร์ที่พัฒนาโดย Xose Pérez เรียกว่า ESPurna และเฉพาะสำหรับ Sonoff WiFi ด้วยแผงควบคุมคุณสามารถควบคุมพารามิเตอร์เครือข่ายและความปลอดภัยได้
- ในท้ายที่สุดเมื่อคุณมีแล้วคุณสามารถคืนหมุดได้ GPIO0 และ GPIO2 เป็น High High ตามลำดับเพื่อกลับสู่โหมด FLASH และเรียกใช้โปรแกรมของคุณ
- เมื่อเสร็จแล้วคุณสามารถทำได้ ทำการเชื่อมต่อที่ถูกต้องบน Sonoff ของคุณ เพื่อเชื่อมต่ออุปกรณ์ที่คุณต้องการและให้พลังงาน จากแอปคุณสามารถควบคุมทุกอย่าง ...
ข้อมูลมากกว่านี้ - เขียนโปรแกรมง่าย
ใช้ Tasmota
หากต้องการทำกับ Tasmota แทน ESPurna ไฟล์ ขั้นตอนทั่วไป ในการทำเช่นนั้นพวกเขาจะเป็น:
- ก่อนอื่นคุณต้องเปิดกรณีของ Itead Sonoff เหมือนในกรณีก่อนหน้านี้
- จากนั้นคุณควรบัดกรีสายไฟหรือพินเพื่อให้สามารถเชื่อมต่อสายไฟและอะแดปเตอร์ USB เป็น UART TTL
- ไปที่ Arduino IDE และใน Tools คุณต้องเลือกบอร์ด ESP8266 แทน Arduino UNO หรือสิ่งที่คุณมีโดยค่าเริ่มต้น คุณติดตั้งบอร์ดใหม่
- ตอนนี้ ดาวน์โหลด Tasmota และติดตั้งอย่างถูกต้องเพื่อรวมเข้ากับ Arduino IDE
- ตอนนี้ถึงเวลาตั้งโปรแกรมและกำหนดค่าโปรเจ็กต์ของคุณตามที่คุณต้องการแล้วบันทึกลงบนเมนบอร์ด ... เมื่อคุณทำเสร็จแล้วคุณสามารถเชื่อมต่อส่วนประกอบกับ sonoff ได้เช่นเดียวกับในกรณีของ ESPurna
ข้อมูลมากกว่านี้ - ระบบอัตโนมัติในบ้าน
เว็บเซิร์ฟเวอร์ไม่ทำงานไม่โหลดในเบราว์เซอร์
สวัสดีจอห์น
คุณหมายถึงเมื่อคุณใส่ IP ในเว็บเบราว์เซอร์ของคุณหรือไม่? คุณแน่ใจหรือไม่ว่าคุณได้ตั้งค่า IP ที่ถูกต้องภายในเครือข่ายท้องถิ่น? IP สาธารณะไม่ถูกต้อง จะต้องเป็นผู้ที่ได้รับมอบหมายให้ sonoff นอกจากนี้ในโค้ด html คุณต้องแทนที่ X ด้วย IP ที่เหมาะสมด้วย
ทักทาย!
อันที่จริงฉันทำทั้งสองอย่าง แต่ในขณะที่ฉันโหลด IP ในเบราว์เซอร์มันทำให้ฉันเชื่อมต่อล้มเหลว นอกจากนี้เมื่อฉันเรียกใช้เว็บเซิร์ฟเวอร์จะไม่โหลดในรูปแบบของปุ่ม แต่เป็นข้อความ
สวัสดีจอห์น
มันใช้ได้กับฉันอย่างถูกต้องฉันไม่เข้าใจว่าทำไมถึงเกิดขึ้นกับคุณ ...
เราจะตรวจสอบและหากพบปัญหาเราจะแจ้งให้คุณทราบ
คำอวยพรและขอบคุณสำหรับการอ่าน
สวัสดี
ฉันไม่เข้าใจว่าด้วยไลบรารีที่เรามีคุณใช้รหัส AT ….
ฉันไม่เห็นคุณใช้โหมด WIFI ของ ESP8266 ซึ่งเป็นจุดสำคัญของบทความนี้
ใส่ตัวอย่างที่สะอาดและชัดเจนมากขึ้นแล้วคุณจะเห็นว่าโครงการจะเข้าใจ
คำอวยพร
ฉันลืม,
หากสิ่งที่คุณต้องการคือรีเลย์ ESP8266 จะควบคุมด้วยตัวเองให้ใช้ Arduino หากคุณต้องการโหลดเฟิร์มแวร์
อีกคำทักทาย.
ฉันทำตามขั้นตอนทั้งหมดของคุณแล้ว แต่มันไม่ได้ผลสำหรับฉันจะรู้ได้อย่างไรว่า IP ที่มอบให้กับ ESP8266 ของฉันคืออะไร