Բովանդակություն:
- Քայլ 1: Սարքավորումներ
- Քայլ 2: Softwareրագրակազմ
- Քայլ 3: Ավելացրեք սարքի / կոճակի կոդեր
- Քայլ 4: Վեբ վերահսկում և մակրոներ
- Քայլ 5: Alexa ձայնային կառավարում IFTTT- ի միջոցով
- Քայլ 6: Մայրենի Alexa ձայնային հմտություն
- Քայլ 7: Alexa- ի ակտիվացման դետեկտոր
Video: ESP-12 Infra Red Blaster: 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Ինֆրակարմիր հեռակառավարման բլաստեր ՝ օգտագործելով esp8266
Փոխանցում է վեբից ստացված հեռակառավարման կոդերը, որոնք աջակցում են բազմաթիվ ելքային սարքեր:
Կառուցված է պարզ վեբ էջ հիմնականում փորձարկման համար:
Սովորական օգտագործումը կատարվում է POST հաղորդագրությունների միջոցով, որոնք կարող են գալ վեբ էջերից կամ IFTTT / Alexa ձայնային հսկողությունից:
Աջակցում է Amazon Echo / Dot- ի ակտիվացման դետեկտորին ՝ խոսքն ակտիվացնելուն պես լռելու / լռեցնելու համար:
Հրամանները կամ առանձին հրամաններ են, կամ հաջորդականություններ: Հաջորդականությունները կարող են պահվել որպես մակրոներ, որոնք կարող են օգտագործվել որպես հրամաններ կամ այլ հաջորդականություններ:
Վերջին պատմությունը և մակրոների ցանկը կարելի է ձեռք բերել վեբ ինտերֆեյսի միջոցով
Աջակցում է նոր որոնվածի OTA- ի բեռնումին և օգտագործում է WifiManager գրադարանը նախնական wifi տեղադրման համար
Քայլ 1: Սարքավորումներ
Օգտագործում է հետևյալ բաղադրիչները
- ESP-12F մոդուլ
- 3.3V կարգավորիչ (MP2307 mini buck կարգավորիչ)
- MOSFET անջատիչներ (AO3400)
- Ինֆրակարմիր ճառագայթիչ (3 մմ)
- Լուսից կախված դիմադրություն GL2258 (ըստ ցանկության Alexa գործունեության դետեկտոր)
- Ռեզիստորներ
- Կոնդենսատորի անջատում (20uF)
- USB կանացի վարդակից (նախընտրելի է զոդել թևի հետ միասին)
- 3 պին IC վարդակից ՝ Alexa դետեկտորի համար
- Մեխանիկական մասեր (կարող են 3D տպագրվել)
Կարող է հավաքվել ESP-12F նախագծի տուփի մեջ
- Կարգավորիչը ամրացրեք USB միակցիչին և տեղադրեք տուփի մեջ
- Կազմեք IR վարորդը vero տախտակի փոքր կտորի վրա (3 լար, +5V, 0V դարպասի մուտք)
- IR վարորդը միացրեք USB +5V, 0V
- Տեղադրեք 3 պին IC վարդակից ծրագրի տուփի մեջ, եթե օգտագործում եք Alexa դետեկտոր: Մուտքի համար միացեք +3.3 Վ, 0 Վ և լարին
- Կազմեք ESP-12F 2.2K- ով GPIO15- ից GND, EN- ից Vdd, 4K7 GPIO13- ից Vdd, Alexa մուտքագրում GPIO13- ին, IR վարորդին GPIO14- ին, 0V- ով և Vdd- ից մինչև 3.3V
- Կազմեք Alexa դետեկտոր և անհրաժեշտության դեպքում աջակցեք բուֆերը:
Ուշադրություն դարձրեք, նախ կարող եք ավելի հեշտ ծրագրավորել ESP-12F- ը, եթե սերիական նավահանգիստներին միանալու համար ունեք սերիական ծրագրավորման ինչ-որ հաստատություն կամ նմանատիպ հացաբուլկեղենի ժամանակավոր հաստատություն:
Հետագա ծրագրավորումը կարող է կատարվել `օգտագործելով ներկառուցված OTA թարմացումը:
Քայլ 2: Softwareրագրակազմ
Ir Blaster- ը օգտագործում է Arduino էսքիզ, որը հասանելի է github- ում
Սա պետք է ճշգրտվի, որպեսզի համապատասխանի տեղական պայմաններին, այնուհետև կազմվի esp8266 Arduino միջավայրում:
Հետևյալ գրադարաններն անհրաժեշտ են, դրանցից շատերը ստանդարտ են կամ կարող են ավելացվել: Վերջին երկուսը ներառված են git- ում:
- 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 հասցեով: Տեղական wifi ցանցին միանալու համար կստանաք վեբ ինտերֆեյս: Հետագա մուտքերը կօգտագործեն սա: Եթե տեղական ցանցը փոխվի, այն կվերադառնա այս կազմաձևման ռեժիմին:
Հետագա թարմացումը կարող է կատարվել ՝ կազմելով արտահանման երկուական Arduino միջավայրում, այնուհետև մուտք գործելով OTA ինտերֆեյս ip/որոնվածով:
Քայլ 3: Ավելացրեք սարքի / կոճակի կոդեր
Նշում. Այս բաժինը փոխվել է նախորդ մեթոդից, որտեղ նախկինում կազմված էր ծածկագրին: Այժմ այն օգտագործում է ֆայլեր, որոնք բեռնված են SPIFFs ֆայլերի համակարգից: Սա շատ ավելի հեշտացնում է նոր սահմանումների վերբեռնումը:
Կոճակի սահմանումները ներառված են buttonnames.txt ֆայլում: Այն օգտագործվող բոլոր հեռակառավարվող անվանումների գլոբալ ցուցակ է, քանի որ շատ անուններ հակված են սովորական լինել: Ինչպես տրամադրված է, այն պարունակում է մանրամասներ, որոնք ես օգտագործում եմ: Նոր գրառումներ կարող են ավելացվել: Ընդհանուր առմամբ 160 անուն կա, բայց դա կարող է ավելացվել bitMessages.h- ում հաստատունները ճշգրտելով և նորից կազմելով: Այստեղ սահմանված անուններն այն անուններն են, որոնք պետք է օգտագործվեն հրամաններ ուղարկելու ժամանակ:
Յուրաքանչյուր հեռավոր սարք սահմանվում է dev_remotename անունով ֆայլում: Այն բաղկացած է կազմաձևման վերևից, այնուհետև քարտեզագրման աղյուսակից ՝ կոճակների անուններից մինչև ծածկագրեր, որոնք վեցանկյուն տողեր են, որոնք պարունակում են ուղարկվող բիթերը: Պետք է սահմանել միայն պահանջվող կոճակների անունները:
Սարքի ֆայլի սկզբում կազմաձևման բաժինը պարունակում է պարամետրեր, որոնք պետք է օգտագործվեն ծածկագիր ուղարկելու ժամանակ: Առաջին մուտքն այն անվան անունն է, որն օգտագործվում է հրաման ուղարկելու ժամանակ: Այլ պարամետրեր նկարագրված են կոդի կայքում ՝ readme- ում:
Հեռակառավարման վահանակների մեծ մասը պատկանում է արձանագրությունների 3 կատեգորիաներից մեկին (nec, rc5 և rc6): nec- ը, ամենայն հավանականությամբ, ամենատարածվածն է և ունի վերնագրի պարզ կառուցվածք և բիթերի ժամանակ: Կա դրա մի փոքր տարբերակ, որը տարբերվում է միայն վերնագրի զարկերակային ժամանակաչափով: rc5 և rc6- ը Philips- ի կողմից սահմանված արձանագրություններ են, բայց նաև օգտագործվում են որոշ այլ արտադրողների կողմից: Նրանք մի փոքր ավելի բարդ են, և rc6- ը, մասնավորապես, բիթերից մեկի համար ունի ժամանակի հատուկ պահանջ:
Նոր հեռակառավարման կոդերը գրավելու համար ես օգտագործում եմ IR ընդունիչ (TSOP), որը սովորաբար օգտագործվում է հեռակառավարիչ սարքերի միացման միջոցով: Սա կատարում է հիմնական վերծանումը և տալիս տրամաբանական մակարդակի ելք: Սովորաբար դրանք գալիս են 3,5 մմ խցիկով ՝ +5V, GND, DATA միացումներով: Ես զոհաբերեցի մեկը, կրճատեցի կապարը և դրեցի այն շրջադարձային 3.3 Վ բուֆերի միջով, որպեսզի GPIO կապը կերակրեմ Raspberry Pi- ով:
Այնուհետև ես օգտագործում եմ python գործիք rxir.py (git գործիքների թղթապանակում) ՝ կոդեր գրավելու համար: Մեծ թվով կոճակներ գրավելն ավելի դյուրին դարձնելու համար գործիքը տեքստի սահմանման ֆայլ է օգտագործում ՝ հեռակառավարման կոճակները սահմանելու համար և դա հեռակառավարման վահանակի մի խմբի կոճակների անուններն են: Օրինակ, մեկը կարող է ունենալ Sony- ի նոր հեռակառավարիչ և ստեղծել 3 տեքստային ֆայլ, որոնք կոչվում են sonytv- կուրսոր, sonytv- համարներ, sonytv-playcontrols, որոնցից յուրաքանչյուրը `համապատասխան կոճակի անուններով: Գործիքը կհրավիրի սարքի (sonytv), հատվածի մասին: (կուրսորը) և որն արձանագրություն օգտագործել (nec, nec1, rc5, rc6): Այնուհետև յուրաքանչյուր կոճակի համար հաջորդաբար կհրավիրվի և արդյունքներ կգրի sonytv-ircodes ֆայլին: Բաժինները կարող են կրկնվել, եթե պահանջվում է `ստուգելու, որ գրավումները լավն են:. Ircodes ֆայլից բիթերը կարող են խմբագրվել BitDevices աղյուսակներում:
Քայլ 4: Վեբ վերահսկում և մակրոներ
Հիմնական վեբ հսկողությունը կամ մեկ get է, կամ json գրառում, որը կարող է պարունակել հաջորդականություն:
Get to /ir- ն ունի 6 պարամետր
- author - պարունակում է թույլտվության ծածկագիր
- սարք - հեռավոր սարքի անվանումը
- պարամետր - կոճակի անունը
- բիթ - բիտերի ընտրովի հաշվարկ
- կրկնել - կրկնվող պարտադիր հաշվարկ
- սպասել - mseconds- ի ուշացում, մինչև հաջորդ հրամանը կատարվի:
Սարքը կարող է լինել նաև «անվավեր» ՝ ընդամենը ուշացում ստանալու համար, «մակրո» ՝ պարամետրով նշված մակրոտն օգտագործելու համար, կամ «հայտնաբերել» ՝ Alexa- ի հայտնաբերման գործառույթն օգտագործելու համար (տե՛ս ավելի ուշ):
/Irjson- ին ուղղված գրառումը բաղկացած է նման json կառուցվածքից
{
"auth": "1234", "հրամաններ": [{"սարք": "yamahaAV", "պարամետր" ՝ "hdmi4", "սպասել" `" 5000 "," bits ":" 0 "," կրկնել "՝" 1 "}, {"սարք": "yamahaAV", "պարամետր" ՝ "լուռ", "սպասել" ՝ "100", "բիթ" ՝ "0", "կրկնել" ՝ "1"}]
}
Հերթականությունը կարող է ունենալ ցանկացած երկարություն, իսկ սարքերը `մակրո հղումներ:
Նույն կառուցվածքը կարող է օգտագործվել մակրոներ սահմանելու համար: Պարզապես ներառեք մակրո ՝ «մակրոանուն», վերին մակարդակում, օրինակ. հեղինակությունից հետո: Իրական բովանդակությունը պահվում է macroname.txt անունով ֆայլում
Մակրոները կարող են ջնջվել ՝ դրանք առանց «հրամանների» սահմանելու:
Այլ վեբ հրամաններ
- /վերջին (թվարկում է վերջին գործողությունները)
- /ստուգում (ցույց է տալիս հիմնական կարգավիճակը)
- / (բեռնում է վեբ ձև ՝ հրամանները ձեռքով ուղարկելու համար)
- / խմբագրել (բեռնում է վեբ ձև ՝ ֆայլերի ցուցակը դիտելու և ֆայլերը ջնջելու/ վերբեռնելու համար)
- /խմբագրել? file = ֆայլի անունը (դիտել որոշակի ֆայլի բովանդակությունը)
- /վերաբեռնում (վերաբեռնում է կոճակների անունները և սարքի ֆայլերը: Օգտագործեք դրանցից որևէ մեկը փոխելուց հետո)
Քայլ 5: Alexa ձայնային կառավարում IFTTT- ի միջոցով
Alex Blaster- ի հետ ir Blaster- ի օգտագործման ամենապարզ միջոցը IFTTT- ի օգտագործումն է որպես դարպաս:
Առաջին նավահանգիստը փոխանցեք ձեր բլաստերի համար օգտագործվող նավահանգիստը ձեր երթուղիչում, որպեսզի այն հասանելի լինի ինտերնետից: Կարող է լավ լինել օգտագործել frenns- ի նման dns ծառայությունը ՝ ձեր երթուղիչներին արտաքին ip անուն տալու համար, և այն ավելի հեշտ դարձնելու համար, եթե այս ip- ն փոխվի:
Ստեղծեք IFTTT հաշիվ և միացրեք Maker Webhooks ալիքը և Alexa ալիքը: Երբ դա անեք, IFTT մուտքը միացնելու համար հարկավոր է մուտք գործել Amazon կայք:
Ստեղծեք IF ձգան ՝ օգտագործելով IFTTT Alexa ալիքը, ընտրեք գործողությունը արտահայտության հիման վրա և մուտքագրեք ձեր ուզած արտահայտությունը (օրինակ ՝ ձայնի բարձրացում):
Ստեղծեք գործողություն ՝ ընտրելով Maker վեբհուկերի ալիքը: Մուտքագրեք URL դաշտում նման բան
myip: port/irjson? plain = {"auth": "1234", "comm…
Այս գործողությունը կուղարկվի ir blaster, որտեղ նա կփորձի կատարել մակրո ծավալը: Wantedանկության դեպքում այստեղ կարող են լինել հատուկ սարք/կոճակներ, բայց ես ավելի լավ եմ համարում սահմանել և օգտագործել մակրոներ, քանի որ այդ դեպքում գործողությունների հաջորդականությունը կարող է հեշտությամբ փոխվել ՝ պարզապես մակրո սահմանելով:
Յուրաքանչյուր հրամանի համար անհրաժեշտ է առանձին IFTTT հավելված:
Քայլ 6: Մայրենի Alexa ձայնային հմտություն
IFTTT- ի փոխարեն կարելի է կառուցել անհատական հմտություն Alexa զարգացման ներսում: Սա կենտրոնացնում է ամբողջ մշակումը մեկ տեղում և նշանակում է, որ անհրաժեշտ չէ յուրաքանչյուր կոճակի համար առանձին գործողություններ ստեղծել:
Դուք պետք է գրանցվեք որպես Amazon Alexa ծրագրավորող և գրանցվեք Amazon AWS վահանակի lambda ծառայության հետ: Դուք նաև պետք է նայեք ձեռնարկներին ՝ գործընթացը մի փոքր հասկանալու համար:
Alexa մշակողի կողմից դուք պետք է ստեղծեք նոր հատուկ հմտություն, մուտքագրեք դրա ձգան բառը և ստեղծեք հրամանի բառերի ցուցակ, ինչպիսիք են ձայնի բարձրացումը, ուղեցույցը և այլն:
Alexa- ն այնուհետև արտահայտությունն ուղարկի lamda ծառայության վրա աշխատող ծրագրին, որը մեկնաբանում է արտահայտությունը և URL- ով զանգահարում է Ir blaster- ին ՝ այն գործարկելու համար:
Ես ներառել եմ Alexa մտադրության սխեման և մխիթարել lambda գործառույթը, որն օգտագործում եմ git- ում: URL- ը պետք է փոփոխվի `համապատասխան ip- ին հղում կատարելու և ճիշտ թույլտվություն ունենալու համար: Պարզության համար lambda գործառույթները կոչում են մակրո, որն ունի արտահայտության փոքրատառ տարբերակ: Այն նաև փորձում է հեռացնել ձգան հիմնաբառը, որը երբեմն կարող է ներառվել: Օրինակ ՝ blaster VOLUME up- ը կանչում է մակրո կոչվող ծավալի բարձրացում, եթե ձգան բառը պայթեցուցիչ էր:
Քայլ 7: Alexa- ի ակտիվացման դետեկտոր
Չնայած Echo / Dot ձայնի ճանաչումը լավ է, այն երբեմն կարող է շփոթվել, եթե ձայնը հնչում է հեռուստացույցից, եթե չմոտենաք և բարձրաձայն խոսեք:
Սա բարելավելու համար ես ավելացրեցի ակտիվացման դետեկտոր իմ Dot- ին: Հենց հիմնաբառը (ասվում է Alexa) LED- ների օղակը լուսավորվում է: Դետեկտորը այն սնուցում է պայթեցուցիչ սարքի մեջ, որտեղ այն կօգտագործի alexaon մակրոտն ՝ հեռուստացույցը խլացնելու համար, նմանապես հրամանի մշակման ավարտին լույսերը մարում են, և alexaoff մակրոտն վերականգնում է ձայնը:
«Բացահայտել» հրամանը կարող է օգտագործվել նաև այն միացնելու և անջատելու համար: Օրինակ, ես օգտագործում եմ նախնական turnon մակրոը `հայտնաբերումը միացնելու համար, իսկ անջատման մակրոտն` այն անջատելու համար: Սա կարող է օգտագործվել նաև գործողության մակրոների ներսում `իրական համր և չլսող համախմբին աջակցելու համար, որն այլապես խնդրահարույց կլիներ:
Ֆիզիկական դետեկտորը լույսից կախված դիմադրություն է, որը միացումն ապահովում է: Ես իմը տեղադրում եմ Կետի վրա ՝ 3D տպված փակագծով
Խորհուրդ ենք տալիս:
Bubble Blaster: 7 քայլ
Bubble Blaster. Այս հրահանգում դուք կսովորեք, թե ինչպես պատրաստել պղպջակների մաքրիչ: Սա հիմնված է պղպջակների սրինգի վրա: Չմոռանաք քվեարկել այս ուսանելիի համար, հուսով եմ ձեզ դուր կգա:
INFRA RED հեռակառավարվող ռոբոկարի օգտագործումը AVR (ATMEGA32) MCU: 5 քայլ
INFRA RED հեռակառավարվող ռոբոկարի օգտագործումը AVR (ATMEGA32) MCU. Սույն նախագիծը նկարագրում է ինֆրակարմիր (IR) հեռակառավարվող RoboCar- ի նախագծումը և իրականացումը, որը կարող է օգտագործվել տարբեր ավտոմատացված անօդաչու կառավարման ծրագրերի համար: Ես նախագծել եմ հեռակառավարվող RoboCar- ը (ձախ-աջ/առջևի-ետ շարժում): Տ
Սկսել Esp 8266 Esp-01- ով Arduino IDE- ով - Arduino Ide- ում Esp տախտակների տեղադրում և ծրագրավորում Esp. 4 քայլ
Սկսելով Esp 8266 Esp-01- ով Arduino IDE- ով | Arduino Ide- ում Esp տախտակների տեղադրում և ծրագրավորում Esp. Այս հրահանգներում մենք կսովորենք, թե ինչպես տեղադրել esp8266 տախտակները Arduino IDE- ում և ինչպես ծրագրավորել esp-01- ը և դրանում վերբեռնել ծածկագիրը: Քանի որ esp տախտակները այնքան հայտնի են, ես մտածեցի ուղղորդելու համար սա և մարդկանց մեծ մասը բախվում են խնդրի
Bluetooth- ով միացված Nerf Blaster: 7 քայլ
Bluetooth- ով միացված Nerf Blaster. Ինձ ոգեշնչեց Քոլին Ֆուրզի նախագիծը և որոշեցի կատարել իմ կատարումը Remix Challenge- ի համար: Իմ օգտագործած դիզայնը նման է, բայց ավելի սիրողական, և պարունակում է Bluetooth մոդուլ, որը թույլ է տալիս վերահսկել պտուտահաստոցը իմ հեռախոսից: Սա
Récupérer Les Codes Infra-Rouge Et 433 մՀց ՝ 4 քայլ
Récupérer Les Codes Infra-Rouge Et 433mhz. infra-rouge de t é l é տեսություն au a