Агуулгын хүснэгт:
- Алхам 1: Pi -д зориулсан Express татаж авах
- Алхам 2: Pi серверийн тохиргоо
- Алхам 3: IFTTT -ийн тохиргоо (өдөөгч)
- Алхам 4: IFTTT тохиргоо (Үйлдэл)
- Алхам 5: Порт дамжуулах
- Алхам 6: Одоогоор хийсэн ажлаа шалгаж байна
- Алхам 7: Цахилгаан хэлхээг бий болгох
- Алхам 8: Үүнийг туршиж үзээрэй
Видео: Google Home хяналттай LED: 8 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Сүүлийн үед гар дээрээ чөлөөт цагаа их өнгөрөөсөн болохоор олон төсөл дээр ажиллаж байна.
Энэхүү төсөл нь Raspberry Pi ашиглан Google Home -ээр дамжуулан RGB LED -ийг удирдах боломжийг танд олгоно. Одоо төслийн 3 хэсэг байгаа бөгөөд Raspberry Pi -ийг тохируулах, Google Home -ийг IFTTT ашиглан тусгай командыг тохируулах, дараа нь гэрлийн хэлхээг бий болгох. Би тойрог замыг өөрөө хийсэн, гэхдээ та Адафрутоос хэрэгтэй зүйлийг хийдэг зүйлийг авах боломжтой гэдэгт би итгэлтэй байна.
Raspberry Pi хэсгийн материал
- Raspberry Pi - ямар ч байсан ажиллах болно, гэхдээ би тэг ашиглаж байна
- Wireless Dongle - хэрэв Pi нь Wifi -д суулгаагүй бол
- Google Нүүр хуудас - Хэрэв та утсан дээрээ Google Туслахтай бол заавал биш
Цахилгаан хэлхээний хэсгүүдэд зориулсан материалууд- Энэ нь танд саад болж болохгүй … Энэ бол маш энгийн зүйл
- Protoboard
- Утас
- LED зурвас
- 12V цахилгаан хангамж - 2 ампераас дээш байгаа бүх зүйл зүгээр байх ёстой
- DC Barrel Jack - Таны цахилгаан хангамжийн хэмжээтэй ижил хэмжээтэй
- NPN BJT Power Transistors (x3) - Би TIP31C ашиглаж байна
-
Эрэгтэй, эмэгтэй зүү толгой - Нэмэлт, гэхдээ маш их зөвлөж байна
Алхам 1: Pi -д зориулсан Express татаж авах
Би Pi -ийг тохируулах талаар маш дэлгэрэнгүй мэдээлэл өгөхгүй байна, учир нь тэнд тохируулах олон заавар байдаг.
Миний хийхгүй байхын тулд танд юу хэрэгтэй байна …
- Хамгийн сүүлийн үеийн Raspbian хэлтэй Raspberry Pi анивчдаг
- Сүлжээний картыг тохируулаарай, ингэснээр та Pi -ээс интернетэд нэвтрэх боломжтой болно
- Raspberry Pi дээр статик IP тохируулна уу
Энд хөгжилтэй байдал эхэлж байна! Бид nodeJS, npm, express, express-generator суулгах хэрэгтэй.
sudo apt-get update
sudo apt-get nodejs npm суулгах
Тэдгээрийг суулгасны дараа дараахь зүйлийг ажиллуулна уу
npm экспресс-генераторыг суулгана уу
Express нь Raspberry Pi -г ашиглахад маш энгийн вэб сервер хийх боломжийг танд олгоно. Экспресс генератор нь экспресс серверийн файлуудыг автоматаар үүсгэдэг.
Лавлах болон CD -г директор руу оруулна уу. Би piWebpage гэж нэрлэсэн. Одоо дараахь зүйлийг ажиллуулна уу (зураг дээр бас харагдаж байна)
mkdir piWebpage
cd piWebpage express --view = ejs webApp
Энэ нь доторх бүх экспресс файлуудтай webApp нэртэй хавтас үүсгэх болно. Хэрэв та дараа нь энэ вэб хуудсаар илүү ихийг хийхээр төлөвлөж байгаа бөгөөд танд PUG таалагдаж байвал --view = ejs -г --view = pug гэж орлуулаарай. Бид вэб хуудсанд хүрэхгүй тул энэ аппликешны хувьд бидний ашиглах зүйл хамаагүй болно.
Алхам 2: Pi серверийн тохиргоо
Шинэ webApp директор руу шилжих.
cd вэб апп
npm суулгах
npm суулгах нь экспрессийн бүх хамаарлыг суулгаж байгаа тул хэсэг хугацаа шаардагдана.
SetColor.py -ийг webApp хавтсанд буулгана уу. Энэ файл нь үндсэн өнгөний хувьд зарим урьдчилсан тохируулгатай байдаг. Та хүссэнээрээ нэмж болно. Хүрээ нь 0 -ээс 255 хүртэл, 255 нь бүрэн өнгөтэй байна. Хэзээ нэгэн цагт би гэрлийг бүдгэрүүлэх чадварыг нэмж өгөх болно, гэхдээ одоогоор тэдгээр нь бүрэн гэрэл гэгээтэй байна.
Маршрут руу шилжих
cd маршрутууд
Одоо index.js файлыг хавсаргасан файлаар солино уу. Энэ нь POST командыг хүлээн авахын тулд зарим мөрүүдийг нэмж оруулах бөгөөд үүнийг Google Home илгээх болно. Тэр POST -аас бид өнгийг сонгож, гэрлийг тохируулахын тулд setColor python скриптийг ажиллуулахыг Pi -д хэлэх болно.
Хамгийн сүүлд хийх зүйл бол webApp фолдер руу буцах явдал юм.
cd ~/piWebpage/webApp
Дуртай редактороо ашиглан доорх кодыг webApp.js руу оруулаад хадгална уу. "Module.exports = app;" -аас өмнө хаана ч байсан зүгээр байна.
// LED тоног төхөөрөмжийн драйверийг тохируулах {exec} = шаарддаг ('child_process'); exec ('sudo pigpiod', (err, stdout, stderr) => {if (err) {console.log ('LED драйверийг ачаалахад алдаа гарсан'); буцах;} else console.log ('LED драйвер амжилттай ачаалагдсан'); });
Сэтгэгдэлд дурдсанаар pigpiod бол LED өнгийг тохируулахад ашигладаг ХОУХД -ийн дохионы тоног төхөөрөмжийн драйвер юм. Энэ нь Raspbian дээр аль хэдийн суулгасан гэж би бодож байна, гэхдээ үгүй бол …
sudo apt-get pigpiod суулгах
Одоо жинхэнэ сорилтын төлөө! Серверийг эхлүүлж байна!
DEBUG = webapp:* npm эхлэх
Алхам 3: IFTTT -ийн тохиргоо (өдөөгч)
IFTTT нь маш их зүйлийг хийж чадна, би зарим програмуудыг эргэн тойронд харахыг зөвлөж байна.
Юуны өмнө та данс үүсгэх шаардлагатай болно. Google Home -той холбоотой ижил Google акаунтыг ашиглаарай, эс тэгвээс тэд хамтдаа синхрончлогдохгүй. Дуусч, нэвтэрсний дараа IFTTT хуудасны баруун дээд буланд таны нэр, аватарыг харуулна уу. Дараа нь гарч ирэх жагсаалтаас New Applet дээр дарна уу.
Хэрэв та сонирхож байгаа бол IFTTT гэдэг нь гарч ирэх дэлгэц дээр анзаараагүй бол IF This Then That гэсэн үгийн товчлол юм. Тиймээс бидний хүсч буй зүйл бол Google Assistant бол Webhook бол бидний сонголт юм.
+Үүнийг дарж хайлтын мөрийг ачаална уу. Хайлтанд Google Assistant гэж бичээд хайлтын доор байгаа дүрс дээр дарна уу.
"Trigger Select" хэсэгт "Текст найрлагатай өгүүлбэр хэл" гэсэн 3 дахь сонголтыг сонгоно уу. Одоо энэ нь ижил үйлдлийг гүйцэтгэх 3 командтай байх боломжийг танд олгоно. Та өнгийг нь дурдах хэллэгийг $ болгон нэмнэ үү. Жишээлбэл, хэрэв би байгалийн жамаараа Hey Google, LED LED цэнхэр гэж хэлээрэй (төхөөрөмжид хашгирах нь байгалийн жам шиг), дараа нь Set LED -үүдийг $ хэсэгт бичнэ үү. Тушаалын өөр өөр хувилбартай бүх 3 талбарт үүнийг хий.
Миний хэрэглэж байсан 3 байсан
LED $
$ LED тохируулна уу
$ LED өнгө тохируулна уу
Сүүлчийн талбар бол таны Google Нүүрийг тушаалыг хэлсний дараа хариулахыг хүсч буй талбар юм. Энэ нь таны хүссэн бүх зүйл байж болно, гэхдээ би Setting color -ийг $ болгон ашигласан. Доллар гэдэг нь тэр өнгийг буцааж давтана гэсэн үг юм.
Trigger үүсгэх дээр дарна уу
Алхам 4: IFTTT тохиргоо (Үйлдэл)
Триггер үүсгэх товчийг дарсны дараа та энэ дүрсийг буцааж ачаалах болно, гэхдээ үүнийг Google туслах логогоор сольсон болно. +Үүнийг дарж үргэлжлүүлнэ үү
Өмнөхтэй ижил зүйл таныг хайлтын талбарт авчирдаг. Webhooks гэж бичээд хайлтын талбарын доор байрлах webhook дүрс дээр дарна уу. Webhooks -д зориулсан үйлдлийг сонгох хэсэгт ганцхан сонголт байгаа тул Вэб хүсэлт гаргах дээр дарна уу.
Энд бүх зүйл жаахан төвөгтэй болж байна. Google танай гэрт өөр компьютер биш тул танд гадаад IP хаяг хэрэгтэй болно. Энэ нь порт дамжуулах шаардлагатай боловч бид үүнийг дараа нь авч үзэх болно. Гадаад IP хаягаа авахын тулд https://canyouseeme.org/ руу орно уу.
URL талбарт https://xxx.xxx.xxx.xxx:3000/{{TextField}} гэж бичнэ үү (x нь таны гадаад IP хаяг байх болно). Хэрэв та сонирхож байгаа бол TextField нь командыг сонгохдоо таны сонгосон өнгөтэй байх болно. 3000 -ийг ашиглах болсон шалтгаан нь Raspberry Pi Express сервер ажиллаж байгаа порт юм. (Та код дээрх портыг өөрчилж болно, гэхдээ бид Express -ийн анхдагч тохиргоог ашиглаж байна)
Аргын хувьд POST -ийг сонгоно уу.
Агуулгын төрлийн хувьд текстийг сонгоно уу.
Биеийн хувьд {{TextField}} гэж бичнэ үү
POST тушаал хэрхэн ажилладагийг мэддэг хүмүүс хүсэлтийн биеийн шинж чанарыг задлан шинжилбэл өнгө авах болно гэж та бодож байна. Зарим шалтгааны улмаас хүсэлтийн үндсэн хэсэгт юу ч оруулаагүй тул би өнгөний URL хаягийг задлан шинжилж байна. Энэ нь index.js чиглэлийн миний кодыг хялбарчлах болно. Гэхдээ би ухарч байна.
Эцэст нь Үйлдэл үүсгэх дээр дарж дараагийн хуудсан дээр Finish дээр дарна уу. (Би мэдэгдлийг унтраасан, гэхдээ энэ бол давуу тал)
Алхам 5: Порт дамжуулах
Энд бүх чиглүүлэгчид өөр өөр байдаг тул бүх зүйлийг тайлбарлахад хэцүү байдаг.
Одоо бид Google -ийг 3000 порт ашиглан манай гэрт тушаал илгээж байгаа боловч энэ нь LAN дээр ямар төхөөрөмж рүү очих ёстойгоо мэдэхгүй байна. Үүнийг засахын тулд бид 3000 портыг таны Raspberry Pi -ийн орон нутгийн IP хаяг руу дамжуулах хэрэгтэй.
10.0.0.1 эсвэл 192.168.1.1 аль нэгийг ашиглан чиглүүлэгч рүүгээ ороод (сүүлчийн цифр нь 254 байгааг би бас харсан) портын дамжуулалтыг олоорой. Зурагтай адил порт дамжуулахдаа та шинэ төхөөрөмж (IFTTT) гэж нэрлээд портыг (3000) Pi -ийн IP хаяг руу дамжуулна (миний хувьд 10.0.0.11).
Шинэ тохиргоог хадгалж, чиглүүлэгчээ дахин асаагаад Raspberry Pi сервер ажиллаж байгаа эсэхийг шалгаарай. Хэрэв энэ нь ажиллахгүй байгаа бол дахин эхлүүлнэ үү.
Хэрэгтэй вэбсайт руу буцна уу https://canyouseeme.org/. Таны IP хаягийн доор порт шалгагч байна. Таны порт дамжуулалтыг зөв гэж үзвэл 3000 гэж бичээд шалгах портыг дарна уу. Энэ нь Амжилттай буцаж ирэх ёстой.
Алхам 6: Одоогоор хийсэн ажлаа шалгаж байна
Одоо … таны хүлээж байсан тэр мөчид … Цэнхэр LED гэх мэт тушаалыг Google -д хэлээрэй (хэрэв та миний жишээг дагаж байсан бол).
Бүх зүйл зөв хийгдсэн гэж үзвэл та зураг дээрх үр дүнг харах болно. Бидэнд одоогоор хэлхээ байхгүй байгаа тул дэлгэцэн дээрх текстийг л харах болно. Google -ээс боловсруулж, Pi дээр гарч ирэхээс өмнө ихэвчлэн хоёр эсвэл хоёр удаа саатал гардаг.
(Хэрэв энэ нь зурагтай адилхан гарсан бол дараагийн алхам руу орно уу)
Хэрэв энэ нь ажиллахгүй бол хэд хэдэн зүйлийг анхаарч үзэх хэрэгтэй.
Зураг дээр ингэж бичсэн мөр байна
POST /өнгө /цэнхэр 200 250.458 ms - 2
200 бол чухал хэсэг юм. Хэрэв та 200 -г харахгүй байгаа бол POST тааруу байсан нь таны сервер өгөгдлөө яахаа мэдэхгүй байсан гэсэн үг юм. 2 -р алхам руу буцаж очоод index.js файлыг шалгана уу.
Мөн зураг дээр
stdout: цэнхэр
stderr:
Энэ бол LED ажиллуулдаг python файлын гаралт юм. Хэрэв та тэнд алдаа олж харвал 2 -р алхам дээр драйвер суулгаагүй байж магадгүй юм.
Эцэст нь, хэрэв юу ч харагдахгүй байсан бол … таны IFTTT зөв тохируулагдаагүй эсвэл сервертэй холбогдоогүй байж магадгүй юм. IFTTT хуудас руу буцаж очоод дээд талын мөрөнд Activity дээр дарна уу. Тэнд та апп -аа ажиллуулах тоолонд харах боломжтой бөгөөд хэрэв алдаа гарсан бол энэ нь юу болохыг харж болно. Би Pi серверийг унтраасан Google командыг хийж, зурган дээрх алдааг олж мэдэв.
Алхам 7: Цахилгаан хэлхээг бий болгох
Бид яагаад үүнийг хийх ёстой болсон шалтгаан нь Raspberry Pi хангалттай хүч чадалгүй байгаатай холбоотой юм. Тиймээс шийдэл нь … ИЛҮҮ ХҮЧ (Тэйлор багажны хүн холоос ярвайна). AKA өөр цахилгаан хангамж (12V 2A)
Хэлхээний хэсгийн материал
- Protoboard
- Утас
- RGB LED зурвас
- 12V цахилгаан хангамж - 2 ампераас дээш байгаа бүх зүйл зүгээр байх ёстой
- DC Barrel Jack - Таны цахилгаан хангамжийн хэмжээтэй ижил хэмжээтэй
- NPN BJT Power Transistors (x3) - Би TIP31C ашиглаж байна
- Эрэгтэй, эмэгтэй зүү толгой
Pi Zero -ийн GPIO интервэйсээс миний хулгайлсан зургийг ашиглан GPIO17, GPIO18, GPIO 27 нь GND -тэй зэрэгцэн оршиж байгааг харж болно. Бид 4 зүү бүхий квадратыг ашиглах болно (Зүү 11, 12, 13, 14).
Нэгдүгээрт, би зураг дээр үзүүлсэн шиг эрэгтэй толгойнуудыг LED туузан дээр гагнахыг зөвлөж байна (миний хамгийн сайн ажил биш). Энэ нь танд шаардлагатай бол амархан салгах боломжийг олгодог. Би эмэгтэй туузыг LED туузыг протобоард руугаа, эрэгтэй толгойноос Raspberry Pi хүртэл холбосон. (Эрчим хүч/дохионы эх үүсвэрт эмэгтэй холболтыг үргэлж ашиглаарай). Над шиг бүх Пи -ийн тээглүүрийг бие биенийхээ дэргэд зөөх шаардлагагүй … Би зүгээр л цэвэрхэн харагдуулахыг хүссэн ч энэ бол маш их ажил байсан.
Хэлхээний тайлбар
Транзисторыг сайн мэддэггүй хүмүүсийн хувьд транзистор нь үндсэндээ дижитал унтраалга юм. Pi -ийн GPIO тээглүүр нь гурван унтраалгыг (улаан, ногоон, цэнхэр) идэвхжүүлдэг. Хэлхээ диаграм дахь RED -ийг тусгайлан авч үзвэл GPIO_17 асаалттай үед унтраалга нь улаан гэрлийг асаахад RED -ийг GND -тэй холбож "хаадаг". GPIO_17 унтрах үед унтраалга нээгдэж, гэрэл унтардаг.
Үндсэн - GPIO
Цуглуулагч - Өнгө (УЛААН, НОГООН, ХӨХ)
Ялгаруулагч - Газар (Цахилгаан хангамж ба Пи хоёулангийнх нь)
Пи -ийн газардуулгыг тэжээлийн эх үүсвэртэй холбосон эсэхийг шалгаарай. Гэрэл ассан хэвээр байх боловч газар холбогдох хүртэл маш бүдэг харагдана.
Миний протокол самбар дээр 4 -р транзистортой төхөөрөмж байна. Энэ нь 12V -ийг 5V болгон хөрвүүлэхэд ашигладаг L7805CV бөгөөд би ижил хэлхээнд Pi -г тэжээх боломжтой болсон. Энэ нь ажилласан боловч халаалтаа үргэлжлүүлсэн тул би холболтыг нь салгасан.
Алхам 8: Үүнийг туршиж үзээрэй
Хэлхээг дуусгасны дараа ямар нэгэн холболт хийхээсээ өмнө Pi -гээ дахин эхлүүлнэ үү. Учир нь зүү нь серверийн тестээс идэвхтэй хэвээр байгаа байх. Эсвэл та сервер болон pigpiod үйлчилгээг алж болно.
LED болон холбогчийг протобоардаас Pi руу залгаарай. Цахилгаан тэжээл өгөхөөс өмнө бүх холболтыг дахин шалгаарай. Хэрэв та үүнийг буруу утсаар холбосон бол Pi -ээ хуурч болно (ямар ч дарамт байхгүй).
Шалгах хуудас
- Утас шалгах
- Power Pi
- Цахилгаан хэлхээ
- Серверийг эхлүүлэх (DEBUG = webapp:* npm ~/piWebpage/webApp лавлахад эхлэх)
- Тендерээ хийхийг Google -д хэлээрэй!
Баяр хүргэе, та юу ч дэлбэлээгүй, та одоо LED -ээ Google Home -оос удирдах боломжтой боллоо.
Хэрэв танд асуудал байгаа бол сэтгэгдлээ үлдээгээрэй, би тантай эргэн холбогдохын тулд чадах бүхнээ хийх болно!
Зөвлөмж болгож буй:
Google Туслахын хяналттай LED матриц!: 7 алхам (зурагтай)
Google Туслахын хяналттай LED матриц!: Энэхүү гарын авлагад та Google Assistant -ийн хяналттай LED матрицыг хэрхэн яаж хийхээ харуулах болно, та үүнийг ухаалаг гар утас ашиглан хаанаас ч хамаагүй удирдах боломжтой. Тиймээс эхэлцгээе
Arduino ашиглан RC хяналттай робот - Алхам алхамаар: 3 алхам
Arduino ашиглан RC Tracked робот Та өмнөх төслүүдээ хэрэгжүүлсэн гэж найдаж байна - Spinel Crux V1 - The Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms, The Badland Braw
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 алхам
Sonoff B1 Firmware Home Automation Openhab Google Home: Sonoff унтраалгуудынхаа Tasmota програм хангамж надад үнэхээр таалагддаг. Гэхдээ миний Sonoff-B1 дээрх Tasmota програм хангамж үнэхээр сэтгэл хангалуун бус байсан. Би үүнийг Openhab -д нэгтгэж, Google Home -ээр дамжуулан удирдаж чадаагүй тул өөрийн фирмийг бичжээ
Google -ийн хяналттай гарц: 7 алхам
Google Controlled Outlet: IFTTT дээр google туслах эсвэл үндсэндээ өөр оролтын үйлчилгээгээр удирдах боломжтой өөрийн ухаалаг залгуурыг бий болгох төсөл
Google Home хяналттай цахилгаан залгуур: 9 алхам (зурагтай)
Google Home Controlled Power Outlet: Миний найз охин үргэлж ухаалаг байшин барихыг хүсдэг байсан. Тиймээс бид ухаалаг байшингийн дэд бүтэц, анхны зүйл болох алсын удирдлагатай гаралтын унтраалгыг удирдлагын самбар эсвэл дуут команд ашиглан удирдах боломжтой (хэрэв танд google home эсвэл goog байгаа бол