Orodha ya maudhui:

ESP-12 Infra Red Blaster: Hatua 7
ESP-12 Infra Red Blaster: Hatua 7

Video: ESP-12 Infra Red Blaster: Hatua 7

Video: ESP-12 Infra Red Blaster: Hatua 7
Video: My journey of making a PERFECT! Universal IR Blaster 👀 2024, Julai
Anonim
ESP-12 Infra Nyekundu Blaster
ESP-12 Infra Nyekundu Blaster

Infra Red blaster ya kudhibiti kijijini kutumia esp8266

Inasafirisha nambari za kudhibiti kijijini zilizopokelewa kutoka kwa Wavuti inayounga mkono vifaa anuwai vya pato.

Imejengwa katika ukurasa rahisi wa wavuti haswa kwa majaribio.

Matumizi ya kawaida ni kupitia ujumbe wa POST ambao unaweza kutoka kwa kurasa za wavuti au kutoka kwa udhibiti wa sauti wa IFTTT / Alexa.

Inasaidia kifaa cha kuamsha kifaa cha Amazon Echo / Dot ili kunyamazisha / kutuliza mara tu wakati neno linapozungumzwa.

Amri ni amri moja au mfuatano. Mfuatano unaweza kuhifadhiwa kama macros zilizoitwa ambazo zinaweza kutumiwa kama amri au kwa mfuatano mwingine.

Historia ya hivi karibuni na orodha ya macros zinaweza kupatikana kupitia kiolesura cha wavuti

Inasaidia upakiaji wa OTA wa firmware mpya na hutumia maktaba ya WifiManager kwa usanidi wa wifi ya awali

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa

Inatumia vifaa vifuatavyo

  • Moduli ya ESP-12F
  • Mdhibiti wa 3.3V (MP2307 mini buck mdhibiti)
  • Kubadilisha MOSFET (AO3400)
  • Mtoaji wa infra Red (3mm)
  • Resistor ya Kitegemezi cha Mwanga GL2258 (Kigunduzi cha hiari cha shughuli za Alexa)
  • Resistors
  • Kupunguza capacitor (20uF)
  • Tundu la kike la USB (ikiwezekana kuwa laini na sleeve
  • 3 pini mkanda wa tundu IC kwa kigunduzi cha Alexa
  • Sehemu za mitambo (zinaweza kuchapishwa kwa 3D)

Inaweza kukusanywa kwenye sanduku la mradi wa ESP-12F

  • Ambatisha mdhibiti kwa kontakt USB na ingiza kwenye sanduku
  • Tengeneza dereva wa IR kwenye kipande kidogo cha bodi ya vero (waya 3, + 5V, 0V pembejeo la lango)
  • Unganisha dereva wa IR kwa USB + 5V, 0V
  • Ingiza tundu 3 la pini IC kwenye kisanduku cha mradi ikiwa unatumia kigunduzi cha Alexa. Unganisha kwa + 3.3V, 0V na waya kwa pembejeo
  • Tengeneza ESP-12F na 2.2K kutoka GPIO15 hadi GND, EN hadi Vdd, 4K7 GPIO13 hadi Vdd, ingizo la Alexa kwa GPIO13, dereva wa IR kwa GPIO14, 0V na Vdd hadi 3.3V
  • Tengeneza kichunguzi cha Alexa na bafa ya msaada ikiwa inahitajika.

Kumbuka inaweza kuwa rahisi kupanga programu ya ESP-12F kwanza ikiwa una aina fulani ya kituo cha programu ya serial au kituo cha upangaji mkate kwa muda mfupi kama hii kuungana na bandari za serial.

Programu inayofuata inaweza kufanywa kwa kutumia sasisho la OTA lililojengwa.

Hatua ya 2: Programu

Ir Blaster hutumia mchoro wa Arduino unaopatikana kwenye github

Hii inahitaji kurekebishwa ili kukidhi hali ya kawaida na kisha kukusanywa katika esp8266 mazingira ya Arduino.

Maktaba zifuatazo zinahitajika, nyingi ni za kawaida au zinaweza kuongezwa. Hizi mbili za mwisho zimejumuishwa kwenye git.

  • ESP8266WiFi
  • ESP8266WebServer
  • FS.h
  • DNSServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • BitTx (iliyojumuishwa katika Git)
  • BitMessages (pamoja na katika Git)

Vitu katika mchoro wa kubadilishwa ni pamoja na

  • Nambari ya idhini ya ufikiaji wa wavuti AP_AUTHID
  • Nenosiri la meneja wa Wfi WM_PASSWORD
  • nenosiri la firmware la OTA la firmware
  • Vifaa vipya vya IR / nambari za vifungo (tazama baadaye)

Mara hii itakapofanyika basi inapaswa kupakiwa kwanza kwa kutumia upakiaji wa kawaida wa kawaida.

Kama SPIFFS inatumiwa basi kumbukumbu inapaswa kutayarishwa kwa kusanikisha na kutumia zana ya kupakia data ya arduino ESP8266 Sketch Data. Hii itapakia folda ya data kama maudhui ya awali ya SPIFFS

Wakati kifaa hakiwezi kuungana na mtandao wa karibu (kama itakavyotokea mara ya kwanza) basi msimamizi wa Wifi ataunda kituo cha ufikiaji (192.168.4.1). Unganisha kwenye mtandao huu kutoka kwa simu au kompyuta kibao kisha uvinjari hadi 192.168.4.1 Utapata kiolesura cha wavuti kuungana na wifi ya ndani. Ufikiaji unaofuata utatumia hii. Mtandao ukibadilika basi itarudi kwenye hali hii ya usanidi.

Sasisho la baadaye linaweza kufanywa kwa kukusanya binary ya kuuza nje katika mazingira ya Arduino na kisha kufikia kiolesura cha OTA kwa ip / firmware.

Hatua ya 3: Ongeza Nambari za Kifaa / Kitufe

Kumbuka: Sehemu hii imebadilika kutoka kwa njia ya hapo awali ambapo usanidi ambao hapo awali ulijumuishwa kuwa nambari. Sasa hutumia faili ambazo zimepakiwa kutoka kwa mfumo wa kufungua wa SPIFFs. Hii inafanya iwe rahisi kupakia ufafanuzi mpya.

Ufafanuzi wa kifungo umejumuishwa kwenye faili ya vifungo.txt. Ni orodha ya kimataifa ya majina kwenye viboreshaji vyote vinavyotumika kwani majina mengi huwa ya kawaida. Kama inavyotolewa hii ina maelezo ya mbali ninayotumia. Maingizo mapya yanaweza kuongezwa. Kuna nafasi ya jumla ya majina 160 lakini hii inaweza kuongezeka kwa kurekebisha vipindi katika bitMessages.h na kurudia. Majina yaliyofafanuliwa hapa ni majina ya kutumiwa wakati wa kutuma amri.

Kila kifaa kijijini kinafafanuliwa katika faili inayoitwa dev_remotename. Inayo sehemu ya usanidi hapo juu halafu meza ya ramani kutoka kwa majina ya vifungo hadi nambari ambazo ni kamba za hex zilizo na bits zitakazotumwa. Ni majina ya vitufe tu yanayotakiwa kufafanuliwa.

Sehemu ya usanidi mwanzoni mwa faili ya kifaa ina vigezo vya kutumiwa wakati wa kutuma nambari. Ingizo la kwanza ni jina la jina ambalo hutumiwa wakati wa kutuma amri. Vigezo vingine vimeelezewa katika kisomaji kwenye wavuti ya nambari.

Remote nyingi ni za moja ya aina 3 za itifaki (nec, rc5 na rc6). nec labda ni ya kawaida zaidi na ina muundo rahisi wa kichwa na muda kidogo. Kuna tofauti kidogo ya hii ambayo hutofautiana tu kwa wakati wa mapigo ya kichwa. rc5 na rc6 ni itifaki zilizoainishwa na Philips lakini pia hutumiwa na wazalishaji wengine. Ni ngumu kidogo na rc6 haswa ina mahitaji maalum ya muda kwa moja ya bits.

Ili kunasa nambari za rimoti mpya ninatumia mpokeaji wa IR (TSOP) inayotumiwa sana na kuziba vipokeaji vya mbali. Hii inafanya usimbuaji wa kimsingi na inatoa pato la kiwango cha mantiki. Kawaida huja na jack ya 3.5mm na + 5V, GND, unganisho la DATA. Nilitoa dhabihu moja, nikapunguza risasi na kuiweka kwa bafa ya 3.3V ili kulisha pini ya GPIO kwenye Raspberry Pi.

Mimi hutumia zana ya chatu rxir.py (katika folda ya zana za git) kunasa nambari. Ili iwe rahisi kutumia kukamata idadi kubwa ya vifungo basi zana hutumia faili ya ufafanuzi wa maandishi kufafanua vifungo kwenye rimoti na ni majina tu ya vifungo kwenye kikundi kwenye rimoti. Kwa mfano, mtu anaweza kuwa na kijijini kipya cha Sony na mtu huweka faili za maandishi 3 zinazoitwa sonytv-cursor, sonytv-numbers, sonytv-playcontrols kila moja iliyo na majina ya vitufe husika. Chombo hicho kitasababisha kifaa (sonytv), sehemu (mshale) na itifaki gani ya kutumia (nec, nec1, rc5, rc6). Kisha itasababisha mtiririko kwa kila kitufe cha waandishi wa habari na uandike matokeo kwenye faili ya sonytv-ircodes. Sehemu zinaweza kurudiwa ikiwa inahitajika kuangalia picha ni nzuri. Bits kutoka kwa faili ya.rodes inaweza kuhaririwa kwenye meza za BitDevices.

Hatua ya 4: Udhibiti wa Wavuti na Macros

Udhibiti wa msingi wa wavuti ni moja ya kupata au chapisho la json ambalo linaweza kuwa na mlolongo.

Kufikia / ir ina vigezo 6

  • auth - iliyo na nambari ya idhini
  • kifaa - jina la kifaa cha mbali
  • parameter - jina la kifungo
  • bits - hesabu ya hiari
  • kurudia - hesabu ya kurudia hiari
  • subiri - kucheleweshwa kwa mseconds kabla ya amri inayofuata kutekelezwa.

Kifaa kinaweza pia kuwa "batili" kupata ucheleweshaji tu, 'jumla' kutumia jumla inayojulikana na parameter, au 'kugundua' kutumia huduma ya kugundua Alexa (tazama baadaye).

Chapisho kwa / irjson lina muundo wa json kama

{

"mwandishi": "1234", "amri": [{"kifaa": "yamahaAV", "parameter": "hdmi4", "subiri": "5000", "bits": "0", "kurudia": "1"}, {"kifaa": "yamahaAV", "parameter": "bubu", "subiri": "100", "bits": "0", "rudia": "1"}]

}

Mlolongo unaweza kuwa urefu wowote na vifaa vinaweza kuwa marejeleo ya jumla.

Muundo huo unaweza kutumika kufafanua macros. Jumuisha tu jumla: "macroname", kwa kiwango cha juu k.v. baada ya mwandishi. Yaliyomo halisi yanahifadhiwa kwenye faili inayoitwa macroname.txt

Macros zinaweza kufutwa kwa kuzifafanua bila "amri".

Amri zingine za wavuti

  • / hivi karibuni (orodha ya shughuli za hivi karibuni)
  • / angalia (inaonyesha hali ya msingi)
  • / (kubeba fomu ya wavuti kutuma amri kwa mikono)
  • / hariri (kubeba fomu ya wavuti kutazama orodha ya faili na kufuta / kupakia faili)
  • / edit? file = filename (angalia yaliyomo kwenye faili maalum)
  • / pakia tena (pakia upya majina ya vitufe na faili za kifaa. Tumia baada ya kubadilisha yoyote ya hizi)

Hatua ya 5: Udhibiti wa Sauti ya Alexa Kutumia IFTTT

Njia rahisi zaidi ya kutumia ir Blaster na Alexa ni kutumia IFTTT kama lango.

Bandari ya kwanza mbele bandari inayotumiwa na blaster yako kwenye router yako kwa hivyo inapatikana kutoka kwa wavuti. Inaweza kuwa nzuri kutumia huduma ya dns kama freedns kutoa ruta zako za nje ip jina na iwe rahisi kushughulikia ikiwa ip hii inabadilika.

Sanidi akaunti ya IFTTT na uwezeshe kituo cha Maker Webhooks na kituo cha Alexa. Utahitaji kuingia kwenye tovuti ya Amazon wakati utafanya hivyo kuwezesha ufikiaji wa IFTT.

Unda kichocheo cha IF ukitumia kituo cha IFTTT Alexa, chagua kitendo kulingana na kifungu cha maneno na uingize kifungu unachotaka (Kwa mfano ujiongeze).

Unda hatua kwa kuchagua kituo cha webhooks Maker. Ingiza kwenye uwanja wa URL kitu kama

myip: bandari / irjson? wazi = {"auth": "1234", "comm…

Hatua hii itatumwa kwa bl blaster ambapo itajaribu kutekeleza ujazo mkubwa. Moja inaweza kuwa kifaa / vifungo maalum hapa ikiwa inahitajika lakini naona ni bora kufafanua na kutumia macros kwa sababu basi mlolongo wa hatua unaweza kubadilishwa kwa urahisi tu kwa kufafanua upya jumla.

Applet tofauti ya IFTTT inahitajika kwa kila amri.

Hatua ya 6: Ujuzi wa Sauti ya Asili ya Alexa

Badala ya IFTTT mtu anaweza kujenga ujuzi wa kawaida ndani ya maendeleo ya Alexa. Hii inaweka usindikaji wote mahali pamoja na inamaanisha sio lazima utengeneze vitendo tofauti kwa kila kitufe.

Unahitaji kujiandikisha kama msanidi wa Amazon Alexa na unahitaji kujiandikisha na huduma ya Amazon AWS console lambda. Utahitaji pia kuangalia mafunzo ili kuelewa mchakato kidogo.

Kwa upande wa msanidi Alexa unahitaji kuunda ustadi mpya wa kitamaduni, ingiza neno lake la kuchochea na uunda orodha ya maneno ya amri kama sauti ya juu, mwongozo, n.k.

Halafu Alexa hutuma kifungu hicho kwa programu inayoendesha huduma ya lamda ambayo inatafsiri kifungu hicho na kutoa wito wa URL kwa blaster ya Ir ili kuishughulikia.

Nimejumuisha schema ya dhamira ya Alexa na koni ya lambda kazi ninayotumia kwenye git. URL itahitaji kubadilishwa ili kurejelea ip inayofaa na kuwa na idhini sahihi. Ili kuifanya iwe rahisi kazi za lambda huita macro ambayo ina nafasi iliyovuliwa toleo la kesi ndogo ya kifungu. Inajaribu pia kuondoa neno muhimu ambalo wakati mwingine linaweza kujumuishwa. Mfano. blaster VOLUME juu itaita macro inayoitwa volume ikiwa neno la kuchochea lilikuwa blaster.

Hatua ya 7: Alexa Activate Detector

Ingawa utambuzi wa sauti ya Echo / Dot ni mzuri wakati mwingine inaweza kuchanganyikiwa ikiwa sauti inacheza kutoka kwa kusema Runinga isipokuwa ukikaribia na kuongea kwa sauti.

Ili kuboresha hii niliongeza kiboreshaji cha kuamsha kwenye Dot yangu. Mara tu neno kuu (Alexa inasemwa) pete ya LED inawaka. Kichunguzi huingiza hii kwenye blaster ambapo itatumia alexaon macro kunyamazisha Televisheni, vile vile mwishoni mwa usindikaji amri taa inazima na alexaoff macro hurejesha sauti.

Amri ya 'kugundua' inaweza pia kutumika kuwasha na kuzima hii. Kwa hivyo kwa mfano mimi hutumia jumla ya turnon ya awali kuwezesha kugundua na macro ya turnoff kuizima. Hii inaweza pia kutumiwa ndani ya macro ya hatua kuunga mkono bubu halisi na unya sauti ambayo ingekuwa shida.

Kichunguzi cha kimaumbile ni kiboreshaji tegemezi nyepesi ambacho mzunguko huunga mkono. Ninaweka mgodi kwenye Dot na bracket iliyochapishwa ya 3D

Ilipendekeza: