Indholdsfortegnelse:

Alexa IoT TV-controller ESP8266: 10 trin (med billeder)
Alexa IoT TV-controller ESP8266: 10 trin (med billeder)

Video: Alexa IoT TV-controller ESP8266: 10 trin (med billeder)

Video: Alexa IoT TV-controller ESP8266: 10 trin (med billeder)
Video: Умный дом с Google Assistant и Alexa с использованием NodeMCU ESP8266 (Руководство + голос) | Интернет вещей 2021 2024, November
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

For nylig købte jeg en Amazon Echo Dot under Amazon Prime -dagen for ~ 20 €.

Disse små stemmeassistenter er billige og gode til DIY Home Automation, hvis du ved, hvad der er muligt, og hvordan du bygger smarte enheder.

Jeg har et Samsung Smart TV, men jeg ville gøre det endnu smartere. I denne Instructable vil jeg vise dig, hvordan du opbygger en controller til dit tv til at styre det trådløst ved hjælp af din stemme. Nogle mulige og nyttige kommandoer kan være:

  • Tænd/sluk for fjernsynet
  • Lydstyrkeindstillinger (op/ned/dæmp)
  • Skift til en anden kilde (HDMI -port, tv osv.)
  • Tænd Netflix/Amazon Prime/YouTube …

Hvis dit tv har en USB-port, der altid er tændt, har du jackpotten! Hvis ikke, kan du bruge et langvarigt USB-kabel eller et lille strømregulatorkort, der reducerer enhver spænding mellem 12,5 og 16V ned til 5V. Jeg brugte dette, fordi jeg allerede havde en 12V strømforsyning lige under min seng til nogle LED-strips:)

En anden måde og derfor deltager jeg i Battery-Challenge, at mit designede 3D-printede hus har plads til et 150 mAh LiPo batteri og opladerkort. Så du kan beholde den helt trådløst!

Desværre har jeg dog ingen billeder af det, fordi min iPhone døde under en iOs-opdatering, og billederne ikke blev uploadet til min iCloud:(Så de medfølgende billeder er kun uden batteri indeni, som jeg tilsluttede efter den sidste samling …

Men hvis du vil bygge din egen controller, har du her brug for:

Tilbehør:

  • Værktøjer:

    • Loddekolbe
    • Varm lim
    • 3D-printer (valgfri)
    • Varme krympe
  • Komponenter: (Links er kun som eksempel!)
  • 1x ESP8266-01s Board + Programmer:
  • 1x NPN Transistor 2N2222A:
  • 1x 100 Ohm modstand:
  • 2x 10k Ohm modstand: se linket ovenfor
  • 1x lille switch (NC - det er vigtigt !!):
  • 1x 3 mm IR-emitter LED:
  • 1x Mini Step-Down Converter:
  • 1x Micro-USB Female connector board:
  • 1x TP4056 opladningskort (valgfrit):
  • 1x Mini LiPo -batteri (valgfrit):

Yderligere:

For at bygge dette projekt skal du have et system, der kører freeware "ioBroker". Dette er en gratis MQTT-Broker, der giver ESP8266 mulighed for at oprette forbindelse til den og dele dens data. ioBroker har også en Alexa-adapter, som vi kan bruge til at få vores ESP til at kommunikere trådløst med Alexa.

Jeg kører ioBroker på et gammelt bærbar-bundkort-men for små automatiseringer ville en Raspberry-Pi være nok til at køre det. Du kan downloade ioBroker på dets officielle websted her:

Du har også brug for Tasmota-Firmware! Du kan downloade den her:

Vælg dit sprog

Hvis du vil bruge det med Alexa, skal du vide, hvad en fysisk Alexa -enhed er nødvendig! Alexa-appen virker ikke! Alexa-tilslutning er kun valgfri-du kan også tænde dit tv ved at trykke på en lille MQTT-knap som denne:

Trin 1: Programmer ESP8266

Programmer ESP8266
Programmer ESP8266

Fordi vi skal lodde ESP8266 til printet senere, skal vi først programmere det. For at gøre dette anbefaler jeg dig at bruge et billigt programmeringsbræt - Det, jeg brugte, anbefales ikke! Jeg havde ændret det for at få det til at fungere, så tjek linket øverst (se: Supplies).

Tilslut først ESP'en til programmereren. Start derefter Flash-værktøjet på din computer. Tilslut nu programmereren via USB, og tryk på FLASH-knappen på printkortet, mens du tilslutter den. Slip den efter et par sekunder. Nu skal der vises en COM-port i programværktøjet. Vælg det, og fortsæt med at vælge Tasmota-Firmware. Baud-rate skal være på 115.000 og tilstand QIO valgt. Når du er færdig, skal du klikke på Flash-knappen på værktøjet. Nu starter programmøren.

Når det er gjort, står der FÆRDIG.

Nu kan du fjerne programmereren fra din pc og sætte den tilbage, efter at du har skiftet programmereren til UART-tilstand (kontakten på printkortet).

Trin 2: Konfigurer din ESP - WiFi

Opsæt din ESP - WiFi
Opsæt din ESP - WiFi

Nu hvor ESP er programmeret og tilsluttet din computer i UART-tilstand, skal du gå til wifi-indstillingerne på din enhed og søge efter et netværk, der indeholder "tasmota" i SSID (f.eks. "Tasmota-31278D"). Opret forbindelse til den, gå til din browser og gå til 192.168.4.1.

I det følgende forklarer jeg, hvad du skal gøre i opsætningen:

Wifi -indstillinger:

  • WLAN1:

    • SSID for din Wifi-router
    • Adgangskode til din Wifi-router
  • WLAN2:

    • SSID for din (anden) router (valgfri)
    • Adgangskode til din (anden) router (valgfri)
  • Værtsnavn: Navnet, der vises på netværket - jeg anbefaler "TV -fjernbetjening"

Bekræft dine indstillinger ved at klikke på "Gem" (grøn knap). Nu forsøger ESP at oprette forbindelse til dit WiFi -netværk.

Hvis denne proces mislykkes, åbner ESP sit eget Tasmota-Wifi-netværk igen.

Trin 3: Konfigurer din ESP - modulkonfiguration

Opsætning af dit ESP - modulkonfig
Opsætning af dit ESP - modulkonfig

Når din ESP har oprettet forbindelse til dit hjemmenetværk, skal du søge efter dens IP-adresse i din router-menu.

Indtast adressen i din browser. Tasmota -siden i ESP vises. Naviger nu til Indstillinger Konfigurer modul, og vælg "Generisk (18)".

Når du er færdig, skal du søge i drop-down-menuen i GPIO-2 efter IRsend (8) og vælge den.

Tryk på Gem!

Trin 4: Konfigurer din ESP - MQTT

Opsætning af dit ESP - MQTT
Opsætning af dit ESP - MQTT

ESP skal oprette forbindelse til vores MQTT-Broker (ioBroker). Vi kan konfigurere MQTT-indstillingerne under fanen Indstillinger Konfigurer MQTT. Der skal du indtaste din Broker-IP, Broker-Port, MQTT-User (hvis du ikke ved det, kan du finde det på dine MQTT-Adapter-indstillinger på ioBroker!). Desuden skal du indtaste MQTT-adgangskoden, klientnavnet (hvordan enheden vises i ioBroker) og et emne. Emnet er navnet på mappen i iobroker. Hvis du vil bruge flere MQTT-enheder, anbefaler jeg at deklarere fulde emner som stue/%topic%eller køkken/%topic%. Men du behøver ikke at gøre det, men det vil hjælpe dig senere, når du har mange enheder tilsluttet din mægler!

Glem ikke at gemme alt bagefter!:)

Og det er det! ESP'en er klar til brug nu!

Trin 5: Konfigurer din IoBroker

Konfigurer din IoBroker
Konfigurer din IoBroker

Nu hvor ESP er klar til brug, skal vi konfigurere MQTT-Broker- og Alexa-adapteren som ekstraudstyr.

Gå til din ioBroker-webside (ip-adresse + port (8081) som 192.168.178.188:8081 i mit tilfælde).

Naviger til "Adaptere", og søg efter "MQTT Broker/Client" og "Alexa2".

MQTT-adapteren er nødvendig, Alexa er valgfri.

Jeg anbefaler at starte med MQTT-adapteren. Efter installationen åbnes et vindue, hvor du skal konfigurere din mægler.

Vælg indstillingerne som vist på billedet.

Du kan vælge MQTT-bruger og adgangskode, som du vil!

Som altid glem ikke at gemme dine indstillinger (venstre nederste hjørne).

Trin 6: Test af MQTT-forbindelse

Test af MQTT-forbindelse
Test af MQTT-forbindelse

For at teste forbindelsen fra ESP til mægler, skal du fjerne ESP'en fra din pc og tilslutte den igen med valgt normal opstartstilstand igen.

Vent et par sekunder, og kontroller status for din iobroker-side "forekomster", og se på "lys" -symbolet på MQTT-adapteren. Hvis din ESP er angivet der, sluttede den succesfuldt!

MQTT-mapperne vises automatisk på siden "Objekter"!

Trin 7: Opret MQTT-variabel

Opret MQTT-variabel
Opret MQTT-variabel
Opret MQTT-variabel
Opret MQTT-variabel

Naviger til fanen "Objekter" på ioBroker.

Åbn mappen mqtt.0/YourTopic/cmnd.

Inde i denne cmnd (kommando) mappe skal du oprette et nyt datapunkt. Du kan gøre dette ved at klikke på + (plus) -symbolet øverst.

Navn: IRsend

type: Datapoint

datapointtype: string

Btw beklager, at det viste billedindhold er på tysk, men jeg ved ikke, hvordan jeg skifter til engelsk for dette instruerbare:/

Trin 8: Lodning og udskrivning

Lodning og udskrivning
Lodning og udskrivning
Lodning og udskrivning
Lodning og udskrivning
Lodning og udskrivning
Lodning og udskrivning

Software er færdig - lodning næste!

Printkortet skal have en cirkulær form med en diameter på 50 mm.

Lod alt sammen som vist i den medfølgende skematik. Sørg for, at du ikke tilslutter IR-emitteren omvendt! Måske overlever LED'en det ikke.

Jeg brugte små 2-polede stik til IR-LED, switch og Micro-USB-Power-board. Hvis du også vil gøre det, skal du markere dine + og - forbindelser på siden af stikket. Kontaktorienteringen er ligegyldig!

Hvis du har en 3d -printer ved hånden, kan du bruge mine medfølgende filer - Det er en grundlæggende 3 cm tyk kasse, der passer godt til alle komponenterne!

Selv et lille batteri og opladningstavle passer indeni!

Jeg printede det med mit Anycubic I3-Mega og Black Anycubic Filament:)

Jeg limede PCB, IR-LED, switch og USB-port indvendigt ved hjælp af varmlim. Desuden stak jeg sagen bag mit tv med noget dobbeltsidet tape. Fungerer godt!

For at starte enheden nu skal du trykke på knappen, mens du tilslutter den i et par sekunder. Kontakten afbryder IR-LED'en fra GPIO-2, når der trykkes på, at ESP'en kan starte. Tasmota understøtter kun GPIO-2 og GPIO-0 på ESP-01 for IRSender, så jeg var nødt til at gøre det på denne måde. Slip knappen efter ca. 5 sekunder…

Trin 9: Automationstid:)

Automationstid:)
Automationstid:)

Nu er alt hardware-baseret færdigt.

Automatiseringssoftware nu:)

For at lave nogle fede automatiseringer skal vi downloade adapteren "Scripts" i ioBroker. Efter du har installeret det, vil der dukke et nyt felt op i venstre side, kaldet "Scripts". Åbn det og opret et nyt Blockly -Script - dette er en måde til meget enkel programmering ved hjælp af funktionelle blokke.

For at styre dit tv skal du vide, at det er IR-koder. Du kan nemt finde dem på internettet - søg efter din model + IR -koder. Jeg fandt også koderne til mit tv online. Men du kan nemt afkode dem med en IR-modtager og en Arduino! Hvis du ikke ved, hvordan du gør det, skal du søge på Instructables;)

I mit tilfælde er signalet om at tænde/slukke for fjernsynet "0xE0E040BF". Variablen IRsend, som vi har oprettet tidligere, er nu nødvendig. Det medfølgende eksempelprogram skriver koden ind i variablen. Men før og efter bliver IRsend sat til 0 med nogle forsinkelser. Dette er meget vigtigt, fordi fjernsynet ellers ikke gør noget.

Du skal bruge dette format til IRsend: {"Protocol": "NEC", "Bits": 32, "Data": YourIRCode}

Udløseren for fjernsynet til at tænde kan være en hvilken som helst variabel i din ioBroker. Hvis du vil gøre det med Alexa, skal du som udgangspunkt oprette en ny rutine i Alexa-App på din smartphone og kalde den f.eks. "Tænd for tv".

Du kan finde denne variabel i din Alexa-adapter-mappe på fanen "Objekter" på din ioBroker. Denne variabel skal vælges som triggerhændelse øverst i mit eksempelskript (if-condition).

Hvis du har et smart-tv, kan du også starte f.eks. Netflix, Amazon Prime, YouTube osv.

Du skal navigere i fjernsynet trin for trin, som du ville gøre det ved hjælp af fjernbetjeningen. Glem ikke at indstille IRsend til 0 mellem kommandoerne med en lille forsinkelse. Forsinkelser skal fungere med værdier mellem 500 og 1000 ms. Bare prøv det:)

Trin 10: Har du spørgsmål?:)

Jeg håber, at du kan forstå alle de trin, det tager at bygge min Smart-IR-controller.

Hvis du har spørgsmål, er du velkommen til at stille mig i kommentarerne:) Håber du kan lide mit projekt: D

Btw. undskyld mit dårlige engelsk, jeg er fra Tyskland: p

Anbefalede: