Агуулгын хүснэгт:

ESP-12 хэт улаан туяа: 7 алхам
ESP-12 хэт улаан туяа: 7 алхам

Видео: ESP-12 хэт улаан туяа: 7 алхам

Видео: ESP-12 хэт улаан туяа: 7 алхам
Видео: "I Saw an Alien Through the Window of a UFO!" 14 True Cases 2024, Арваннэгдүгээр
Anonim
ESP-12 хэт улаан туяа
ESP-12 хэт улаан туяа

Esp8266 ашиглан Infra Red алсын удирдлагатай blaster

Олон гаралтын төхөөрөмжийг дэмждэг Вэбээс хүлээн авсан алсын удирдлагын кодыг дамжуулдаг.

Туршилтын зориулалттай энгийн вэб хуудсыг бүтээсэн.

Ердийн хэрэглээ нь вэб хуудаснаас эсвэл IFTTT / Alexa дуут удирдлагаас ирсэн POST мессежээр дамждаг.

Амазоны цуурай / цэгийн идэвхжүүлэгчийг идэвхжүүлсэн үг дуугармагц дууг нь хааж, чимээгүй болгохыг дэмждэг.

Командууд нь дан команд эсвэл дараалал юм. Дарааллыг нэрлэсэн макро хэлбэрээр хадгалах боломжтой бөгөөд үүнийг дараа нь тушаал эсвэл бусад дарааллаар ашиглаж болно.

Сүүлийн үеийн түүх, макрогийн жагсаалтыг вэб интерфэйсээр дамжуулан авах боломжтой

Шинэ програмыг OTA байршуулахыг дэмждэг бөгөөд анхны wifi тохиргоонд WifiManager номын санг ашигладаг

Алхам 1: Техник хангамж

Техник хангамж
Техник хангамж
Техник хангамж
Техник хангамж

Дараах бүрэлдэхүүн хэсгүүдийг ашигладаг

  • ESP-12F модуль
  • 3.3V зохицуулагч (MP2307 мини бак зохицуулагч)
  • MOSFET унтраалга (AO3400)
  • Хэт улаан туяа ялгаруулагч (3 мм)
  • Гэрэлээс хамааралтай эсэргүүцэл GL2258 (Alexa үйл ажиллагааны нэмэлт детектор)
  • Эсэргүүцэл
  • Конденсаторыг салгах (20uF)
  • USB эмэгтэй залгуур (ханцуйвчтай гагнуур хийх нь зүйтэй
  • Alexa детекторт зориулсан 3 зүү IC залгуур
  • Механик эд анги (3D хэвлэх боломжтой)

ESP-12F төслийн хайрцагт угсарч болно

  • Зохицуулагчийг USB холбогч руу холбоод хайрцагт оруулна уу
  • IR драйверыг жижиг vero самбар дээр хий (3 утас, +5V, 0V хаалганы оролт)
  • 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 орчинд хөрвүүлэх шаардлагатай байна.

Дараахь номын сан шаардлагатай, ихэнх нь стандарт эсвэл нэмж болно. Сүүлийн хоёрыг git -д оруулсан болно.

  • ESP8266WiFi
  • ESP8266WebServer
  • FS.h
  • DNSServer
  • ESP8266mDNS
  • ESP8266HTTPUpdateServer
  • ArduinoJson
  • BitTx (Git -д багтсан)
  • BitMessages (Git -д багтсан)

Өөрчлөх ноорог дээрх зүйлүүд орно

  • AP_AUTHID вэб хандалтын зөвшөөрлийн код
  • Wfi менежерийн нууц үг WM_PASSWORD
  • firmware OTA нууц үг update_password
  • Шинэ IR төхөөрөмжүүд / товчлуурын кодууд (дараа үзнэ үү)

Үүнийг хийсний дараа эхлээд ердийн цуваа байршуулалтыг ашиглан байршуулах ёстой.

SPIFFS ашиглагддаг тул санах ойг arduino ESP8266 Sketch Data байршуулах хэрэгслийг суулгаж ашиглах замаар бэлтгэх ёстой. Энэ нь өгөгдлийн фолдерыг анхны SPIFFS контент болгон байршуулах болно

Хэрэв төхөөрөмж дотоод сүлжээнд холбогдож чадахгүй бол (анх удаа ийм зүйл тохиолдох болно) Wifi менежер хандалтын цэг үүсгэнэ (192.168.4.1). Энэ сүлжээнд утас эсвэл таблетаас холбогдоод 192.168.4.1 рүү очоод локал wifi -д холбогдох вэб интерфэйсийг авах болно. Дараагийн хандалтууд үүнийг ашиглах болно. Хэрэв дотоод сүлжээ өөрчлөгдвөл энэ тохиргооны горим руу буцна.

Дараагийн шинэчлэлтийг Arduino орчинд экспортын хоёртын файлыг эмхэтгэж, дараа нь ip/firmware дээр OTA интерфэйс рүү нэвтрэх замаар хийж болно.

Алхам 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.3V буферт оруулав.

Дараа нь би код авахын тулд python хэрэгслийг rxir.py (git tools хавтсанд) ашигладаг. Олон тооны товчлуурыг дарахад ашиглахад хялбар болгохын тулд хэрэгсэл нь алсын удирдлага дээрх товчлууруудыг тодорхойлохын тулд текстийн тодорхойлолтын файлыг ашигладаг бөгөөд алсын удирдлага дээрх бүлгийн товчлууруудын нэр юм. Жишээлбэл, Sony-ийн шинэ алсын удирдлагатай байж болох бөгөөд нэг нь sonytv-cursor, sonytv-number, sonytv-playcontrols гэж нэрлэгддэг 3 текст файлыг тохирох товчлууруудын нэрээр тохируулж өгдөг. (курсор) болон ямар протокол ашиглах вэ (nec, nec1, rc5, rc6). Дараа нь товчлуурыг дарж, үр дүнг sonytv-ircodes файлд бичнэ. Баримтыг сайн эсэхийг шалгах шаардлагатай бол хэсгүүдийг давтаж болно.. Ircodes файлын битүүдийг BitDevices хүснэгтэд засварлах боломжтой.

Алхам 4: Вэб хяналт ба макро

Вэбийн үндсэн хяналт нь дараалсан агуулгатай байж болох ганц авах эсвэл json бичлэг юм.

Get /ir нь 6 параметртэй

  • auth - зөвшөөрлийн кодыг агуулсан
  • төхөөрөмж - алсын төхөөрөмжийн нэр
  • параметр - товчлуурын нэр
  • бит - нэмэлт битийн тоо
  • давталт - нэмэлт давталтын тоо
  • хүлээх - дараагийн тушаалыг гүйцэтгэхээс өмнө mseconds дахь саатал.

Төхөөрөмж нь "хоцрогдсон" байж, хойшлуулах боломжтой, "макро" нь параметрт дурдсан макро ашиглах, эсвэл "илрүүлэх" нь Alexa илрүүлэх функцийг ашиглах боломжтой (дараа үзнэ үү).

Post /irjson нь json гэх мэт бүтцээс бүрдэнэ

{

"auth": "1234", "тушаалууд": [{"төхөөрөмж": "yamahaAV", "параметр": "hdmi4", "хүлээх": "5000", "бит": "0", "давтах": "1"}, {"төхөөрөмж": "yamahaAV", "параметр": "дуугүй", "хүлээх": "100", "бит": "0", "давтах": "1"}]

}

Дараалал нь ямар ч урт байж болох бөгөөд төхөөрөмжүүд макро лавлагаа байж болно.

Үүнтэй ижил бүтцийг макро тодорхойлоход ашиглаж болно. Зүгээр л макро оруулах: "macroname", дээд түвшинд, жишээ нь. зөвшөөрөл авсны дараа. Бодит агуулга нь 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 руу үүнийг хийх дуудлага хийдэг.

Би git -д ашигладаг Alexa -ийн зорилгын схем болон консолын lambda функцийг оруулсан болно. Тохирох ip -ийг лавлахын тулд URL -ийг өөрчлөх шаардлагатай бөгөөд зөв зөвшөөрөлтэй байх болно. Энгийн байлгахын тулд lambda функцууд нь өгүүлбэрийн жижиг үсгээр хоосон зайтай макро гэж нэрлэдэг. Энэ нь заримдаа оруулах боломжтой түлхүүр үгийг устгахыг оролддог. Жишээлбэл blaster VOLUME up нь гох үг blaster байсан бол volumup гэж нэрлэгдэх макрог дуудах болно.

Алхам 7: Alexa детекторыг идэвхжүүлнэ үү

Хэдийгээр Цуурай / Цэгийн дуу таних чадвар сайн боловч ойртож, чанга ярихгүй л бол ТВ -ээс дуу тоглож байгаа бол заримдаа андуурч болно.

Үүнийг сайжруулахын тулд би цэг дээрээ идэвхжүүлэгч илрүүлэгчийг нэмсэн. Түлхүүр үг (Alexa гэж хэлдэг) гарч ирмэгц LED -ийн цагираг асдаг. Илрүүлэгч нь үүнийг тэсэлгээчинд өгдөг бөгөөд энэ нь Alexaon макро ашиглан телевизийн дууг хаах болно, үүний нэгэн адил командыг ажиллуулсны дараа гэрэл унтарч, alexaoff макро дууг сэргээдэг.

Үүнийг 'унтраах' командыг бас ашиглаж болно. Жишээлбэл, би илрүүлэлтийг идэвхжүүлэхийн тулд анхны turnon макрог ашигладаг бөгөөд унтраах макрог идэвхгүй болгодог. Үүнийг мөн үйлдлийн макрост ашиглах боломжтой бөгөөд ингэснээр асуудалгүй болох жинхэнэ дууг хаах, унтраах командыг дэмжих боломжтой болно.

Физик детектор нь хэлхээг дэмждэг гэрлээс хамааралтай эсэргүүцэл юм. Би уурхайг цэг дээр 3D хэвлэмэл хаалт ашиглан холбодог

Зөвлөмж болгож буй: