Sisukord:

ESP-12 infrapuna-lõhkaja: 7 sammu
ESP-12 infrapuna-lõhkaja: 7 sammu

Video: ESP-12 infrapuna-lõhkaja: 7 sammu

Video: ESP-12 infrapuna-lõhkaja: 7 sammu
Video: wifi пульт для IR и RF кодов Broadlink RM4C Pro, работа в Home Assistant - управляем кондиционером 2024, Juuli
Anonim
Infrapuna-lõhkaja ESP-12
Infrapuna-lõhkaja ESP-12

Infrapuna kaugjuhtimispult, kasutades esp8266

Edastab veebist saadud kaugjuhtimispuldi koode, mis toetavad mitut väljundseadet.

Sisseehitatud lihtne veebileht peamiselt testimiseks.

Tavaline kasutamine toimub POST -sõnumite kaudu, mis võivad pärineda veebilehtedelt või IFTTT / Alexa hääljuhtimisest.

Toetab Amazon Echo / Dot aktiveerimise detektorit, et vaigistada / vaigistada kohe, kui aktiveeritud sõna on öeldud.

Käsud on kas üksikud käsud või järjestused. Järjestusi saab salvestada nimega makrodena, mida saab seejärel kasutada käskudena või muudes järjestustes.

Hiljutise ajaloo ja makrode loendi saate veebiliidese kaudu

Toetab uue püsivara OTA üleslaadimist ja kasutab WifiManageri teeki esmaseks WiFi seadistamiseks

Samm: riistvara

Riistvara
Riistvara
Riistvara
Riistvara

Kasutab järgmisi komponente

  • ESP-12F moodul
  • 3,3 V regulaator (MP2307 mini buck regulaator)
  • MOSFET -lülitid (AO3400)
  • Infrapunakiirgur (3 mm)
  • Valgusõltuv takisti GL2258 (valikuline Alexa aktiivsusandur)
  • Takistid
  • Lahutuskondensaator (20uF)
  • USB -pistikupesa (eelistatavalt varrukasõbralik joodisõbralik
  • 3 -pin IC pesa riba Alexa detektorile
  • Mehaanilised osad (saab 3D -printida)

Saab kokku panna ESP-12F projektikarpi

  • Kinnitage regulaator USB -pistiku külge ja sisestage kasti
  • Tehke infrapunajuht väikesele vero -plaadile (3 juhet, +5 V, 0 V värava sisend)
  • Ühendage IR -draiver USB +5V, 0V -ga
  • Kui kasutate Alexa detektorit, sisestage 3 -kontaktiline IC -pistik projekti kasti. Ühendage +3.3V, 0V ja sisendjuhtmega
  • Täitke ESP-12F kuni 2.2K GPIO15-st GND-ni, EN-st Vdd-ni, 4K7 GPIO13-st Vdd-ni, Alexa sisend GPIO13-sse, IR-draiver GPIO14-sse, 0V ja Vdd-3.3V
  • Täitke Alexa detektor ja vajadusel toetage puhvrit.

Pange tähele, et ESP-12F programmeerimine võib esmalt olla lihtsam, kui teil on jadaportidega ühenduse loomiseks mingisugune jadaprogrammeerimisvõimalus või ajutine leivalaua paigaldamise võimalus.

Hilisemat programmeerimist saab teha sisseehitatud OTA värskenduse abil.

Samm 2: Tarkvara

Ir Blaster kasutab Arduino visandit, mis on saadaval githubis

Seda tuleb kohandada vastavalt kohalikele tingimustele ja seejärel kompileerida esp8266 Arduino keskkonnas.

Vajalikud on järgmised teegid, enamik neist on standardsed või neid saab lisada. Kaks viimast on lisatud giti.

  • ESP8266WiFi
  • ESP8266WebServer
  • FS.h
  • DNS -server
  • ESP8266mDNS
  • ESP8266HTTPUuendusserver
  • ArduinoJson
  • BitTx (sisaldub Gitis)
  • BitMessages (sisaldub Gitis)

Eskiis muudetavad esemed hõlmavad

  • Veebile juurdepääsu autoriseerimiskood AP_AUTHID
  • Wfi halduri parool WM_PASSWORD
  • püsivara OTA parool update_password
  • Uued IR -seadmed / nupukoodid (vt hiljem)

Kui see on tehtud, tuleks see kõigepealt üles laadida tavalise jadaüleslaadimisega.

Kuna kasutatakse SPIFFS -i, tuleks mälu ette valmistada, installides ja kasutades arduino ESP8266 Sketch Data üleslaadimise tööriista. See laadib andmete kausta üles SPIFFS -i esialgse sisuna

Kui seade ei saa kohaliku võrguga ühendust luua (nagu juhtub esimest korda), loob Wifi haldur pääsupunkti (192.168.4.1). Ühendage selle võrguga telefonist või tahvelarvutist, seejärel sirvige aadressile 192.168.4.1 Saate kohaliku liidesega ühenduse loomiseks veebiliidese. Hilisemad juurdepääsud kasutavad seda. Kui kohalik võrk muutub, lülitub see tagasi sellesse konfigureerimisrežiimi.

Hilisemat värskendamist saab teha, koostades ekspordibinaari Arduino keskkonnas ja avades seejärel OTA liidese aadressil ip/firmware.

Samm: lisage seadme / nupu koodid

Märkus. See jaotis on eelmisest meetodist muutunud, kus konfiguratsioon, mis oli eelnevalt koodiks kompileeritud. Nüüd kasutab see SPIFF -failide failisüsteemist laaditud faile. See muudab uute määratluste üleslaadimise palju lihtsamaks.

Nupumääratlused sisalduvad failis buttonnames.txt. See on kõigi kasutatavate kaugjuhtimispultide nimede üldine nimekiri, kuna paljud nimed kipuvad olema tavalised. Komplekti kuulub see teave minu kasutatavate kaugjuhtimispultide kohta. Uusi kirjeid saab lisada. Kokku on ruumi 160 nimele, kuid seda saab suurendada bitMessages.h konstandite reguleerimise ja uuesti kompileerimise teel. Siin määratletud nimed on nimed, mida kasutatakse käskude saatmisel.

Iga kaugseade on määratletud failis nimega dev_remotename. See koosneb konfiguratsiooniosast ülaosas ja seejärel kaardistustabelist, mis koosneb nuppude nimedest koodideni, mis on kuusnurksed stringid, mis sisaldavad saadetavaid bitte. Tuleb määratleda ainult nõutavad nupunimed.

Seadmefaili alguses olev konfiguratsiooniosa sisaldab parameetreid, mida tuleb koodi saatmisel kasutada. Esimene kirje on seadme nimi, mida kasutatakse käsu saatmisel. Teisi parameetreid kirjeldatakse koodisaidi readme -s.

Enamik kaugjuhtimispulte kuulub ühte kolmest protokollikategooriast (mujal liigitamata, rc5 ja rc6). Nec on ilmselt kõige tavalisem ja sellel on lihtne päise struktuur ja bittide ajastamine. Sellel on väike variant, mis erineb ainult päise impulsi ajastusest. rc5 ja rc6 on Philipsi määratletud protokollid, kuid neid kasutavad ka mõned teised tootjad. Need on veidi keerukamad ja eriti rc6 -l on ühe biti jaoks eriline ajastusnõue.

Uue kaugjuhtimispuldi koodide jäädvustamiseks kasutan infrapuna vastuvõtjat (TSOP), mida tavaliselt kasutatakse koos kaugjuhtimispuldiga. See teeb põhilise dekodeerimise ja annab loogilise taseme väljundi. Tavaliselt on neil 3,5 mm pistik, millel on +5 V, GND, DATA ühendused. Ma ohverdasin ühe, lühendasin juhtmestikku ja panin selle ümberpööratavasse 3,3 V puhvrisse, et toita Raspberry Pi GPIO -nööpi.

Seejärel kasutan koodide püüdmiseks pythoni tööriista rxir.py (kaustas git tools). Suure hulga nuppude jäädvustamise hõlbustamiseks kasutab tööriist kaugjuhtimispuldi nuppude määratlemiseks teksti määratlusfaili ja on lihtsalt kaugjuhtimispuldi rühma nuppude nimed. Näiteks võib teil olla uus Sony kaugjuhtimispult ja üks seadistab 3 tekstifaili, mida nimetatakse sonytv-kursoriks, sonytv-numbriteks ja sonytv-playcontrols, kusjuures igaüks sisaldab vastavaid nuppude nimesid. Tööriist küsib seadet (sonytv) (kursor) ja millist protokolli kasutada (mujal liigitamata, mujal liigitamata, rc5, rc6). Seejärel küsib see järjestikku iga nupuvajutuse kohta ja kirjutab tulemused sonytv-ircodes faili. Lõikeid saab vajadusel korrata, et kontrollida, kas pildid on head. Faili.ircodes bitte saab muuta BitDevices tabelites.

Samm: veebikontroll ja makrod

Põhiline veebikontroll on kas üks hankimine või json -postitus, mis võib sisaldada jada.

Get to /ir sisaldab 6 parameetrit

  • auth - sisaldab autoriseerimiskoodi
  • seade - kaugseadme nimi
  • parameeter - nupu nimi
  • bitti - valikuline bitide arv
  • kordus - valikuline korduste arv
  • oota - viivitus msekundites enne järgmise käsu täitmist.

Seade võib olla ka „null”, et saada ainult viivitus, „makro”, et kasutada parameetrile viidatud makro, või „tuvastada”, et kasutada Alexa tuvastusfunktsiooni (vt hiljem).

Postitus /irjson koosneb sellisest json -struktuurist nagu

{

"auth": "1234", "käsud": [{"seade": "yamahaAV", "parameeter": "hdmi4", "oota": "5000", "bitti": "0", "korda": "1"}, {"seade": "yamahaAV", "parameeter": "vaigista", "oota": "100", "bitti": "0", "korda": "1"}]

}

Järjestus võib olla mis tahes pikkusega ja seadmed võivad olla makroviited.

Makrode määratlemiseks võib kasutada sama struktuuri. Lihtsalt lisage makro: "macroname", tipptasemel nt. pärast autentimist Tegelik sisu salvestatakse faili nimega macroname.txt

Makrosid saab kustutada, määratledes need ilma käsklusteta.

Muud veebikäsklused

  • /Recent (loetleb hiljutised tegevused)
  • /check (näitab põhiseisundit)
  • / (laadib veebivormi käskude käsitsi saatmiseks)
  • / edit (laadib veebivormi failide loendi vaatamiseks ja failide kustutamiseks/ üleslaadimiseks)
  • /edit? file = failinimi (vaadake konkreetse faili sisu)
  • /reload (laadib uuesti nupunimed ja seadmefailid. Kasutage pärast nende muutmist)

Samm: Alexa hääljuhtimine IFTTT abil

Lihtsaim viis ir Blasteri kasutamiseks koos Alexaga on IFTTT kasutamine lüüsina.

Esmalt suunake oma ruuteris teie lõhkajale kasutatud port edasi, nii et see on Internetist juurdepääsetav. Võib olla hea kasutada dns -teenust, näiteks freedns, et anda oma ruuteritele väline IP -aadress ja hõlbustada selle muutmist.

Seadistage IFTTT konto ja lubage kanal Maker Webhooks ja Alexa. IFTT -i juurdepääsu võimaldamiseks peate seda Amazonase saidile sisse logima.

Looge IFTTT Alexa kanali abil IF -päästik, valige fraasi põhjal toiming ja sisestage soovitud fraas (nt helitugevuse suurendamine).

Tehke toiming, valides kanali Makeri veebihaagid. Sisestage URL -i väljale midagi sellist

myip: port/irjson? plain = {"auth": "1234", "comm…

See toiming saadetakse ir blasterile, kus see proovib makro helitugevust täita. Soovi korral võib siin olla konkreetne seade/nupud, kuid ma leian, et makrod on parem määratleda ja kasutada, sest siis saab toimingute järjestust hõlpsasti muuta, lihtsalt makro uuesti määratledes.

Iga käsu jaoks on vaja eraldi IFTTT apletti.

6. samm: emakeelne Alexa hääloskus

IFTTT asemel saab Alexa arenduses luua kohandatud oskusi. See koondab kogu töötlemise ühte kohta ja tähendab, et te ei pea iga nupu jaoks eraldi toiminguid looma.

Peate registreeruma Amazon Alexa arendajaks ja registreeruma Amazon AWS konsooli lambda teenuses. Protsessi natuke mõistmiseks peate vaatama ka õpetusi.

Alexa arendaja poolel peate looma uue kohandatud oskuse, sisestama selle käivitussõna ja looma käsusõnade loendi, nagu helitugevuse suurendamine, juhend jne.

Seejärel saadab Alexa fraasi lamda -teenuses töötavale programmile, mis tõlgendab fraasi ja teeb URL -i üleskutse Ir blasterile, et see toimiks.

Olen lisanud giti Alexa kavatsusskeemi ja konsooli lambda funktsiooni, mida kasutan. URL -i tuleb muuta, et viidata sobivale IP -le ja omada õiget volitust. Lihtsuse huvides kutsub lambda funktsioon makrot, millel on tühikust tühjendatud fraasi versioon. Samuti proovitakse eemaldada käivitav märksõna, mida mõnikord kaasata saab. Nt. blaster VOLUME up kutsub helitugevuse suurendamiseks makro, kui käivitussõna oli blaster.

Samm: Alexa aktiveerib detektori

Kuigi Echo / Dot häältuvastus on hea, võib see mõnikord segadusse sattuda, kui heli mängib näiteks telerist, kui te ei lähe lähedale ega räägi valjusti.

Selle parandamiseks lisasin oma punktile aktiveerimisdetektori. Niipea kui märksõna (Alexa on öeldud) süttib valgusdioodide rõngas. Detektor sisestab selle plahvatusseadmesse, kus ta kasutab teleri vaigistamiseks alexaon makro, samamoodi käsu töötlemise lõppedes tuled kustuvad ja alexaoff makro taastab heli.

Käsku „tuvasta” saab kasutada ka selle sisse- ja väljalülitamiseks. Näiteks kasutan tuvastamise lubamiseks esialgset pöördekrooni ja selle keelamiseks väljalülitusmakro. Seda saab kasutada ka toimingumakros, et toetada tõelist vaigistamist ja vaigistamist, mis muidu oleks problemaatiline.

Füüsiline detektor on valgusest sõltuv takisti, mida vooluring toetab. Ma paigaldan oma 3D -prinditud klambriga punktile

Soovitan: