Innholdsfortegnelse:
- Trinn 1: Maskinvare
- Steg 2:
- Trinn 3: Programação - Detecção De Voz
- Trinn 4: Programação - Exibir Previsão Do Tempo
- Trinn 5: Programação - Exibir Notícias
- Trinn 6: Konklusjon
Video: Espelho Mágico: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Neste instrukser kan brukes til å skrive inn informasjon om klimaet og notifikasjonene.
Embora seja o projeto de um espelho, não houve como utilizar um devido a contratempos.
Trinn 1: Maskinvare
Dragonboard 410c
Audio Mezzanine Board
Steg 2:
For a programação foi utilizado of Visual Studio Community 2017, og et språk#. Et grensesnitt for grafisk bruk av redaktør XAML for Visual Studio.
Trinn 3: Programação - Detecção De Voz
O primeiro passo, foi trabalhar com a detecção de voz. En plass på Audio Mezzanine Board er mulig for integrerte mikrofoner, som kan brukes for en deteksjon. Ingen Visual Studio, bruker en biblioteca Windows. Media. SpeechRecognition for decodificar a voz.
Foi utilizado o método encontrado aqui para a inicialização da detecção de voz, que é mostrado também abaixo.
private async void InicializaVoz () {var idioma = new Windows. Globalization. Language ("en-US"); SpeechRecognizer gjenkjenner = ny SpeechRecognizer (idioma); anerkjenner. StateChanged += RecognizerStateChanged; Recognizer. ContinuousRecognitionSession. ResultGenerated += RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = venter på Package. Current. InstalledLocation. GetFileAsync (filnavn); SpeechRecognitionGrammarFileConstraint grammarConstraint = new SpeechRecognitionGrammarFileConstraint (grammarContentFile); gjenkjenner. Constraints. Add (grammarConstraint); SpeechRecognitionCompilationResult compilationResult = venter på gjenkjenner. CompileConstraintsAsync (); if (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("Resultat:" + compilationResult. ToString ()); venter på gjenkjenner. ContinuousRecognitionSession. StartAsync (); } annet {Debug. WriteLine ("Status:" + compilationResult. Status); }}
Vi kan også kjenne igjen rekonstruksjoner, eller gjenkjenne resultateneGenererte anbefalinger kan fortolkes og sammenlignes med kommandoer.
Como não foi possível inserir o idioma português, os comandos utilizados foram show (mostrar) e hide (esconder) e o que deve ser mostrado forecast (previsão) e news (notícias).
private async void RecognizerResultGenerated (SpeechContinuousRecognitionSession session, SpeechContinuousRecognitionResultGeneratedEventArgs args) {
int count = args. Result. SemanticInterpretation. Properties. Count;
// Se etter forskjellige tagger og initialiser variablene
String target = args. Result. SemanticInterpretation. Properties. ContainsKey ("target")? args. Result. SemanticInterpretation. Properties ["target"] [0]. ToString (): "";
String cmd = args. Result. SemanticInterpretation. Properties. ContainsKey ("cmd")?
args. Result. SemanticInterpretation. Properties ["cmd"] [0]. ToString (): "";
String device = args. Result. SemanticInterpretation. Properties. ContainsKey ("device")?
args. Result. SemanticInterpretation. Properties ["device"] [0]. ToString (): "";
// Kontroller først hvilken enhet brukeren refererer til
if (cmd. Equals ("vis"))
{
if (device. Equals ("prognose")) {Consulta_previsao (); } annet hvis (device. Equals ("nyheter")) {Consulta_noticias (); } annet {//Debug. WriteLine("Ukjent enhet "); }
} annet hvis (cmd. Equals ("skjul"))
{
if (device. Equals ("prognose")) {//Tempo. Text = ""; venter på dette. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Dette fungerer nå, fordi det kjører på UI -tråden: this. Max_tit. Text = ""; this. Min_tit. Text = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = ny BitmapImage (ny Uri ("ms-appx: ///Images/blank.png"));
});
}
ellers hvis (device. Equals ("nyheter")) {venter på dette. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Dette fungerer nå, fordi det kjører på UI -tråden: dette. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = "";}); } annet {// Debug. WriteLine ("Ukjent enhet"); }} annet {//Debug. WriteLine("Ukjent kommando "); }
}
Trinn 4: Programação - Exibir Previsão Do Tempo
Se o comando de voz detectado for show forecast, o método Consulta_previsao envia uma requisição HTTP ao site CPTEC do INPE, que retorna a previsão do tempo em um arquivo xml. Du kan bruke xml til å vise en temperatur som kan brukes som tidligere temperaturer og temperaturer.
private async void Consulta_previsao () {
HttpClient httpcliente = ny HttpClient ();
// HttpResponseMessage resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml"). Result; var resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml"). Result; resp. EnsureSuccessStatusCode (); var respbody = resp. Content. ReadAsStringAsync (); XmlDocument previsao = nytt XmlDocument ();
previsao. LoadXml (respbody. Result);
XmlElement root = previsao. DocumentElement;
XmlNodeList -noder = root. GetElementsByTagName ("tempo");
string prevtempo = (nodes. Item (0). InnerText);
string prevtempo1 = (nodes. Item (1). InnerText); string prevtempo2 = (nodes. Item (2). InnerText); string prevtempo3 = (nodes. Item (3). InnerText); noder = root. GetElementsByTagName ("minima"); streng tempmin = (nodes. Item (0). InnerText); noder = root. GetElementsByTagName ("maxima"); streng tempmax = (nodes. Item (0). InnerText);
string rsultado_previsao = "";
bytte (forutgående)
{case "ec": rsultado_previsao = "Chuvas_Isoladas.png"; gå i stykker; case "ci": rsultado_previsao = "Chuvas_Isoladas.png"; gå i stykker; case "c": rsultado_previsao = "Chuva.png"; gå i stykker; case "in": rsultado_previsao = "Instavel.png"; gå i stykker; case "pp": rsultado_previsao = "Chuva.png"; gå i stykker; case "cm": rsultado_previsao = "Chuva.png"; gå i stykker; case "cn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; gå i stykker; case "pt": rsultado_previsao = "Chuva.png"; gå i stykker; case "pm": rsultado_previsao = "Chuvas_Isoladas.png"; gå i stykker; case "np": rsultado_previsao = "Chuva.png"; gå i stykker; case "pc": rsultado_previsao = "Chuva.png"; gå i stykker; case "pn": rsultado_previsao = "Nublado.png"; gå i stykker; case "cv": rsultado_previsao = "Chuva.png"; gå i stykker; case "ch": rsultado_previsao = "Chuva.png"; gå i stykker; case "t": rsultado_previsao = "Tempestade.png"; gå i stykker; case "ps": rsultado_previsao = "Sol.png"; gå i stykker; case "e": rsultado_previsao = "Sol_Encoberto.png"; gå i stykker; case "n": rsultado_previsao = "Nublado.png"; gå i stykker; case "cl": rsultado_previsao = "Sol.png"; gå i stykker; case "nv": rsultado_previsao = "Nevoeiro.png"; gå i stykker; case "g": rsultado_previsao = "Neve.png"; gå i stykker; case "ne": rsultado_previsao = "Neve.png"; gå i stykker; case "nd": rsultado_previsao = "na.png"; gå i stykker; case "pnt": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; gå i stykker; case "psc": rsultado_previsao = "Chuva.png"; gå i stykker; case "pcm": rsultado_previsao = "Chuva.png"; gå i stykker; case "pct": rsultado_previsao = "Chuva.png"; gå i stykker; case "pcn": rsultado_previsao = "Chuva.png"; gå i stykker; case "npt": rsultado_previsao = "Chuva.png"; gå i stykker; case "npn": rsultado_previsao = "Chuva.png"; gå i stykker; case "ncn": rsultado_previsao = "Chuva.png"; gå i stykker; case "nct": rsultado_previsao = "Chuva.png"; gå i stykker; case "ncm": rsultado_previsao = "Chuva.png"; gå i stykker; case "npm": rsultado_previsao = "Chuva.png"; gå i stykker; case "npp": rsultado_previsao = "Chuva.png"; gå i stykker; case "vn": rsultado_previsao = "Instavel.png"; gå i stykker; case "ct": rsultado_previsao = "Chuva.png"; gå i stykker; case "ppn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; gå i stykker; case "ppt": rsultado_previsao = "Chuva.png"; gå i stykker; case "ppm": rsultado_previsao = "Chuva.png"; gå i stykker;
}
avvente this. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Dette fungerer nå, fordi det kjører på UI -tråden: this. Max_tit. Text = "Máxima"; this. Min_tit. Text = "Mínima"; this. Min. Text = tempmin + "°"; this. Max. Text = tempmax + "°"; this. Img_Tempo. Source = new BitmapImage (new Uri ("ms-appx: /// Bilder/" + rsultado_previsao));});
}
Trinn 5: Programação - Exibir Notícias
Se et kommando for registrering av shownyheter, eller les mer om konsultasjon av HTTP og feed for notifikasjoner fra BBC, og lagre om XML. Som cinco primeiras notícias são exibidas na tela em textblocks.
private async void Consulta_noticias () {
HttpClient httpcliente2 = new HttpClient ();
var resp2 = httpcliente2. GetAsync ("https://feeds.bbci.co.uk/portuguese/rss.xml"). Result;
resp2. EnsureSuccessStatusCode (); var respbody2 = resp2. Content. ReadAsStringAsync (); XmlDocument noticia = nytt XmlDocument ();
noticia. LoadXml (respbody2. Result);
XmlElement root2 = noticia. DocumentElement;
XmlNodeList nodes2 = root2. GetElementsByTagName (@"title");
venter på dette. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () =>
{this. News1. Text = (nodes2. Item (2). InnerText); this. News2. Text = (nodes2. Item (3). InnerText); this. News3. Text = (nodes2. Item (4). InnerText); this. News4. Text = (nodes2. Item (5). InnerText); this. News5. Text = (nodes2. Item (6). InnerText);
});
}
Trinn 6: Konklusjon
Ao reproduzir esse instructables, será possível realizar detecção de comandos de voz utilizando alguma placa com of Windos IoT Core installasjon. Basta criar o arquivo de gramática com os comandos desejados.
Forfattere: Egon Patrick Marques Silva
Frederico Clark
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte