Мазмұны:

ESP-12 инфрақызыл жарылғыш: 7 қадам
ESP-12 инфрақызыл жарылғыш: 7 қадам

Бейне: ESP-12 инфрақызыл жарылғыш: 7 қадам

Бейне: ESP-12 инфрақызыл жарылғыш: 7 қадам
Бейне: инфракрасный переключатель 12 - 24 вольта 2024, Шілде
Anonim
ESP-12 инфрақызыл жарылғыш
ESP-12 инфрақызыл жарылғыш

Esp8266 көмегімен Infra Red қашықтан басқару пульті

Бірнеше шығыс құрылғыларын қолдайтын вебтен алынған қашықтан басқару кодтарын жібереді.

Негізінен тестілеу үшін қарапайым веб -бетте салынған.

Қалыпты пайдалану веб -беттерден немесе IFTTT / Alexa дауысты басқаруынан келетін POST хабарламалары арқылы жүзеге асады.

Amazon Echo / Dot белсендіру детекторын қолдайды, ол сөзді айтқан кезде дыбысты өшіреді / тыныштандырады.

Командалар - бұл жеке командалар немесе тізбектер. Кезектіліктерді макростар ретінде сақтауға болады, оларды командалар немесе басқа тізбектер ретінде пайдалануға болады.

Соңғы тарих пен макростардың тізімін веб -интерфейс арқылы алуға болады

Жаңа микробағдарламаны OTA жүктеуді қолдайды және Wi -Fi желісін бастапқы орнату үшін WifiManager кітапханасын қолданады

1 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Келесі компоненттерді қолданады

  • ESP-12F модулі
  • 3.3В реттегіш (MP2307 мини бак реттеуіш)
  • MOSFET қосқыштары (AO3400)
  • Инфрақызыл сәуле шығарғыш (3 мм)
  • Жарыққа тәуелді резистор GL2258 (қосымша белсенділік детекторы)
  • Резисторлар
  • Конденсаторды ажырату (20uF)
  • Әйелдердің USB розеткасы (жақсырақ жеңімен дәнекерленген
  • Alexa детекторына арналған 3 істікшелі IC розеткасы
  • Механикалық бөлшектер (3D басып шығаруға болады)

ESP-12F жобалық қорапқа жинауға болады

  • Реттегішті USB қосқышына бекітіп, қорапқа салыңыз
  • ВР тақтасының кішкене бөлігінде ИҚ драйверін жасаңыз (3 сым, +5В, 0В қақпа кірісі)
  • IR драйверін USB +5V, 0V -ге қосыңыз
  • Егер Alexa детекторын қолдансаңыз, жобалық қорапқа 3 істікшелі IC ұяшығын салыңыз. +3.3V, 0V және кіріс сымына қосылыңыз
  • ESP-12F құрыңыз, GPIO15-GND, EN-Vdd, 4K7 GPIO13-Vdd, Alexa-GPIO13, IR драйвер-GPIO14, 0V және Vdd-3.3V дейін 2.2K.
  • Қажет болса, Alexa детекторын және қолдау буферін жасаңыз.

Естеріңізге сала кетейік, егер сізде сериялық порттарға қосылу үшін сериялық бағдарламалау немесе уақытша табақша қондырғысы болса, алдымен ESP-12F бағдарламалау оңай болады.

Кейінгі бағдарламалауды OTA кіріктірілген жаңартуы арқылы жасауға болады.

2 -қадам: Бағдарламалық қамтамасыз ету

Ir Blaster github -да қол жетімді Arduino эскизін қолданады

Бұл жергілікті жағдайларға сәйкес түзетілуі керек, содан кейін esp8266 Arduino ортасында құрастырылады.

Келесі кітапханалар қажет, олардың көпшілігі стандартты немесе қосылуы мүмкін. Гитке соңғы екеуі кіреді.

  • ESP8266WiFi
  • ESP8266WebServer
  • FS.h
  • DNSServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • BitTx (Git құрамына кіреді)
  • BitMessages (Git құрамына кіреді)

Өзгертілетін эскиздегі элементтер кіреді

  • AP_AUTHID вебке кіру үшін авторизация коды
  • Wfi менеджерінің құпия сөзі WM_PASSWORD
  • микробағдарлама OTA құпия сөзі update_password
  • Жаңа IR құрылғылары / түйме кодтары (кейінірек қараңыз)

Бұл әрекетті орындағаннан кейін оны алдымен дәстүрлі сериялық жүктеу арқылы жүктеу керек.

SPIFFS қолданылғандықтан, жады arduino ESP8266 Sketch Data жүктеу құралын орнату және қолдану арқылы дайындалуы керек. Бұл деректер қалтасын SPIFFS бастапқы мазмұны ретінде жүктейді

Егер құрылғы жергілікті желіге қосыла алмаса (бірінші рет болады), Wifi менеджері кіру нүктесін жасайды (192.168.4.1). Бұл желіге телефоннан немесе планшеттен қосылыңыз, содан кейін 192.168.4.1 сайтына өтіңіз, сіз жергілікті Wi -Fi желісіне қосылу үшін веб -интерфейске ие боласыз. Кейінгі кірулер мұны қолданады. Егер жергілікті желі өзгерсе, ол қайтадан осы конфигурация режиміне ауысады.

Кейінгі жаңарту Arduino ортасында экспорттық екілік файлды құрастыру, содан кейін OTA интерфейсіне ip/микробағдарламада қатынасу арқылы жасалуы мүмкін.

3 -қадам: Құрылғы / түйме кодтарын қосыңыз

Ескерту: Бұл бөлім бұрын кодқа құрастырылған конфигурацияның алдыңғы әдісінен өзгерді. Ол қазір SPIFF файлдық жүйесінен жүктелген файлдарды пайдаланады. Бұл жаңа анықтамаларды жүктеуді айтарлықтай жеңілдетеді.

Түймешік анықтамалары buttonnames.txt файлына енгізілген. Бұл барлық қашықтан басқару пультіндегі атаулардың жаһандық тізімі, өйткені көптеген атаулар жиі кездеседі. Жеткізілгендей, бұл мен қолданатын қашықтан басқару пультінің мәліметтерін қамтиды. Жаңа жазбаларды қосуға болады. Барлығы 160 атау үшін бос орын бар, бірақ оны bitMessages.h ішіндегі тұрақтылықты реттеу және қайта жинау арқылы көбейтуге болады. Мұнда анықталған атаулар - командаларды жіберу кезінде қолданылатын атаулар.

Әрбір қашықтағы құрылғы dev_remotename деп аталатын файлда анықталады. Ол жоғарғы жағындағы конфигурация бөлімінен, содан кейін жіберілетін биттерді қамтитын он алтылық жолдар болып табылатын код атауларынан салыстыру кестесінен тұрады. Тек қажетті түйме атауларын анықтау қажет.

Құрылғы файлының басындағы конфигурация бөлімінде кодты жіберу кезінде қолданылатын параметрлер бар. Бірінші жазба - пәрменді жіберу кезінде қолданылатын құрылғы атауы. Басқа параметрлер код сайтындағы менеджментте сипатталған.

Қашықтан басқару құралдарының көпшілігі 3 протокол санатының біріне жатады (nec, rc5 және rc6). nec, бәлкім, ең кең таралған және қарапайым тақырып құрылымы мен бит уақытына ие. Оның импульстік уақытында ғана ерекшеленетін шамалы нұсқасы бар. rc5 және rc6 - Philips анықтаған, бірақ басқа өндірушілер қолданатын хаттамалар. Олар сәл күрделірек және rc6 -да биттердің біреуі үшін арнайы уақыт талаптары бар.

Жаңа қашықтан басқару пультінің кодтарын түсіру үшін мен қашықтан қабылдағыштарды қосқанда жиі қолданылатын IR қабылдағышты (TSOP) қолданамын. Бұл негізгі декодтауды жасайды және логикалық деңгейдің шығуын береді. Әдетте олар +5V, GND, DATA қосылымдары бар 3,5 мм ұяшықпен келеді. Мен Raspberry Pi -ге GPIO түйреуішін беру үшін біреуін құрбан етті, қорғасынды қысқартып, 3,3В инверторлы буферге қойдым.

Содан кейін кодтарды түсіру үшін rxir.py (git tools қалтасында) python құралын қолданамын. Көптеген түймелерді басып алуды жеңілдету үшін құрал қашықтан басқару пультіндегі түймелерді анықтау үшін мәтінді анықтайтын файлды пайдаланады және бұл қашықтан басқару пультіндегі топтағы түймелердің атауы. Мысалы, Sony-дің жаңа қашықтан басқару пульті болуы мүмкін, ал әрқайсысында тиісті түймешіктердің атаулары бар sonytv-курсор, sonytv-сандары, sonytv-ойнату элементтері деп аталатын 3 мәтіндік файл орнатылады. Құрал құрылғыны (sonytv), бөлімді шақырады. (курсор) және қандай протоколды қолдану керек (nec, nec1, rc5, rc6). Содан кейін ол әр түймені басуды сұрайды және нәтижелерді sonytv-ircodes файлына жазады. Егер суреттің жақсы екенін тексеру қажет болса, бөлімдерді қайталауға болады.. Ircodes файлының биттерін BitDevices кестелерінде өңдеуге болады.

4 -қадам: веб -басқару және макростар

Негізгі веб -басқару - бұл бір рет алу немесе бірізділікті қамтитын json хабарламасы.

Get /ir параметрінде 6 параметр бар

  • авторизация коды бар
  • құрылғы - қашықтағы құрылғының атауы
  • параметр - батырманың атауы
  • бит - міндетті емес бит саны
  • қайталау - міндетті емес қайталау саны
  • күту - келесі пәрменді орындауға дейін секунд секундындағы кідіріс.

Сондай -ақ, кідірісті алу үшін құрылғы «нөл» болуы мүмкін, параметрмен көрсетілген макросты пайдалану үшін «макро» немесе Alexa анықтау мүмкіндігін пайдалану үшін «анықтау» болуы мүмкін (кейінірек қараңыз).

/Irjson поштасы json құрылымынан тұрады

{

«авторлық»: «1234», «командалар»: [{«құрылғы»: «yamahaAV», «параметр»: «hdmi4», «күту»: «5000», «бит»: «0», «қайталау»: «1»}, {«құрылғы»: «yamahaAV», «параметр»: «дыбысты өшіру», «күту»: «100», «бит»: «0», «қайталау»: «1»}]

}

Кезек кез келген ұзындықта болуы мүмкін, ал құрылғылар макро сілтемелер болуы мүмкін.

Сол құрылым макростарды анықтау үшін қолданылуы мүмкін. Тек макросты қосыңыз: «макронамы», жоғарғы деңгейде, мысалы. авторизациядан кейін. Нақты мазмұн macroname.txt деп аталатын файлда сақталады

Макростарды «командаларсыз» анықтау арқылы жоюға болады.

Басқа веб -командалар

  • /соңғы (соңғы әрекеттерді тізімдейді)
  • /тексеру (негізгі күйді көрсетеді)
  • / (командаларды қолмен жіберу үшін веб -форманы жүктейді)
  • / өңдеу (файлдар тізімін қарау және файлдарды жою/ жүктеу үшін веб -пішінді жүктейді)
  • /edit? file = файл атауы (белгілі бір файлдың мазмұнын қарау)
  • /қайта жүктеу (түйме атаулары мен құрылғы файлдарын қайта жүктейді. Олардың кез келгенін өзгерткеннен кейін пайдаланыңыз)

5 -қадам: IFTTT көмегімен Alexa дауысты басқару

IR Blaster -ді Alexa -мен қолданудың ең қарапайым жолы - IFTTT -ті шлюз ретінде пайдалану.

Алғашқы порт маршрутизаторда сіздің бластеріңізге қолданылатын портты жібереді, сондықтан оған интернеттен қол жетімді. Маршрутизаторларға сыртқы IP атауын беру және егер бұл IP өзгерсе, оны басқаруды жеңілдету үшін liberns сияқты dns қызметін пайдалану жақсы болар еді.

IFTTT есептік жазбасын орнатыңыз және Maker Webhooks арнасы мен Alexa арнасын қосыңыз. IFTT қатынасын қосу үшін Amazon сайтына кіру қажет болады.

IFTTT Alexa арнасының көмегімен IF триггерін жасаңыз, фразаға негізделген әрекетті таңдап, қажетті фразаны енгізіңіз (мысалы, дыбыс деңгейін жоғарылату).

Maker webhooks арнасын таңдау арқылы әрекетті жасаңыз. URL өрісіне ұқсас нәрсені енгізіңіз

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

Бұл әрекет ir blaster -ге жіберіледі, онда ол макрос көлемін орындауға тырысады. Қажет болса, мұнда арнайы құрылғы/түймелер болуы мүмкін, бірақ мен макростарды анықтап, қолданған дұрыс деп ойлаймын, себебі макросты қайта анықтау арқылы әрекеттер тізбегін оңай өзгертуге болады.

Әрбір пәрмен үшін бөлек IFTTT апплеті қажет.

6 -қадам: Alexa дыбыстық дағдысы

IFTTT орнына Alexa әзірлемесінде жеке дағдыларды қалыптастыруға болады. Бұл барлық өңдеуді бір жерге жинақтайды және әр түйме үшін бөлек әрекеттер жасаудың қажеті жоқ дегенді білдіреді.

Сіз Amazon Alexa әзірлеушісі ретінде тіркелуіңіз керек және Amazon AWS консольдық lambda қызметіне тіркелуіңіз керек. Процесті түсіну үшін сізге оқулықтарды қарау қажет.

Alexa әзірлеуші жағында сізге жаңа дағдылар жасау керек, оның іске қосу сөзін енгізу және дыбыс деңгейін жоғарылату, нұсқаулық және т.б сияқты командалық сөздердің тізімін жасау қажет.

Содан кейін Alexa фразаны lamda қызметінде жұмыс істейтін бағдарламаға жібереді, ол фразаны түсіндіреді және оны іске қосу үшін Ir blaster -ге URL шақырады.

Мен гитада қолданатын Alexa ниет схемасы мен консоль lambda функциясын қостым. Тиісті IP -ге сілтеме жасау және дұрыс авторизацияға ие болу үшін URL мекенжайын өзгерту қажет болады. Қарапайым болу үшін лямбда функциялары фразаның кіші әріптерінің бос орындары бар макросты шақырады. Ол кейде қосылуы мүмкін триггер кілт сөзін жоюға тырысады. Мысалы, blaster VOLUME up, егер триггер сөзі жарылғыш болса, volumup деп аталатын макросты шақырады.

7 -қадам: Alexa детекторды іске қосыңыз

Echo / Dot дауысты тану жақсы болғанымен, егер дыбыс теледидардан ойнап тұрса, егер сіз жақын келмесеңіз және қатты айтпасаңыз, кейде шатастыруға болады.

Мұны жақсарту үшін мен нүктеге активтендіру детекторын қостым. (Alexa деп аталады) кілт сөзі жарық диодтардың сақинасы жанады. Детектор мұны бластерге береді, онда теледидардың дыбысын өшіру үшін alexaon макросы қолданылады, сол сияқты команданы өңдеудің соңында шамдар сөнеді және алексофор макросы дыбысты қалпына келтіреді.

Мұны қосу және өшіру үшін 'анықтау' пәрменін қолдануға болады. Мәселен, мен анықтауды қосу үшін бастапқы turnon макросын қолданамын, ал ажырату үшін макросты қолданамын. Бұл әрекетті макростарда нағыз дыбысты өшіруді және өшіруді қолдау үшін қолдануға болады, әйтпесе қиын болады.

Физикалық детектор - бұл тізбек қолдайтын жарыққа тәуелді резистор. Мен шахтамды нүктеге 3D басып шығарылған жақша арқылы орнатамын

Ұсынылған: