INHOUDSOPGAWE:
- Stap 1:
- Stap 2:
- Stap 3:
- Stap 4:
- Stap 5:
- Stap 6:
- Stap 7:
- Stap 8:
- Stap 9:
- Stap 10:
- Stap 11:
- Stap 12:
- Stap 13:
Video: Kry 'n skerm vir u Google -huis met Raspberry Pi en Dialogflow (Chromecast Alternative): 13 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Sedert ek my Google -huis gekoop het, wou ek my toestelle tuis beheer met behulp van stemopdragte. Dit werk in alle opsigte wonderlik, maar ek het sleg gevoel oor die videofunksie daarvan. Ons kan slegs Youtube en Netflix kyk as ons 'n Chromecast -toestel of 'n TV met 'n ingeboude Chromecast -funksie het. Ek het 'n Raspberry Pi by my, en ek het daaraan gedink om dit te gebruik om my gunsteling video's en films met stemopdragte te speel.
Stap 1:
Hiervoor het ek die volgende opstelling gemaak
Google Home -> Dialogflow -> Rpi IP -adres op Dataplicity -> Nodejs Server -> Kode om URL's oop te maak
Dialogflow is 'n Google se interaksie-tegnologie tussen mense en rekenaar wat gebaseer is op gesprekke in natuurlike tale. Met die hulp hiervan kan ons ons eie gesprekke of take ontwikkel om as 'n inset vir Google Home te gee. Dit werk soos volg
Voorneme [Invoer, vraag, gesprek, opdrag …] -> Google Home -> aksie [antwoord]
Hier kan die antwoord 'n eenvoudige gesprek wees, of anders kan data van 'n webhook opgehaal word, wat ons met die Rpi -bediener gaan maak. Gaan dus na die Dialogflow -webwerf en skep 'n rekening en 'n nuwe agent.
Skep dan 'n nuwe bedoeling …
Stap 2:
Voer dan die opleidingsfrases in. Dit is die opdragte wat gebruikers spreek wanneer hulle probeer om toegang tot 'n spesifieke taak vanaf Google Home te verkry.
Stap 3:
Hier kan die woord 'webwerf' verander word na enigiets soos youtube, Netflix, amazon prime ens … Dus, hierdie woord dien as 'n veranderlike en as u die woord webwerf [met die muis] kies, kry u die volgende
Stap 4:
Kies '@sys.any' in die keuselys en druk op enter.
Stap 5:
Voer dan dieselfde parameternaam in die afdeling vir aksies in. Die waardes wat in hierdie afdeling genoem word, word as 'n JSON -lêer na die webhook gestuur, wat ons op die bediener moet ophaal om te weet watter webwerf die gebruiker oproep.
Die waarde van 'n veranderlike word opgetel met '$ variable_name'
Stap 6:
Voeg die antwoord wat ons moet hoor nadat ons die opdrag gesê het, by Google Home. Stoor dan die bedoeling. Stel indien nodig hierdie voorneme as die einde van die gesprek.
Stap 7:
Nou sal ons ons back-end diens opstel om die navrae te laat videos en webwerwe op ons framboos pi oopmaak.
Die oorblywende opstelling
Dataplicity -> Nodejs -bediener -> kode
Waarom het ons dataplek nodig? omdat Google Home verbind is met webhooks wat op die internet toeganklik is. Alhoewel ons GHome aan die plaaslike netwerk gekoppel is, kom die navrae van die Google -wolkdiens af, en daarom is dit nodig dat ons bediener na die internet oorgedra word. In plaas van die hoofpyn, kan ons dataplicity -dienste gebruik om ons framboos pi maklik op die internet te plaas.
Koppel eers aan die framboos pi [direk met HDMI of selfs met SSh] Kry die nuutste nodejs-werktyd vanaf die volgende opdrag in die terminale.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Installeer dit dan met
sudo apt -get install -y nodejs
Skep dan 'n nuwe lêer
nano webserver.js
Stap 8:
Plaas dan die onderstaande kode in die lêer
Hier, vir demonstrasie, gebruik ek slegs twee webwerwe (google, youtube). U kan die kode wysig en dienooreenkomstig verander.
bodyParser = require ('body-parser'); var exec = require ('child_process'). exec; var express = require ('express'); var app = express (); app.use (bodyParser.json ()); app.post ('/', function (req, res) {let variable = req.body.queryResult.parameters.website; exec ("midori www."+variable+". com", function (error, stdout, stderr) {console.log (“stdout:“+ stdout); console.log (“stderr:“+ stderr); if (error! == null) {console.log (“exec errror:“+ error);}})); stuur res.end ();}) terug; app.luister (80);
Stap 9:
Bogenoemde kode is slegs geskryf om die konsep te verduidelik. Ek het die Midori -blaaier in die kode gebruik, aangesien chroom nie met afstandbeheer werk nie. Ons kan ook Firefox gebruik. [Ons moet body-parser, express modules met behulp van npm installeer voordat ons die kode skryf]
Onthou dat ons slegs by poort 80 moet luister, aangesien data slegs poort 80 van die framboospi kan deurstuur.
Nou moet ons Dataplicity opstel
Gaan na die Dataplicity -webwerf en skep u rekening en volg die instruksies om die framboospi by die dashboard te voeg.
Stap 10:
Open daarna framboos pi uit die toestelle lys en kies wormgat om 'n unieke IP -adres vir die framboos pi te kry waarop ons ons nodusbediener kan ontplooi.
Kopieer die IP -adres na die knipbord.
Stap 11:
Begin nou die kode vanaf die framboos pi -terminale
sudo node webserver.js
As dit 'n fout met die skerm of protokolle toon … uitvoer
sudo xhost +
Gaan nou terug na die dialoogvloei en klik op die vervullingsafdeling
Stap 12:
Voer die IP -adres of die URL van die gegewens in die ruimte hierbo in.
Stap 13:
Gaan ten slotte na die afdeling Intents en aktiveer die webhook -oproep vanaf die vervulling -oortjie.
Dis dit! Gaan nou terug na u Google -huis en kyk hoe dit werk!
Tot die volgende keer, Happy Hacking:)
Aanbeveel:
Muurhouer vir iPad as bedieningspaneel vir tuisautomatisering, met behulp van servo -beheerde magneet om die skerm te aktiveer: 4 stappe (met foto's)
Muurhouer vir iPad as 'n bedieningspaneel vir tuisautomatisering, met behulp van 'n servo -beheerde magneet om die skerm te aktiveer: Ek het die afgelope tyd baie tyd spandeer om dinge in en om my huis te outomatiseer. Ek gebruik Domoticz as my Home Automation -toepassing, sien www.domoticz.com vir meer inligting. In my soeke na 'n dashboard -toepassing wat alle Domoticz -inligting saam wys
Hardloop sonder 'n skerm / skerm (sonder kop) op Raspberry Pi of ander Linux / unix -gebaseerde rekenaars: 6 stappe
Hardloop sonder 'n skerm / skerm (sonder kop) op Raspberry Pi of ander Linux / unix -gebaseerde rekenaars: As die meeste mense 'n Raspberry PI koop, dink hulle dat hulle 'n rekenaarskerm nodig het. Moenie u geld mors op onnodige rekenaarmonitors en sleutelborde nie. Moenie u tyd mors om sleutelborde en monitors tussen rekenaars te skuif nie. Moenie 'n TV vasmaak as dit nie is nie
Hoe om 'n intydse klok te maak met Arduino en TFT -skerm - Arduino Mega RTC met 3,5 duim TFT -skerm: 4 stappe
Hoe om 'n intydse horlosie te maak met behulp van Arduino en TFT-skerm | Arduino Mega RTC met 3,5 duim TFT-skerm: Besoek my Youtube-kanaal 2560 en DS3231 RTC-module … .Voordat u begin … kyk na die video van my YouTube-kanaal..Let op:- As u Arduin gebruik
Hoe om musiek te kry van byna enige (Haha) webwerf (solank u dit kan hoor, kan u dit kry Ok, as dit in Flash is ingebed, kan u dit nie redigeer nie) !!!!! Bygevoeg inligting: 4 stappe
Hoe om musiek te kry van byna enige (Haha) webwerf (solank u dit kan hoor, kan u dit kry … Ok, as dit in Flash is ingebed, kan u dit nie redigeer nie) !!!!! Bygevoeg inligting: as u ooit na 'n webwerf gaan en 'n liedjie speel waarvan u hou en dit wil hê, is dit die instruksie dat u nie my skuld het as u iets deurmekaar maak nie (die enigste manier waarop dit kan gebeur, is as u sonder rede begin om dinge uit te vee) ) Ek kon musiek kry vir
Hoe om die hex -kode vir enige kleur op u skerm te kry: 7 stappe
Hoe om die hex-kode vir enige kleur op u skerm te kry: ek sal u wys hoe u die heksadesimale kode kan kry vir enige kleur wat u rekenaarmonitor u wys, sodat u dit kan gebruik in HTML-dokumente en ander fancy-schmancy rekenaarspul. Verbasend genoeg gebruik dit regsagteware