Mundarija:
- 1 -qadam:
- 2 -qadam:
- 3 -qadam:
- 4 -qadam:
- 5 -qadam:
- 6 -qadam:
- 7 -qadam:
- 8 -qadam:
- 9 -qadam:
- 10 -qadam:
- 11 -qadam:
- 12 -qadam:
- 13 -qadam:
Video: Raspberry Pi va Dialogflow (Chromecast alternativasi) yordamida Google uyingiz uchun ekran oling: 13 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
Men o'z Google uyimni sotib olganimdan beri, men o'z qurilmalarimni uyda ovozli buyruqlar yordamida boshqarishni xohlardim. Bu har jihatdan ajoyib ishlaydi, lekin men uning video xususiyatidan o'zimni yomon his qildim. Biz Youtube va Netflix -ni faqat Chromecast qurilmasi yoki o'rnatilgan Chromecast xususiyatiga ega televizori bo'lsa ko'rishimiz mumkin. Menda Raspberry Pi bor, shuning uchun men undan ovozli buyruqlar yordamida sevimli video va filmlarimni ijro etish uchun foydalanishni o'yladim.
1 -qadam:
Buning uchun men quyidagi sozlamani qildim
Google Home -> Dialogflow -> Ma'lumot uzatishdagi Rpi IP -manzili -> Nodejs Server -> URL -larni ochish uchun kod
Dialogflow-bu google-ning inson va kompyuter o'rtasidagi o'zaro muloqot texnologiyasi bo'lib, u tabiiy tilda suhbatlarga asoslangan. Buning yordamida biz o'zimizning suhbatlarimizni yoki Google uyiga kirish sifatida topshiriqlarni ishlab chiqishimiz mumkin. Bu quyidagicha ishlaydi
Maqsad [Kirish, savol, suhbat, buyruq …..] -> Google Home -> harakat [javob]
Bu erda javob oddiy suhbat bo'lishi mumkin yoki veb -kancadan olingan ma'lumotlar bo'lishi mumkin, biz buni Rpi serveridan foydalanamiz. Shunday qilib, Dialogflow veb -saytiga o'ting va hisob va yangi agent yarating.
Keyin yangi niyat yarating …
2 -qadam:
Keyin mashg'ulot so'zlarini kiriting. Bu foydalanuvchilar Google Home -dan ma'lum bir vazifaga kirishga harakat qilganda aytadigan buyruqlar.
3 -qadam:
Bu erda "veb -sayt" so'zini youtube, Netflix, amazon prime va hokazolarga o'zgartirish mumkin … Shunday qilib, bu so'z o'zgarmaydigan vazifasini bajaradi va siz [sichqoncha yordamida] veb -sayt so'zini tanlaganingizda quyidagilarni olasiz.
4 -qadam:
Ochiladigan menyudan "@sys.any" -ni tanlang va Enter tugmasini bosing.
5 -qadam:
Keyin harakatlar bo'limiga bir xil parametr nomini kiriting. Ushbu bo'limda ko'rsatilgan qiymatlar veb -krujkaga JSON fayli sifatida yuboriladi, biz uni qaysi veb -sayt foydalanuvchini chaqirganini bilish uchun serverdan olishimiz kerak.
O'zgaruvchining qiymati "$ variable_name" yordamida olinadi
6 -qadam:
Buyruqni Google Home -ga aytgandan so'ng, biz eshitadigan javobni qo'shing. Keyin niyatni saqlang. Agar kerak bo'lsa, bu niyatni suhbatning oxiri sifatida belgilang.
7 -qadam:
Endi biz malina pi-da video va veb-saytlarni ochish uchun so'rovlarni olish uchun orqa xizmatni o'rnatamiz.
Qolgan sozlash
Ma'lumot uzatish -> Nodejs serveri -> kod
Nima uchun bizga ma'lumot uzatish kerak? chunki Google Home Internetda mavjud bo'lgan veb -kancalarga ulanadi. Garchi bizning GHome mahalliy tarmoqqa ulangan bo'lsa ham, so'rovlar Google bulutli xizmatidan keladi, shuning uchun serverimizni internetga joylashtirishga ehtiyoj bor. Bosh og'rig'ining o'rniga, biz malinali pi -ni Internetga osongina joylashtirish uchun ma'lumotlarni uzatish xizmatlaridan foydalanishimiz mumkin.
Birinchidan, malina pi ga ulaning [to'g'ridan-to'g'ri HDMI bilan yoki hatto SSh bilan] Terminaldagi quyidagi buyruqdan so'nggi tugunlarning ishlash vaqtini oling.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Keyin uni yordamida o'rnating
sudo apt -get install -y nodejs
Keyin yangi fayl yarating
nano veb -server.js
8 -qadam:
Keyin, faylga quyidagi kodni kiriting
Bu erda, namoyish qilish uchun men faqat ikkita veb -saytdan foydalanaman (google, youtube). Kodni tahrirlash va shunga mos ravishda o'zgartirish mumkin.
bodyParser = talab qilish ("tanani tahlil qilish"); var exec = talab qilish ("child_process"). exec; var express = talab ("ekspress"); var app = express (); app.use (bodyParser.json ()); app.post ('/', funktsiyasi (req, res) {o'zgaruvchiga = req.body.queryResult.parameters.website; exec ("midori www."+o'zgaruvchi+". com"), funktsiya (xato, stdout, stderr) {console.log ("stdout:" + stdout); console.log ("stderr:" + stderr); agar (xato! == null) {console.log ("exec error:" + error);}}); qaytish res.end ();}); app.listen (80);
9 -qadam:
Yuqoridagi kod faqat kontseptsiyani tushuntirish uchun yozilgan. Men kodda Midori brauzeridan foydalanardim, chunki xrom uzoqdan buyruqlar bilan ishlamaydi. Firefox -dan ham foydalanishimiz mumkin. [Kodni yozishdan oldin biz npm yordamida body-parser, express modullarini o'rnatishimiz kerak]
Shuni esda tutingki, biz faqat 80 -portda tinglashimiz kerak, chunki ma'lumotlar uzatish malina pi -ning 80 -portini uzatishi mumkin.
Endi biz ma'lumotlar almashinuvini sozlashimiz kerak
Dataplicity veb -saytiga o'ting va hisobingizni yarating va malina pi ni asboblar paneliga qo'shish uchun ko'rsatmalarga amal qiling.
10 -qadam:
Shundan so'ng, qurilmalar ro'yxatidan malina pi ni oching va tugun serverini joylashtiradigan malina pi uchun noyob IP -manzilni olish uchun chuvalchang teshigini tanlang.
IP manzilini vaqtinchalik xotiraga nusxalash.
11 -qadam:
Endi kodni malina pi terminalidan ishga tushiring
sudo tugunlari webserver.js
Agar u displey yoki protokollar bilan bog'liq har qanday xato ko'rsatsa …. ijro etmoq
sudo xhost +
Endi dialog oqimiga qayting va bajarish bo'limini bosing
12 -qadam:
Yuqoridagi maydonga IP -manzilni yoki ma'lumotlar uzatish manzilini kiriting.
13 -qadam:
Nihoyat, maqsadlar bo'limiga o'ting va bajarilish yorlig'idan webhook qo'ng'irog'ini yoqing.
Bo'ldi shu! Endi Google uyingizga qaytib, uning qanday ishlashini tekshiring!
Keyingi safargacha, Hacking baxtli:)
Tavsiya:
Maktablar, bolalar bog'chalari yoki uyingiz uchun NodeMCU/ESP8266 yordamida CO2 sensorli displeyni ulang va ishga tushiring: 7 qadam
Maktablar, bolalar bog'chalari yoki sizning uyingiz uchun NodeMCU/ESP8266 bilan Plug & Play CO2 sensorli displeyi: Men sizga vilkasini qanday tez qurish kerakligini ko'rsataman. CO2 sensorini o'ynang, u erda loyihaning barcha elementlari DuPont simlari bilan ulanadi. Lehimlash kerak bo'lgan 5 ta nuqta bo'ladi, chunki men bu loyihadan oldin lehimlamaganman
Dasturni yozib oling va uni yozib oling: 8 qadam
O'qish dasturini yaratish uchun dasturni yaratish kerakmi ?: O'yin dasturining oxirgi versiyasi Texnologiyaning eng so'nggi bosqichi bo'lib o'tdi, shuning uchun u o'z dasturini yaratdi. Python va kutubxonachilarning vazifasi shundaki, ular hech qanday dasturga ega emas
Tayyor bo'lmagan elektronika komponentlariga 10 ta DIY alternativasi: 11 qadam (rasmlar bilan)
Tayyor bo'lmagan elektronika komponentlariga 10 ta DIY alternativasi: Mening birinchi ko'rsatmaga xush kelibsiz! Siz onlayn sotuvchilarning ba'zi qismlari juda qimmat yoki sifatsiz deb o'ylaysizmi? Yuk tashish uchun haftalarmi? Mahalliy elektron tarqatuvchilar yo'qmi? Odamlar
Raspberry Pi Chromecast alternativasi sifatida (Raspicast): 10 qadam (rasmlar bilan)
Raspberry Pi Chromecast alternativasi sifatida (Raspicast): Ushbu yo'riqnomada men sizga malina pi 3 ni Chromecastga alternativa sifatida qanday ishlatishni ko'rsataman. Shuni ham ta'kidlash kerakki, bu to'g'ridan -to'g'ri Chromecast kloni emas va cheklovlar mavjud. Bu usul translyatsiya tugmachasini qo'llab -quvvatlamaydi, lekin
Uyingiz yoki ofisingiz uchun boshqariladigan RGB LED tizimi: 5 qadam (rasmlar bilan)
Uyingiz yoki ofisingiz uchun boshqariladigan RGB LED tizimi: uyingiz yoki ish joyingizdagi chiroqlar zerikadimi? Xonangizga ozgina energiya yoki kayfiyat yoritilishini qo'shmoqchimisiz? Bu ko'rsatma sizga uyingizda yoki ofisingizda foydalanish uchun boshqariladigan RGB LED massivini qanday yaratishni ko'rsatadi. Sizning qizil, yashil, ko'k LED d