สารบัญ:

Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi): 6 ขั้นตอน (พร้อมรูปภาพ)
Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi): 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi): 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi): 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 📲💡 Arduino EP.1 การติดตั้ง Arduino+ESP8266 WiFi ทีละขั้นตอน 2024, พฤศจิกายน
Anonim
Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi)
Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi)
Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi)
Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi)
Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi)
Universal Remote โดยใช้ ESP8266 (ควบคุมด้วย WiFi)

โปรเจ็กต์นี้เป็นการแทนที่รีโมทคอนโทรลแบบเดิมสำหรับเครื่องใช้ในบ้านทั้งหมด เช่น แอร์ ทีวี เครื่องเล่น DVD ระบบเพลง เครื่องใช้ไฟฟ้า SMART !!! ทำให้ขยะจากระยะไกลเต็มไปหมด ทำให้เรากลายเป็นปริศนา!!!

โปรเจ็กต์นี้จะช่วยเราจากขยะสู่รีโมตโดยแทนที่ทั้งหมดด้วย ONE REMOTE!

2 ส่วนของโครงการนี้:

  • การถอดรหัสรีโมตใด ๆ
  • การเข้ารหัส ESP8266 NODEMCU 1.0 (โมดูล ESP-12E) หรือรุ่น esp8266 ใด ๆ ที่มีการเชื่อมต่อ ttl

สำคัญ: โปรดอ่านทั้งโครงการให้ละเอียด มันจะใช้เวลา 3 นาที แต่อย่าอ่านครึ่งเดียวและทำให้ชิ้นส่วนของคุณเสียหาย…. ฉันจะไม่รับผิดชอบ!

ขั้นตอนที่ 1: กำหนดค่า Nodemcu ด้วย Arduino IDE

การกำหนดค่า Nodemcu ด้วย Arduino IDE
การกำหนดค่า Nodemcu ด้วย Arduino IDE
การกำหนดค่า Nodemcu ด้วย Arduino IDE
การกำหนดค่า Nodemcu ด้วย Arduino IDE
การกำหนดค่า Nodemcu ด้วย Arduino IDE
การกำหนดค่า Nodemcu ด้วย Arduino IDE
  • ก่อนอื่นให้เชื่อมต่อ Nodemcu (อันหนึ่งของฉันคือ lolin v3, amica และโคลนอื่น ๆ จะใช้งานได้เช่นกัน) กับคอมพิวเตอร์หรือแล็ปท็อป
  • ตอนนี้ติดตั้งไดรเวอร์ของ nodemcu (การค้นหาโดย Google จะช่วยได้)
  • หลังจากนี้เปิด Arduino IDE (แน่นอนว่าคุณต้องดาวน์โหลดและติดตั้ง)
  • คลิกที่ "เครื่องมือ" บนแถบเครื่องมือ Arduino
  • คลิกที่ "กระดาน"
  • เลือก "Board Manager" และค้นหา esp8266 ติดตั้ง (จะใช้เวลาสักครู่จึงจะเสร็จสิ้น)
  • ตอนนี้ เลือก "ร่าง" จากแถบเครื่องมือ Arduino
  • เลือก "รวมไลบรารี" จากนั้นเลือก "จัดการไลบรารี"
  • ค้นหา "IRremoteESP8266" และติดตั้ง

ตอนนี้การกำหนดค่าทำได้จาก "เครื่องมือ" เท่านั้น เราต้องไปที่ "บอร์ด" เลือก "NodeMcu 1.0 (ESP 12-E)" หรือรุ่นอื่นของ ESP8266

ขั้นตอนที่ 2: การถอดรหัสรีโมต |CIRCUIT | รหัส

ถอดรหัสรีโมท |วงจร | รหัส
ถอดรหัสรีโมท |วงจร | รหัส
ถอดรหัสรีโมท |วงจร | รหัส
ถอดรหัสรีโมท |วงจร | รหัส
ถอดรหัสรีโมท |วงจร | รหัส
ถอดรหัสรีโมท |วงจร | รหัส
ถอดรหัสรีโมท |วงจร | รหัส
ถอดรหัสรีโมท |วงจร | รหัส

ดังนั้น ในการสร้างรีโมตสากล เราจำเป็นต้องถอดรหัสรีโมตอื่นๆ เช่น เพื่อรับรหัสฐานสิบหก IR ที่ปล่อยออกมาจากปุ่มรีโมตแต่ละปุ่ม เหมือนพูดสากลต้องรู้ทุกภาษา!!! หรือเรียนภาษาอังกฤษ! แม้ว่าฉันจะรักภาษาเบงกาลีเป็นภาษาแม่ของฉัน เป็นภาษาที่ไพเราะที่สุด!! แท้จริงแล้ว ค้นหามัน…

ดังนั้นส่วนประกอบที่จำเป็นในการถอดรหัสรีโมต:

  • บอร์ด Nodemcu
  • TSOP1738 ตัวรับ IR หรือตัวรับ IR อื่น ๆ
  • จัมเปอร์

ตอนนี้ ทำตามวงจรด้านบน แต่หลังจากอัปโหลดภาพร่างไปยัง nodemcu ผ่าน Arduino

  • เปิด Arduino และเชื่อมต่อ nodemcu กับแล็ปท็อปหรือคอมพิวเตอร์
  • จาก "ไฟล์" เลือกตัวอย่างลงไป และจาก IRremoteESP8266 เลือก IRrecvDump
  • อัปโหลดไปยัง nodemcu

เชื่อมต่อ TSOP1738 กับ Nodemcu เป็นวงจรและเปิด "จอภาพแบบอนุกรม" จาก Arduino เพื่อดูรหัสฐานสิบหกที่ถอดรหัสของรีโมตตามภาพด้านบน ยังคงอัปโหลดรหัสสำหรับการอ้างอิง อัปเดตเนื่องจากเป็นเวลานาน ฉันไม่ได้พูดถึงเรื่องนี้อีกต่อไป… อย่าลังเลที่จะเปลี่ยนใน github

รหัส:

ขั้นตอนที่ 3: การเข้ารหัส Nodemcu | วงจร

การเข้ารหัส Nodemcu | วงจร
การเข้ารหัส Nodemcu | วงจร
การเข้ารหัส Nodemcu | วงจร
การเข้ารหัส Nodemcu | วงจร
การเข้ารหัส Nodemcu | วงจร
การเข้ารหัส Nodemcu | วงจร
การเข้ารหัส Nodemcu | วงจร
การเข้ารหัส Nodemcu | วงจร

หลังจากถอดรหัสรีโมตแล้ว ตอนนี้ก็ต้องอัปโหลดรหัสฐานสิบหกไปยัง Nodemcu เพื่อให้สามารถให้คำสั่ง IR led เพื่อส่งสัญญาณรหัสฐานสิบหกเหล่านั้น

  • หมายเหตุ: ไม่สามารถเชื่อมต่อ IR ที่นำไปสู่ Nodemcu โดยตรง เนื่องจากไม่สามารถส่งกระแสไฟได้เพียงพอ
  • ดังนั้นต้องใช้ทรานซิสเตอร์ที่มีการควบคุม IR LED เช่นสัญญาณจาก Nodemcu ไปที่ทรานซิสเตอร์แล้ว IR LED
  • ทรานซิสเตอร์เช่น 2N222, 2N3904, BC547 ใช้งานได้ แต่

ทรานซิสเตอร์ 2N222, กระแสสะสม 2N3904: 600mA

กระแสสะสมทรานซิสเตอร์ BC547: 100mA

ทั้งงาน…

ข้อควรระวัง โปรดดูที่ COLLECTOR, EMITTER, BASE TERMINALS เนื่องจาก BC547 และ 2N222 มีรูปแบบที่แตกต่างกัน ฉันได้ใช้ BC547 เนื่องจากสามารถใช้ได้ง่ายและทำงานได้ดี

รหัสนำมาจาก "IRremoteESP8266" ตัวอย่าง "IRserver" ที่แก้ไขตามภาพ

วงจรดังรูป โปรดทราบว่าฉันได้ใช้ทรานซิสเตอร์ BC547 และไม่มีความต้านทานระหว่างขาฐานและ D2

COLLECTOR, EMITTER, ฐานแสดงอยู่ในภาพ อย่าทำเช่นเดียวกันกับทรานซิสเตอร์อื่นๆ

แก้ไข: เครดิต " 3615JMD"

การปรับปรุง:

ฉันขอแนะนำ 2 การปรับปรุง:1) หากมีใครแทนที่: uint32_t code = strtoul(server.arg(i).c_str(), NULL, 10); โดยรหัส uint32_t นี้ = strtoul(server.arg(i).c_str(), NULL, 16); หน้าเว็บยอมรับรหัส HEX โดยตรง ไม่จำเป็นต้องแปลงด้วยตนเองเป็นทศนิยม !

2) ฉันได้ปรับปรุงตัวจัดการเพื่อให้สามารถทำงานกับรูปแบบ IR ได้หลายรูปแบบ ดีเมื่อเราต้องการควบคุมอุปกรณ์ต่างๆ จากแบรนด์ต่างๆ: (สามารถเพิ่มรูปแบบเพิ่มเติมได้ด้วยสวิตช์/เคส)

โมฆะจัดการIr()

{ สำหรับ (uint8_t i = 0; i <server.args(); i++) { if (server.argName(i) == "rcmm") { // format pour la freebox uint32_t code = strtoul(server.arg(i)).c_str(), โมฆะ, 16); irsend.sendRCMM(รหัส 32); Serial.println (รหัส); } else if (server.argName(i) == "rc6") { // format pour la TV phillips uint32_t code = strtoul(server.arg(i).c_str(), NULL, 16); irsend.sendRC6(รหัส 20); Serial.println (รหัส); } } handleRoot(); } ลิงก์ HTTP จะต้องได้รับการแก้ไขตามนั้นแน่นอน: …. href=\"ir?rcmm=2400260C……. …. href=\"ir?rc6=0000C ….

ขั้นตอนที่ 4: การเข้ารหัสรหัส

รหัสการเข้ารหัส
รหัสการเข้ารหัส
รหัสการเข้ารหัส
รหัสการเข้ารหัส

ฉันได้นำรหัสมาจากตัวอย่างของ "IRremoteESP8266", "IRserver"

แต่มีการเปลี่ยนแปลงบางอย่างที่ต้องทำ ข้อมูลรับรอง wifi ของคุณ - Wifi ssid, รหัสผ่าน Wifi

รหัสตามเว็บเซิร์ฟเวอร์ (เน้นสีเหลือง) - รหัสนี้เป็นรูปแบบทศนิยมของรหัส IR เลขฐานสิบหก ค่าทศนิยมนี้ถูกส่งไปยัง ESP8266 เนื่องจากอาร์กิวเมนต์ถูกแปลงเป็นรหัสฐานสิบหกและส่งไปยัง IR LED

สำคัญ: หลังจากถอดรหัสปุ่มระยะไกลแล้วให้แปลงรหัสฐานสิบหกเป็นทศนิยมและแทนที่ในโปรแกรม Arduino การแปลงเลขฐานสิบหกเป็นทศนิยมไม่ใช่เรื่องยาก ค้นหา Google สำหรับตัวแปลงเลขฐานสิบหกเป็นเลขฐานสิบหกออนไลน์

เห็นภาพชัดเจน!!! รหัสที่เก่ากว่ามาก (2017) โปรดแก้ไข..

รหัส:

ขั้นตอนที่ 5: การควบคุม

การควบคุม
การควบคุม
การควบคุม
การควบคุม
การควบคุม
การควบคุม

เราสามารถควบคุมได้ผ่านลิงก์ของเว็บเซิร์ฟเวอร์… คุณสามารถทราบ IP ของโมดูล ESP8266 บนเราเตอร์ของเราได้โดยการเปิดมอนิเตอร์แบบอนุกรมหลังจากอัปโหลดโค้ด ในภาพของฉันคือ 192.168.0.1

เมื่อเปิด IP นี้ในเบราว์เซอร์ของมือถือหรือแล็ปท็อปใด ๆ เราจะเห็นหน้าดังแสดงในภาพ

หรือเพื่อความสะดวกและเรียบง่าย เราสามารถใช้แอป Android…

แอพ "HTTP REQUEST SHORTCUT" และเขียนที่อยู่เพื่อรันโค้ดอย่างง่ายดาย ดังในภาพ เราสามารถเพิ่มวิดเจ็ตบนหน้าจอหลักเพื่อเข้าถึงปุ่มเสมือนจริงและรับปุ่มระยะไกลที่จำเป็นได้อย่างง่ายดาย

รูปภาพอธิบายตนเองได้

ดังนั้น โดยไม่ต้องเขียนในโปรแกรม เราสามารถส่งผ่านอาร์กิวเมนต์ "โค้ด" ด้วยทศนิยมของรหัสฐานสิบหกที่ดึงมาจากการถอดรหัสรีโมตโดยตรงในวิดเจ็ต

สำคัญ: โปรดอ่านทั้งโครงการให้ละเอียด มันจะใช้เวลา 3 นาที แต่อย่าอ่านครึ่งเดียวและทำให้ชิ้นส่วนของคุณเสียหาย…. ฉันจะไม่รับผิดชอบ!

ขั้นตอนที่ 6: โครงการบรรจุ-g.webp" />

แนะนำ: