เว็บ IR ระยะไกลด้วย Esp8266 (NodeMCU): 4 ขั้นตอน
เว็บ IR ระยะไกลด้วย Esp8266 (NodeMCU): 4 ขั้นตอน
Anonim
เว็บ IR ระยะไกลด้วย Esp8266 (NodeMCU)
เว็บ IR ระยะไกลด้วย Esp8266 (NodeMCU)

ปัญหา

มีรีโมทสามตัวอยู่บนโต๊ะในห้องนั่งเล่น ในการรับชมรายการโปรดของคุณ คุณต้องทำตามลำดับพิเศษของการกดปุ่มอย่างน้อยสองปุ่ม แล้วรูมเมทของคุณ แม่ แฟนก็จำไม่ได้..

สารละลาย

คุณซื้อ Logitech Harmony;-)

แต่ถ้าคุณไม่ต้องการใช้เงินจำนวนนี้ คุณสามารถสร้างสิ่งที่คล้ายคลึงกันในราคาต่ำกว่า 10$ โดยการเชื่อมต่อ LED อินฟราเรดกับ ESP8266 (s.th. เช่น Arduino แต่มี WiFi onboard) เราสามารถสร้างอุปกรณ์ได้อย่างง่ายดาย เราสามารถควบคุมอุปกรณ์ด้วยหน้าเว็บขนาดเล็กจากคอมพิวเตอร์หรือโทรศัพท์มือถือใน WiFi ของคุณ

สิ่งที่คุณต้องการ

  • คณะกรรมการพัฒนา NodeMCU (จัดส่งจากเอเชียในราคา < 5 ยูโร)
  • เซ็นเซอร์อินฟราเรด (OS-1838B หรือ TSOP38238)
  • IR LED
  • ตัวต้านทาน 100Ω
  • ทรานซิสเตอร์ NPN (เช่น 2N2222)
  • PCB ต้นแบบชิ้นเล็ก
  • ขั้วต่อสี่พินที่พอดีกับ NodeMCU (เช่น อะแดปเตอร์แปลงไฟฟล็อปปี้ดิสก์)

หากคุณมีรีโมทรุ่นเก่า คุณอาจใช้ IR LED และทรานซิสเตอร์จากรีโมทนั้นได้

ขั้นตอนที่ 1: การประกอบฮาร์ดแวร์

การประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์

ประกอบส่วนประกอบเป็นชิ้นเล็ก ๆ บนแผงวงจรต้นแบบชิ้นเล็ก ๆ และเชื่อมต่อส่วนประกอบตามที่แสดงในแผนภาพ

ขึ้นอยู่กับ LED ตัวต้านทานป้องกันอาจไม่จำเป็น หากคุณพบว่าคุณต้องตั้งเป้าให้ดีจริงๆ หรือต้องอยู่ใกล้อุปกรณ์จริงๆ คุณก็ถอดมันออกได้

ฉันเชื่อมต่อทุกอย่างเข้ากับปลั๊กที่ถอดออกจากอะแดปเตอร์แปลงไฟสำหรับพีซีที่เสีย (อันหนึ่งสำหรับฟลอปปีดิสก์)

ขั้นตอนที่ 2: การติดตั้งแอปพลิเคชันบน NodeMCU

ตั้งค่าสภาพแวดล้อมของคุณเพื่อคอมไพล์โปรแกรมสำหรับ esp8266 ด้วย Arduino IDE: [https://github.com/espressif/arduino-esp32

โคลนหรือดาวน์โหลดซอร์สโค้ดของแอปพลิเคชันจากที่เก็บ github

ใน Arduino IDE ให้ติดตั้งไลบรารี IRremoteESP8266 (เมนู: Sketch -> Manage Libraries) คัดลอกไฟล์ config.h.example และตั้งชื่อสำเนานี้ว่า config.h อย่างน้อย คุณต้องระบุ SSID และรหัสผ่านของ WiFi ของคุณใน config.h เพื่อให้สามารถเชื่อมต่อกับเว็บเซิร์ฟเวอร์ได้ Arduino Sketch ควรจะสามารถคอมไพล์และอัปโหลดได้แล้ว เชื่อมต่อบอร์ดฝ่าวงล้อมที่คุณสร้างขึ้นกับ 3V, กราวด์, D5, D6

หากทุกอย่างทำงานและคุณเรียกใช้ชิปที่เชื่อมต่อกับ Arduino IDE คุณควรแสดงที่อยู่ IP ที่เซิร์ฟเวอร์กำลังทำงานอยู่ในจอภาพแบบอนุกรม

ขั้นตอนที่ 3: การปรับแต่งหน้า HTML เพื่อควบคุม NodeMCU

กระบวนการในขั้นตอนนี้จะแสดงในวิดีโอด้วย

ในไดเรกทอรีซอร์สโค้ดยังมี 'ir.html' หากกำหนดค่าถูกต้อง จะ 'พูด' กับ NodeMCU

ขั้นตอนแรกคือการบอกไฟล์ภายใต้ที่อยู่ที่สามารถค้นหา NodeMCU เปิดไฟล์ ir.html ในโปรแกรมแก้ไขข้อความและค้นหาบรรทัดที่มีลักษณะดังนี้:

โฮสต์ var = '192.168.2.121';

เปลี่ยนค่าระหว่างขีดเพื่อให้ตรงกับที่อยู่ที่เว็บเซิร์ฟเวอร์ที่พิมพ์บนจอภาพแบบอนุกรมหลังจากเริ่มต้น

การบันทึกกดปุ่มบันทึกชี้รีโมทคอนโทรลไปที่เซ็นเซอร์แล้วกดปุ่มที่ต้องการบนรีโมท หลังจากนั้นภายใต้ปุ่มบันทึกจะมีรายการตัวเลขยาวขึ้น นี่คือจังหวะเวลาของสัญญาณสำหรับปุ่มนั้นที่คุณกดบนรีโมท

การตั้งค่าคำสั่ง

ตอนนี้เราต้องการวิธีส่งสัญญาณที่มีการกำหนดเวลาเหล่านั้นจากตัวชิปเอง เพื่อที่เราต้องเพิ่มเวลาที่เราเพิ่งบันทึกลงในรายการสัญญาณที่รู้จัก คัดลอกค่า (รวมถึงวงเล็บเหลี่ยม) ที่กระบวนการบันทึกมอบให้คุณ และแทรกบรรทัดใหม่ที่มีชื่อและค่าในไฟล์ ir.html หลังบรรทัดที่มีลักษณะดังนี้:

var สัญญาณ = {

"pgr1 btn": [1, 2, 3],

แทนที่ 1, 2, 3 ด้วยค่าที่บันทึกไว้ และอย่าลืมเครื่องหมายจุลภาคหลังวงเล็บรอบข้าง ในการเพิ่มปุ่มจริง ๆ เราต้องเพิ่มคำสั่งด้วย คำสั่งอาจประกอบด้วยสัญญาณหลายสัญญาณ เนื่องจากเราอาจต้อง 'กด' หลายปุ่มบนรีโมท เช่น 1 และ 2 เพื่อไปยังช่อง 12 บนทีวี นอกจากนี้ยังช่วยให้สามารถควบคุมอุปกรณ์หลายเครื่องได้ด้วยคำสั่งเดียว มองหาเส้นที่มีลักษณะเช่นนี้

"เปิด/ปิดเสียง": ["ปิดเสียง"],

คัดลอกบรรทัดนั้นและเปลี่ยนข้อความ "เปิด/ปิดเสียง" เพื่อให้ตรงกับสิ่งที่คุณต้องการให้แสดงบนปุ่มใหม่ เปลี่ยนชื่อ "ปิดเสียง" เป็นชื่อของสัญญาณที่คุณเพิ่ม ดังนั้นผลลัพธ์อาจเป็น:

"HBO": ["prg 1 btn"],

หากคุณต้องการรันสัญญาณหลาย ๆ ให้เพิ่มดังนี้:

"HBO": ["prg 1 btn", "prg 2 btn"],

ขั้นตอนที่ 4: การใช้งาน

หลังจากที่คุณแทรกลำดับสัญญาณที่คุณต้องการลงในไฟล์ HTML แล้ว คุณสามารถคัดลอกไปยังคอมพิวเตอร์หรืออุปกรณ์มือถือเครื่องใดก็ได้ที่มีเบราว์เซอร์และเชื่อมต่อกับ WiFi เดียวกันกับ NodeMCU

แนะนำ: