Sisällysluettelo:
- Vaihe 1: Laitteisto
- Vaihe 2: Ohjelmisto
- Vaihe 3: Lisää laite- / painikekoodit
- Vaihe 4: Web -ohjaus ja makrot
- Vaihe 5: Alexa -ääniohjaus IFTTT: n avulla
- Vaihe 6: Alkuperäinen Alexa Voice Skill
- Vaihe 7: Alexa Aktivoi ilmaisin
Video: ESP-12-infrapunapuhallin: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Infrapunakaukosäädin, joka käyttää esp8266: ta
Lähettää Webistä vastaanotettuja kauko -ohjainkoodeja, jotka tukevat useita tulostuslaitteita.
Sisäänrakennettu yksinkertainen verkkosivu lähinnä testausta varten.
Normaali käyttö tapahtuu POST -viestien kautta, jotka voivat tulla verkkosivuilta tai IFTTT / Alexa -puheohjauksesta.
Tukee Amazon Echo / Dot -aktivointitunnistinta mykistääksesi / hiljentääksesi heti, kun aktivointisana on puhuttu.
Komennot ovat joko yksittäisiä komentoja tai jaksoja. Sekvenssit voidaan tallentaa nimettyinä makroina, joita voidaan sitten käyttää komentoina tai muissa jaksoissa.
Lähihistoria ja makrojen luettelo voidaan hakea verkkokäyttöliittymän kautta
Tukee uusien laiteohjelmistojen lataamista OTA: lle ja käyttää WifiManager -kirjastoa wifi: n käyttöönotossa
Vaihe 1: Laitteisto
Käyttää seuraavia komponentteja
- ESP-12F-moduuli
- 3,3 V: n säädin (MP2307 mini -buck -säädin)
- MOSFET -kytkimet (AO3400)
- Infrapunasäteilijä (3mm)
- Valosta riippuva vastus GL2258 (valinnainen Alexa -aktiivisuustunnistin)
- Vastukset
- Kytkentäkondensaattori (20uF)
- USB -naarasliitin (mieluiten juotosystävällinen holkilla
- 3 -nastainen IC -liitäntäliuska Alexa -ilmaisimelle
- Mekaaniset osat (voidaan tulostaa 3D -muodossa)
Voidaan koota ESP-12F-projektirasiaan
- Kiinnitä säädin USB -liittimeen ja aseta se laatikkoon
- Täytä infrapunaohjain pieneen palaan vero -korttia (3 johtoa, +5 V, 0 V porttitulo)
- Liitä infrapuna -ohjain USB +5V, 0V
- Aseta 3 -nastainen IC -liitin projektikoteloon, jos käytät Alexa -tunnistinta. Liitä +3.3V, 0V ja johto tuloa varten
- Täytä ESP-12F 2,2K: lla GPIO15-GND, EN-Vdd, 4K7 GPIO13-Vdd, Alexa-tulo GPIO13: lle, IR-ohjain GPIO14: lle, 0V ja Vdd-3,3V
- Täytä Alexa -ilmaisin ja tukipuskuri tarvittaessa.
Huomaa, että ESP-12F: n ohjelmointi voi olla helpompaa ensin, jos sinulla on jonkinlainen sarjaohjelmointitoiminto tai tällainen tilapäinen leipälautaustoiminto, jolla voit muodostaa yhteyden sarjaportteihin.
Myöhempi ohjelmointi voidaan tehdä käyttämällä sisäänrakennettua OTA -päivitystä.
Vaihe 2: Ohjelmisto
Ir Blaster käyttää Arduinon luonnosta, joka on saatavana githubista
Tämä täytyy säätää paikallisten olosuhteiden mukaan ja koota sitten esp8266 Arduino -ympäristöön.
Seuraavia kirjastoja tarvitaan, useimmat ovat vakio- tai lisättävissä. Kaksi viimeistä sisältyvät gitiin.
- ESP8266WiFi
- ESP8266WebServer
- FS.h
- DNS -palvelin
- ESP8266mDNS
- ESP8266HTTPPäivityspalvelin
- ArduinoJson
- BitTx (sisältyy Gitiin)
- BitMessages (sisältyy Gitiin)
Luonnoksen muutettavat kohteet sisältävät
- Verkkokäytön valtuutuskoodi AP_AUTHID
- Wfi -hallintaohjelman salasana WM_PASSWORD
- laiteohjelmiston OTA -salasana update_password
- Uudet IR -laitteet / painikekoodit (katso myöhemmin)
Kun tämä on tehty, se on ensin ladattava käyttämällä tavanomaista sarjalatausta.
Kun käytetään SPIFFS -muistia, muisti on valmisteltava asentamalla ja käyttämällä arduino ESP8266 Sketch Data upload -työkalua. Tämä lähettää datakansion alkuperäisenä SPIFFS -sisällönä
Kun laite ei voi muodostaa yhteyttä paikalliseen verkkoon (kuten tapahtuu ensimmäistä kertaa), Wifi -hallinta luo tukiaseman (192.168.4.1). Muodosta yhteys tähän verkkoon puhelimella tai tabletilla ja selaa sitten osoitteeseen 192.168.4.1 Saat verkkokäyttöliittymän, jolla voit muodostaa yhteyden paikalliseen wifi -verkkoon. Myöhemmät käyttöoikeudet käyttävät tätä. Jos paikallinen verkko muuttuu, se vaihtaa takaisin tähän asetustilaan.
Myöhempi päivitys voidaan tehdä kääntämällä vientibinääri Arduino -ympäristössä ja siirtymällä sitten OTA -käyttöliittymään osoitteessa ip/firmware.
Vaihe 3: Lisää laite- / painikekoodit
Huomautus: Tämä osio on muuttunut edellisestä menetelmästä, jossa kokoonpano, joka on aiemmin koottu koodiksi. Se käyttää nyt SPIFF -tiedostojärjestelmästä ladattuja tiedostoja. Tämä helpottaa uusien määritelmien lataamista.
Painikkeiden määritelmät sisältyvät buttonnames.txt -tiedostoon. Se on maailmanlaajuinen luettelo kaikista käytössä olevista kaukosäätimistä, koska monet nimet ovat yleensä yleisiä. Toimituksen mukana tämä sisältää tietoja käyttämistäni kaukosäätimistä. Uusia merkintöjä voidaan lisätä. Tilaa on yhteensä 160 nimelle, mutta tätä voidaan lisätä säätämällä vakioita bitMessages.h -tiedostossa ja kääntämällä uudelleen. Tässä määritellyt nimet ovat komentoja lähetettäessä käytettäviä nimiä.
Jokainen etälaite on määritetty tiedostossa nimeltä dev_remotename. Se koostuu kokoonpano -osasta yläosassa ja sitten kartoitustaulukosta painikkeiden nimistä koodeihin, jotka ovat heksadesimaalijonoja, jotka sisältävät lähetettävät bitit. Vain tarvittavat painikkeiden nimet on määritettävä.
Laitetiedoston alussa oleva määritysosio sisältää parametreja, joita käytetään koodin lähettämisessä. Ensimmäinen merkintä on laitteen nimi, jota käytetään komennon lähettämisessä. Muut parametrit on kuvattu koodisivuston readme -ohjelmassa.
Useimmat kaukosäätimet kuuluvat johonkin kolmesta protokollaluokasta (muualle, rc5 ja rc6). Nec on luultavasti yleisin ja sillä on yksinkertainen otsikkorakenne ja bittien ajoitus. Tästä on pieni muunnelma, joka eroaa vain otsikon pulssiajoituksesta. rc5 ja rc6 ovat Philipsin määrittämiä protokollia, mutta myös jotkin muut valmistajat käyttävät niitä. Ne ovat hieman monimutkaisempia ja erityisesti rc6: lla on erityinen ajoitusvaatimus yhdelle bitistä.
Uuden kauko -ohjaimen koodien tallentamiseen käytän IR -vastaanotinta (TSOP), jota käytetään yleisesti kytkettyjen etävastaanottimien kanssa. Tämä suorittaa perusdekoodauksen ja antaa loogisen tason lähdön. Niissä on yleensä 3,5 mm: n liitin, jossa on +5 V, GND, DATA -liitännät. Uhrasin yhden, lyhensin johtoa ja laitoin sen käänteisen 3,3 V: n puskurin läpi syöttämään GPIO -nasta Raspberry Pi: lle.
Käytän sitten python -työkalua rxir.py (git tools -kansiossa) koodien tallentamiseen. Suuren määrän painikkeiden kaappaamisen helpottamiseksi työkalu käyttää tekstin määritystiedostoa kauko -ohjaimen painikkeiden määrittämiseen ja on vain kaukosäätimen ryhmän painikkeiden nimet. Esimerkiksi jollakin voi olla uusi Sony-kaukosäädin ja yksi määrittää kolme tekstitiedostoa nimeltä sonytv-kohdistin, sonytv-numerot, sonytv-playcontrols, joissa kussakin on painikkeiden nimet. Työkalu kysyy laitetta (sonytv), (kohdistin) ja mitä protokollaa käytetään (muualla luokittelematon, muualla1, rc5, rc6). Se pyytää sitten peräkkäin jokaista painikkeen painallusta ja kirjoittaa tulokset sonytv-ircodes-tiedostoon. Osat voidaan toistaa tarvittaessa, jotta voidaan varmistaa, että sieppaukset ovat hyviä.. Ircodes -tiedoston bittejä voidaan muokata BitDevices -taulukoihin.
Vaihe 4: Web -ohjaus ja makrot
Verkon perusohjaus on joko yksittäinen hankinta tai json -viesti, joka voi sisältää sekvenssin.
Get to /ir: ssa on 6 parametria
- auth - sisältää valtuutuskoodin
- laite - etälaitteen nimi
- parametri - painikkeen nimi
- bittiä - valinnainen bittiluku
- toista - valinnainen toistoluku
- odota - viive msekunteina, ennen kuin seuraava komento voidaan suorittaa.
Laite voi myös olla 'nolla' saadakseen vain viiveen, 'makro' käyttää parametrin tarkoittamaa makroa tai 'havaita' käyttääkseen Alexa -tunnistusominaisuutta (katso myöhemmin).
/Irjson -viesti koostuu json -rakenteesta, kuten
{
"auth": "1234", "komennot": [{"device": "yamahaAV", "parametri": "hdmi4", "odota": "5000", "bittiä": "0", "toista": "1"}, {"device": "yamahaAV", "parametri": "mykistys", "odota": "100", "bittiä": "0", "toista": "1"}]
}
Sarja voi olla mikä tahansa pituus ja laitteet voivat olla makroviittauksia.
Samaa rakennetta voidaan käyttää makrojen määrittämiseen. Sisällytä vain makro: "macroname", ylätasolla esim. todennuksen jälkeen Todellinen sisältö tallennetaan tiedostoon nimeltä macroname.txt
Makrot voidaan poistaa määrittelemällä ne ilman "komentoja".
Muut verkkokomennot
- /viimeaikainen (luettelee viimeaikaiset toiminnot)
- /check (näyttää perustilan)
- / (lataa verkkolomakkeen komentojen lähettämiseksi manuaalisesti)
- / edit (lataa verkkolomakkeen tiedostojen luettelon katsomiseen ja tiedostojen poistamiseen/ lataamiseen)
- /edit? file = tiedostonimi (tarkista tietyn tiedoston sisältö)
- /reload (lataa uudelleen painikkeiden nimet ja laitetiedostot. Käytä minkä tahansa näiden muuttamisen jälkeen)
Vaihe 5: Alexa -ääniohjaus IFTTT: n avulla
Yksinkertaisin tapa käyttää ir Blasteria Alexan kanssa on käyttää IFTTT: tä yhdyskäytävänä.
Siirrä portti ensin reitittimessäsi käytettävään porttiin, jotta se on käytettävissä Internetistä. Voi olla hyvä käyttää dns -palvelua, kuten freedns, antaa reitittimillesi ulkoisen IP -nimen ja helpottaa sen käsittelyä, jos tämä IP -osoite muuttuu.
Luo IFTTT -tili ja ota käyttöön Maker Webhooks -kanava ja Alexa -kanava. Sinun on kirjauduttava sisään Amazon -sivustoon, kun teet tämän, jotta IFTT -yhteys voidaan ottaa käyttöön.
Luo IF -laukaisin IFTTT Alexa -kanavan avulla, valitse lauseeseen perustuva toiminto ja kirjoita haluamasi lause (esim. Äänenvoimakkuuden lisääminen).
Luo toiminto valitsemalla Maker -webhooks -kanava. Kirjoita URL -kenttään jotain
myip: port/irjson? plain = {"auth": "1234", "comm…
Tämä toiminto lähetetään ir blasterille, jossa se yrittää suorittaa makron äänenvoimakkuuden lisäämisen. Yksi voi olla tietty laite/painikkeet täällä, jos halutaan, mutta minusta on parempi määritellä ja käyttää makroja, koska silloin toimintajärjestystä voidaan helposti muuttaa vain määrittämällä makro uudelleen.
Jokaista komentoa varten tarvitaan erillinen IFTTT -sovelma.
Vaihe 6: Alkuperäinen Alexa Voice Skill
IFTTT: n sijasta voit rakentaa mukautetun taidon Alexa -kehitykseen. Tämä keskittää kaiken käsittelyn yhteen paikkaan, eikä sinun tarvitse luoda erillisiä toimintoja kullekin painikkeelle.
Sinun on rekisteröidyttävä Amazon Alexa -kehittäjäksi ja rekisteröidyttävä Amazon AWS -konsolin lambda -palveluun. Sinun on myös tarkasteltava opetusohjelmia ymmärtääksesi prosessia hieman.
Alexa -kehittäjäpuolella sinun on luotava uusi mukautettu taito, kirjoitettava sen laukaisusana ja luotava luettelo komentosanoista, kuten äänenvoimakkuuden lisäys, opas jne.
Sitten Alexa lähettää lauseen lamda -palvelussa käynnissä olevaan ohjelmaan, joka tulkitsee lauseen ja soittaa URL -kutsun Ir -blasterille toimimaan.
Olen sisällyttänyt gitassa Alexan aikomusmallin ja konsolin lambda -toiminnon. URL -osoitetta on muutettava viittaamaan sopivaan IP -osoitteeseen ja sillä on oltava oikea valtuutus. Yksinkertaisuuden vuoksi lambda -funktiot kutsuvat makron, jossa on välilyönnillä lauseen pieni kirjain. Se yrittää myös poistaa käynnistysavainsanan, joka joskus voidaan sisällyttää. Esim. blaster VOLUME up kutsuu makron nimeltä volumeup, jos laukaisusana oli blaster.
Vaihe 7: Alexa Aktivoi ilmaisin
Vaikka Echo / Dot -puheentunnistus on hyvä, se voi joskus hämmentyä, jos ääni toistetaan esimerkiksi televisiosta, ellet pääse lähelle ja puhu ääneen.
Tämän parantamiseksi lisäsin pisteeseeni aktivointitunnistimen. Heti kun avainsana (Alexa sanotaan), LED -valot syttyvät. Ilmaisin syöttää tämän blasteriin, jossa se mykistää television alexaon -makron avulla, samoin komennon käsittelyn lopussa valot sammuvat ja alexaoff -makro palauttaa äänen.
Tunnista -komennolla voidaan myös kytkeä tämä päälle ja pois päältä. Joten esimerkiksi käytän alkuperäistä käännösmakroa havainnon käyttöön ottamiseksi ja sammutusmakro sen poistamiseksi käytöstä. Tätä voidaan käyttää myös toimintamakroissa tukemaan todellista mykistystä ja mykistyksen poistamista, mikä muuten olisi ongelmallista.
Fyysinen ilmaisin on valosta riippuvainen vastus, jota piiri tukee. Asennan omani pisteeseen 3D -tulostetulla kiinnikkeellä
Suositeltava:
Useiden ESP-keskustelujen tekeminen ESP-NOW: n avulla ESP32: n ja ESP8266: n avulla: 8 vaihetta
Useiden ESP-keskustelujen tekeminen ESP-NYT: n avulla ESP32: n ja ESP8266: n avulla: Käynnissä olevassa projektissani tarvitsen useita ESP: itä puhuakseni keskenään ilman reititintä. Tätä varten käytän ESP-NOW-ohjelmaa langattoman viestinnän tekemiseen keskenään ilman ESP: n reititintä
ESP 32 -kameran suoratoistovideo WiFi: n kautta - ESP 32 CAM Boardin käytön aloittaminen: 8 vaihetta
ESP 32 -kameran suoratoistovideo WiFi-yhteydellä | ESP 32 CAM Boardin käytön aloittaminen: ESP32-CAM on hyvin pieni kameramoduuli, jossa on ESP32-S-siru ja joka maksaa noin 10 dollaria. OV2640 -kameran ja useiden oheislaitteiden liittämiseen tarkoitettujen GPIO -laitteiden lisäksi siinä on myös microSD -korttipaikka, joka voi olla hyödyllinen t
Esp 8266 Esp-01: n käytön aloittaminen Arduino IDE: n kanssa Esp -levyjen asentaminen Arduino Ide -ohjelmaan ja Esp -ohjelmointi: 4 vaihetta
Esp 8266 Esp-01: n käytön aloittaminen Arduino IDE: n kanssa Esp-levyjen asentaminen Arduino Ide -ohjelmaan ja Esp-ohjelmointi: Tässä ohjeessa opimme asentamaan esp8266-levyt Arduino IDE: hen ja kuinka ohjelmoida esp-01 ja ladata koodi siihen. tämä ja useimmat ihmiset kohtaavat ongelmia
ESP – ESP -viestintä: 4 vaihetta
ESP – ESP -viestintä: Tämä opetusohjelma auttaa sinua korvaamaan muut lähetin -vastaanotinmoduulit mihin tahansa muuhun projektiin, joka sisältää langattoman viestinnän. Käytämme ESP8266 -pohjaista korttia, toinen WiFi -STA -tilassa ja toinen WiFi -AP -tilassa, NodeMCU V3 on valintani tähän projektiin
ESP-12E- ja ESP-12F-ohjelmointi- ja kehityslautakunta: 3 vaihetta (kuvilla)
ESP-12E- ja ESP-12F-ohjelmointi- ja kehityslautakunta: Tämän kortin tehtävät olivat yksinkertaiset: Pystyt ohjelmoimaan ESP-12E- ja ESP-12F-moduulit yhtä helposti kuin NodeMCU-levyt (eli ei tarvitse painaa painikkeita). Käytä leipälautaystävällisiä tappeja, joilla on käyttökelpoinen IO. Käytä erillistä USB -sarjaliitäntää