สารบัญ:

Alexa IoT TV-Controller ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)
Alexa IoT TV-Controller ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Alexa IoT TV-Controller ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Alexa IoT TV-Controller ESP8266: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 (Manual + Voice) | IoT Projects 2021 2024, กรกฎาคม
Anonim
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266
Alexa IoT TV-Controller ESP8266

เมื่อเร็ว ๆ นี้ฉันซื้อ Amazon Echo Dot ระหว่างวัน Amazon Prime ในราคาประมาณ 20 ยูโร

ผู้ช่วยเสียงขนาดเล็กเหล่านี้มีราคาถูกและยอดเยี่ยมสำหรับ DIY Home Automation หากคุณรู้ว่าสิ่งใดเป็นไปได้และจะสร้างอุปกรณ์อัจฉริยะได้อย่างไร

ฉันมี Samsung Smart TV แต่ฉันต้องการทำให้มันฉลาดกว่านี้ ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างคอนโทรลเลอร์สำหรับทีวีของคุณเพื่อควบคุมแบบไร้สายโดยใช้เสียงของคุณ คำสั่งที่เป็นไปได้และมีประโยชน์บางอย่างอาจเป็น:

  • เปิด/ปิดทีวี
  • การตั้งค่าระดับเสียง (ขึ้น/ลง/ปิดเสียง)
  • สลับไปยังแหล่งอื่น (พอร์ต HDMI, ทีวี, ฯลฯ…)
  • เปิด Netflix/Amazon Prime/YouTube…

ในกรณีที่ทีวีของคุณมีพอร์ต USB ที่เปิดตลอดเวลา แสดงว่าคุณมีแจ็คพอต! ถ้าไม่เช่นนั้น คุณสามารถใช้สาย USB แบบยาวหรือ Power Regulator Board ขนาดเล็กที่จะลดแรงดันไฟฟ้าระหว่าง 12.5 ถึง 16V ลงเหลือ 5V ฉันใช้สิ่งนี้เพราะฉันมีแหล่งจ่ายไฟ 12V อยู่ข้างใต้เตียงของฉันสำหรับ LED-Strips:)

อีกวิธีหนึ่งและนั่นคือเหตุผลที่ฉันเข้าร่วมใน Battery-Challenge ก็คือตัวเครื่องที่พิมพ์ 3 มิติที่ออกแบบของฉันมีพื้นที่สำหรับ 150mAh LiPo Battery และแท่นชาร์จ คุณจึงสามารถรักษาแบบไร้สายได้อย่างสมบูรณ์!

น่าเสียดายที่ฉันไม่มีรูปภาพของมันเพราะ iPhone ของฉันเสียชีวิตระหว่างการอัปเดต iOs และรูปภาพไม่ได้อัปโหลดไปยัง iCloud ของฉัน:(ดังนั้นรูปภาพที่ให้มาจึงไม่มีแบตเตอรี่อยู่ภายในเท่านั้น ซึ่งฉันเชื่อมต่อหลังจากการประกอบขั้นสุดท้าย…

อย่างไรก็ตาม หากคุณต้องการสร้างคอนโทรลเลอร์ของคุณเอง นี่คือสิ่งที่คุณต้องการ:

เสบียง:

  • เครื่องมือ:

    • หัวแร้ง
    • กาวร้อน
    • เครื่องพิมพ์ 3 มิติ (อุปกรณ์เสริม)
    • หดความร้อน
  • ส่วนประกอบ: (ลิงก์เป็นเพียงตัวอย่างเท่านั้น!)
  • 1x ESP8266-01s บอร์ด + โปรแกรมเมอร์:
  • 1x ทรานซิสเตอร์ NPN 2N2222A:
  • ตัวต้านทาน 1x100 โอห์ม:
  • ตัวต้านทาน 2x 10k Ohm: ดูลิงค์ด้านบน
  • 1x สวิตช์ขนาดเล็ก (NC - สำคัญ!!):
  • 1x3 มม. IR-Emitter LED:
  • 1x Mini Step-Down Converter:
  • 1x บอร์ดขั้วต่อ Micro-USB ตัวเมีย:
  • 1x TP4056 แท่นชาร์จ (อุปกรณ์เสริม):
  • 1x Mini LiPo แบตเตอรี่ (อุปกรณ์เสริม):

ไกลออกไป:

ในการสร้างโครงการนี้ คุณต้องมีระบบที่ใช้งานฟรีแวร์ "ioBroker" นี่คือ MQTT-Broker ฟรีที่อนุญาตให้ ESP8266 เชื่อมต่อและแชร์ข้อมูล ioBroker ยังมี Alexa-Adapter ซึ่งเราสามารถใช้เพื่อให้ ESP ของเราสื่อสารกับ Alexa แบบไร้สายได้

ฉันเรียกใช้ ioBroker บนแล็ปท็อป-มาเธอร์บอร์ดรุ่นเก่า - แต่สำหรับการทำงานอัตโนมัติขนาดเล็ก Raspberry-Pi ก็เพียงพอแล้วที่จะเรียกใช้ คุณสามารถดาวน์โหลด ioBroker บนเว็บไซต์ทางการได้ที่นี่:https://www.iobroker.net/

คุณต้องใช้ Tasmota-Firmware ด้วย! คุณสามารถดาวน์โหลดได้ที่นี่:

เลือกภาษาของคุณ

หากคุณต้องการใช้กับ Alexa คุณจำเป็นต้องรู้ว่าอุปกรณ์ Alexa ทางกายภาพนั้นจำเป็นแค่ไหน! Alexa-App ใช้งานไม่ได้! Alexa-Connectivity เป็นอุปกรณ์เสริมเท่านั้น คุณยังสามารถเปิดทีวีได้โดยกดปุ่ม MQTT เล็กๆ แบบนี้:

ขั้นตอนที่ 1: ตั้งโปรแกรม ESP8266

ตั้งโปรแกรม ESP8266
ตั้งโปรแกรม ESP8266

เนื่องจากเราจะบัดกรี ESP8266 กับ PCB ในภายหลัง เราจึงต้องตั้งโปรแกรมก่อน ในการทำเช่นนี้ ฉันแนะนำให้คุณใช้บอร์ด Programmer ราคาถูก - ไม่แนะนำอันที่ฉันใช้! ฉันได้แก้ไขเพื่อให้มันใช้งานได้ ดังนั้นโปรดดูลิงก์ด้านบน (ดู: วัสดุสิ้นเปลือง)

ตอนแรกเสียบ ESP เข้ากับโปรแกรมเมอร์ จากนั้นเริ่ม Flash-Tool บนคอมพิวเตอร์ของคุณ ตอนนี้เสียบโปรแกรมเมอร์ผ่าน USB แล้วกดปุ่ม FLASH บน PCB ระหว่างเสียบปลั๊ก ปล่อยหลังจากไม่กี่วินาที ตอนนี้ควรจะแสดง COM-Port ใน Program-Tool เลือกและดำเนินการต่อโดยเลือก Tasmota-Firmware Baud-Rate ควรอยู่ที่ 115.000 และเลือก Mode QIO เมื่อเสร็จแล้ว ให้คลิกที่ปุ่ม Flash บนเครื่องมือ ตอนนี้โปรแกรมเมอร์เริ่มทำงาน

เสร็จแล้วจะขึ้นว่า DONE

ตอนนี้คุณสามารถลบโปรแกรมเมอร์ออกจากพีซีของคุณและใส่กลับเข้าไปใหม่หลังจากที่คุณเปลี่ยนโปรแกรมเมอร์เป็นโหมด UART (สวิตช์บน PCB)

ขั้นตอนที่ 2: ตั้งค่า ESP ของคุณ - WiFi

ตั้งค่า ESP ของคุณ - WiFi
ตั้งค่า ESP ของคุณ - WiFi

เมื่อ ESP ได้รับการตั้งโปรแกรมและเสียบเข้ากับคอมพิวเตอร์ของคุณในโหมด UART แล้ว ให้ไปที่การตั้งค่า wifi ของอุปกรณ์และค้นหาเครือข่ายที่มี "tasmota" ใน SSID (เช่น "Tasmota-31278D") เชื่อมต่อไปที่เบราว์เซอร์ของคุณและไปที่ 192.168.4.1

ต่อไปนี้ ฉันจะอธิบายสิ่งที่คุณต้องทำในการตั้งค่า:

การตั้งค่า Wifi:

  • WLAN1:

    • SSID ของ Wifi-Router ของคุณ
    • รหัสผ่านของ Wifi-Router ของคุณ
  • WLAN2:

    • SSID ของเราเตอร์ (ที่สอง) ของคุณ (ตัวเลือก)
    • รหัสผ่านของเราเตอร์ (ที่สอง) ของคุณ (ไม่บังคับ)
  • ชื่อโฮสต์: ชื่อที่แสดงในเครือข่าย - ฉันแนะนำ "TV-Remote"

ยืนยันการตั้งค่าของคุณโดยคลิก "บันทึก" (ปุ่มสีเขียว) ตอนนี้ ESP พยายามเชื่อมต่อกับเครือข่าย WiFi ของคุณ

หากกระบวนการนี้ล้มเหลว ESP จะเปิด Tasmota-Wifi-Network ของตัวเองอีกครั้ง

ขั้นตอนที่ 3: ตั้งค่า ESP ของคุณ - การกำหนดค่าโมดูล

ตั้งค่า ESP ของคุณ - การกำหนดค่าโมดูล
ตั้งค่า ESP ของคุณ - การกำหนดค่าโมดูล

เมื่อ ESP ของคุณเชื่อมต่อกับเครือข่ายในบ้านของคุณสำเร็จ คุณต้องค้นหา IP-Address ในเมนูเราเตอร์ของคุณ

พิมพ์ที่อยู่ในเบราว์เซอร์ของคุณ หน้า tasmota ของ ESP จะแสดงขึ้น ไปที่ Settings Configure Module แล้วเลือก "Generic (18)"

เมื่อเสร็จแล้ว ค้นหาในเมนูดร็อปดาวน์ของ GPIO-2 สำหรับ IRsend (8) และเลือก

กดบันทึก!

ขั้นตอนที่ 4: ตั้งค่า ESP ของคุณ - MQTT

ตั้งค่า ESP ของคุณ - MQTT
ตั้งค่า ESP ของคุณ - MQTT

ESP จำเป็นต้องเชื่อมต่อกับ MQTT-Broker (ioBroker) ของเรา เราสามารถกำหนดค่าการตั้งค่า MQTT บนแท็บ SettingsConfigure MQTT คุณต้องป้อน Broker-IP, Broker-Port, MQTT-User (หากคุณไม่ทราบ คุณสามารถค้นหาได้ที่การตั้งค่า MQTT-Adapter บน ioBroker!) นอกจากนี้ คุณต้องพิมพ์ MQTT-Password, Client-Name (วิธีการแสดงอุปกรณ์ใน ioBroker) และหัวข้อ หัวข้อคือชื่อโฟลเดอร์ใน iobroker หากคุณต้องการใช้อุปกรณ์ MQTT มากขึ้น ฉันแนะนำให้ประกาศหัวข้อทั้งหมด เช่น ห้องนั่งเล่น/%topic% หรือ kitchen/%topic% แต่คุณไม่จำเป็นต้องทำอย่างนั้น แต่มันจะช่วยคุณได้ในภายหลังเมื่อคุณมีอุปกรณ์จำนวนมากที่เชื่อมต่อกับโบรกเกอร์ของคุณ!

อย่าลืมบันทึกทุกอย่างในภายหลัง!:)

และนั่นแหล่ะ! ESP พร้อมใช้งานแล้ว!

ขั้นตอนที่ 5: ตั้งค่า IoBroker ของคุณ

ตั้งค่า IoBroker ของคุณ
ตั้งค่า IoBroker ของคุณ

ตอนนี้ ESP พร้อมใช้งานแล้ว เราต้องตั้งค่า MQTT-Broker- และเลือก Alexa-Adapter

ไปที่หน้าเว็บ ioBroker ของคุณ (ที่อยู่ IP + พอร์ต (8081) เช่น 192.168.178.188:8081 ในกรณีของฉัน)

ไปที่ "Adapters" และค้นหา "MQTT Broker/Client" และ "Alexa2"

จำเป็นต้องใช้อะแดปเตอร์ MQTT ส่วน Alexa เป็นตัวเลือก

ฉันแนะนำให้เริ่มต้นด้วย MQTT-Adapter หลังจากติดตั้ง หน้าต่างจะเปิดขึ้นซึ่งคุณต้องตั้งค่านายหน้าของคุณ

เลือกตัวเลือกตามที่แสดงในภาพ

คุณสามารถเลือก MQTT-User และรหัสผ่านได้ตามใจชอบ!

และเช่นเคย อย่าลืมบันทึกการตั้งค่าของคุณ (มุมล่างซ้าย)

ขั้นตอนที่ 6: การทดสอบ MQTT-Connection

การทดสอบ MQTT-การเชื่อมต่อ
การทดสอบ MQTT-การเชื่อมต่อ

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

รอสักครู่แล้วตรวจสอบสถานะของ "อินสแตนซ์" ของหน้า iobroker และดูสัญลักษณ์ "เบา" ของ MQTT-Adapter หาก ESP ของคุณอยู่ในรายการ แสดงว่าเชื่อมต่อสำเร็จแล้ว!

โฟลเดอร์ MQTT จะปรากฏในหน้า "วัตถุ" โดยอัตโนมัติ!

ขั้นตอนที่ 7: สร้างตัวแปร MQTT

สร้างตัวแปร MQTT
สร้างตัวแปร MQTT
สร้างตัวแปร MQTT
สร้างตัวแปร MQTT

ไปที่แท็บ "วัตถุ" ของ ioBroker

เปิดโฟลเดอร์ mqtt.0/YourTopic/cmnd

ภายในโฟลเดอร์ cmnd (คำสั่ง) นี้ คุณต้องสร้าง datapoint ใหม่ คุณสามารถทำได้โดยคลิกที่เครื่องหมาย + (บวก) - ที่ด้านบน

ชื่อ: IRsend

ประเภท: Datapoint

ประเภทข้อมูล: string

ขออภัยที่เนื้อหารูปภาพที่แสดงเป็นภาษาเยอรมัน แต่ฉันไม่รู้วิธีเปลี่ยนเป็นภาษาอังกฤษสำหรับคำแนะนำนี้: /

ขั้นตอนที่ 8: การบัดกรีและการพิมพ์

การบัดกรีและการพิมพ์
การบัดกรีและการพิมพ์
การบัดกรีและการพิมพ์
การบัดกรีและการพิมพ์
การบัดกรีและการพิมพ์
การบัดกรีและการพิมพ์

ซอฟต์แวร์เสร็จแล้ว - บัดกรีต่อไป!

PCB ควรเป็นรูปทรงกลมที่มีเส้นผ่านศูนย์กลาง 50 มม.

ประสานทุกอย่างเข้าด้วยกันตามที่แสดงในแผนผังที่รวมไว้ ตรวจสอบให้แน่ใจว่าคุณไม่ได้เชื่อมต่อ IR-Emitter กลับด้าน! บางที LED อาจไม่รอด

ฉันใช้คอนเนคเตอร์ 2 พินขนาดเล็กสำหรับ IR-LED, Switch และ Micro-USB-Power-Board หากคุณต้องการทำเช่นนั้น อย่าลืมทำเครื่องหมายการเชื่อมต่อ + และ - ที่ด้านข้างของตัวเชื่อมต่อ การวางแนวสวิตช์ไม่สำคัญ!

หากคุณมีเครื่องพิมพ์ 3 มิติอยู่ในมือ คุณสามารถใช้ไฟล์ที่จัดเตรียมไว้ให้ได้ - เป็นเคสหนา 3 ซม. แบบพื้นฐานซึ่งเข้ากับส่วนประกอบทั้งหมดได้อย่างลงตัว!

แม้แต่แบตเตอรี่ขนาดเล็กและแท่นชาร์จก็ใส่เข้าไปข้างในได้!

ฉันพิมพ์ด้วย Anycubic I3-Mega และ Black Anycubic Filament:)

ฉันติด PCB, IR-LED, สวิตช์และพอร์ต USB ภายในโดยใช้ hotglue นอกจากนี้ ฉันยังติดเคสไว้ด้านหลังทีวีด้วยเทปกาวสองหน้า ทำงานได้ดี!

ในการเริ่มต้นอุปกรณ์ตอนนี้ คุณต้องกดปุ่มระหว่างเสียบปลั๊กเป็นเวลาสองสามวินาที สวิตช์จะตัดการเชื่อมต่อ IR-LED จาก GPIO-2 เมื่อกดเพื่อให้ ESP สามารถเริ่มทำงานได้ Tasmota รองรับเฉพาะ GPIO-2 และ GPIO-0 บน ESP-01 สำหรับ IRSender ดังนั้นฉันจึงจำเป็นต้องทำเช่นนี้ ปล่อยปุ่มหลังจาก ca. 5 วินาที…

ขั้นตอนที่ 9: เวลาอัตโนมัติ:)

เวลาอัตโนมัติ:)
เวลาอัตโนมัติ:)

ตอนนี้ทุกอย่างที่ใช้ฮาร์ดแวร์เสร็จสิ้นแล้ว

ซอฟต์แวร์อัตโนมัติตอนนี้:)

ในการสร้างการทำงานอัตโนมัติที่ยอดเยี่ยม เราจำเป็นต้องดาวน์โหลด Adapter "Scripts" ใน ioBroker หลังจากที่คุณติดตั้งแล้ว จะมีฟิลด์ใหม่ปรากฏขึ้นทางด้านซ้าย เรียกว่า "สคริปต์" เปิดและสร้าง Blockly-Script ใหม่ - นี่เป็นวิธีสำหรับการเขียนโปรแกรมที่ง่ายมากโดยใช้ Blocks ที่ใช้งานได้

ในการควบคุมทีวีของคุณ คุณจำเป็นต้องรู้ว่าเป็น IR-Codes คุณสามารถค้นหาได้อย่างง่ายดายบนอินเทอร์เน็ต - ค้นหา Model + IR Codes ของคุณ ฉันพบรหัสสำหรับทีวีของฉันทางออนไลน์ด้วย แต่คุณสามารถถอดรหัสได้อย่างง่ายดายด้วย IR-Receiver และ Arduino! หากคุณไม่ทราบวิธีการค้นหาใน Instructables;)

ในกรณีของฉัน สัญญาณในการเปิด/ปิดทีวีคือ "0xE0E040BF" ตอนนี้จำเป็นต้องใช้ตัวแปร IRsend ที่เราสร้างไว้ก่อนหน้านี้ โปรแกรมตัวอย่างที่จัดเตรียมไว้ให้เขียนโค้ดลงในตัวแปร แต่ก่อนและหลัง IRsend ถูกตั้งค่าเป็น 0 โดยมีความล่าช้าบ้าง สิ่งนี้สำคัญมากเพราะว่าทีวีจะไม่ทำอะไรเลย

คุณต้องใช้รูปแบบนี้สำหรับ IRsend: {"Protocol":"NEC", "Bits":32, "Data": YourIRCode }

ทริกเกอร์ให้ทีวีเปิดอาจเป็นตัวแปรใดก็ได้ใน ioBroker ของคุณ หากคุณต้องการทำสิ่งนี้กับ Alexa ให้สร้างกิจวัตรใหม่ใน Alexa-App บนสมาร์ทโฟนของคุณและเรียกมันว่าเช่น "เปิดทีวี".

คุณสามารถหาตัวแปรนี้ได้ในโฟลเดอร์ Alexa-adapter ของคุณบนแท็บ "Objects" ของ ioBroker ของคุณ ต้องเลือกตัวแปรนี้เป็นเหตุการณ์ทริกเกอร์ที่ด้านบนของสคริปต์ตัวอย่างของฉัน (if-condition)

หากคุณมีสมาร์ททีวี คุณสามารถเริ่มต้นได้เช่น Netflix, Amazon Prime, YouTube เป็นต้น

คุณต้องนำทางทีวีทีละขั้นตอนเหมือนที่ทำโดยใช้รีโมท อย่าลืมตั้งค่า IRsend เป็น 0 ระหว่างคำสั่งต่างๆ โดยมีการหน่วงเวลาเล็กน้อย ความล่าช้าควรทำงานกับค่าระหว่าง 500 ถึง 1,000 มิลลิวินาที เพียงแค่ลองใช้:)

ขั้นตอนที่ 10: มีคำถามอะไรไหม:)

ฉันหวังว่าคุณจะเข้าใจขั้นตอนทั้งหมดในการสร้าง Smart-IR-Controller ของฉัน

หากคุณมีคำถามใด ๆ โปรดถามฉันในความคิดเห็น:) หวังว่าคุณจะชอบโครงการของฉัน: D

บ. ขอโทษสำหรับภาษาอังกฤษที่ไม่ดีของฉัน ฉันมาจากเยอรมัน:p

แนะนำ: