Përmbajtje:

Espelho Mágico: 6 hapa
Espelho Mágico: 6 hapa

Video: Espelho Mágico: 6 hapa

Video: Espelho Mágico: 6 hapa
Video: ESPELHOS MÁGICOS / NAVES IMPERIAIS | MORADA (CLIPE OFICIAL) 2024, Nëntor
Anonim
Image
Image

Neste Instructables më së shumti mund të përdoret nga prototipi i um espelho inteligjencës që ju lejon të informoni informacionin nga klima dhe shënimet, duke përdorur komandimet e tyre.

Përgjigja është se si të përdorni një shërbim, nuk mund të përdorni një zgjidhje të kundërt.

Hapi 1: Pajisje kompjuterike

Hardware
Hardware

Dragonboard 410c

Bordi i Meszaninës Audio

Hapi 2:

Imazhi
Imazhi

Për një program për përdorimin e Visual Studio Community 2017, dhe një gjuhë c#. Një ndërfaqe e madhe e përdorimit të përdoruesit nga redaktuesi XAML në Visual Studio.

Hapi 3: Programação - Detecção De Voz

O Primeiro passo, foi trabalhar com a detecção de voz. Një Placa Audio Mezzanine Board mund të bëjë integrimin e mikrofoneve, për të cilat mund të përdorni për një zbulim. Asnjë Visual Studio, përdor një biblioteca Windows. Media. SpeechRecognition për dekodifikimin e një voz.

Përdorimi i një metode encontrado aqui para një inicialização da detecção de voz, që është më së shumti também abaixo.

private async void InicializaVoz () {var idioma = new Windows. Globalization. Language ("en-US"); SpeechRecognizer njohës = SpeechRecognizer i ri (idioma); njohës. StatetChanged += NjohësStateChanged; njohës. ContinuousRecognitionSession. ResultGenerated += RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = presin Package. Current. InstalledLocation. GetFileAsync (Emri i skedarit); SpeechRecognitionGrammarFileConstraint grammarConstraint = i ri SpeechRecognitionGrammarFileConstraint (gramatikaPërmbajtjaFile); njohës. Kufizimet. Shto (gramatikë Kufizimi); SpeechRecognitionCompilationResult compilationResult = pres njohësin. CompileConstraintsAsync (); if (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("Rezultati:" + compilationResult. ToString ()); pres njohës. ContinuousRecognitionSession. StartAsync (); } else {Debug. WriteLine ("Statusi:" + compilationResult. Status); }}

Aplikoni në reconhecimento, ose në metodën RecognizerResultGjenerata e gjeneruar për të gjitha komandat për interpretimin dhe krahasimin e të gjitha komandave që janë krijuar për konfigurimin e em arquivo xml që është krijuar nga inserido dhe solução.

Mund të shihni një mundësi për të mësuar idioma portugeze, duke përdorur shërbime të ndryshme për të treguar (më shumë) dhe fshehur (përcjellës) dhe për të përcaktuar lajmet (paralajmërimet) e lajmeve (paralajmërimeve).

privat async void RecognizerResultGenerated (SpeechContinuousRecognitionSession session, SpeechContinuousRecognitionResultGeneratedEventArgs args) {

int count = args. Result. SemanticInterpretation. Pronies. Count;

// Kontrolloni për etiketa të ndryshme dhe filloni variablat

String target = args. Result. SemanticInterpretation. Properties. ContainsKey ("target")? args. Result. SemanticInterpretation. Pronies ["target"] [0]. ToString (): "";

Vargu cmd = args. Rezultati. SemanticInterpretation. Pronies. ContainsKey ("cmd")?

args. Result. SemanticInterpretation. Pronies ["cmd"] [0]. ToString (): "";

Pajisja me tela = args. Result. SemanticInterpretation. Properties. ContainsKey ("pajisje")?

args. Result. SemanticInterpretation. Pronies ["pajisje"] [0]. ToString (): "";

// Së pari kontrolloni se cilës pajisje i referohet përdoruesi

nëse (cmd. Barazitë ("shfaq"))

{

if (pajisja. Ekuals ("parashikimi")) {Consulta_previsao (); } tjetër if (pajisje. Ekuale ("lajme")) {Consulta_noticias (); } else {//Debug. WriteLine("Pajisja e panjohur "); }

} tjetër nëse (cmd. Ekuals ("fshih"))

{

if (pajisja. Ekuale ("parashikimi")) {//Tempo. Text = ""; prisni këtë. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Kjo tani funksionon, sepse po funksionon në fijen UI: this. Max_tit. Text = ""; this. Min_tit. Text = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = BitmapImage i ri (Uri i ri ("ms-appx: ///Images/blank.png"));

});

}

përndryshe nëse (pajisja. Ekuals ("lajme")) {e presin këtë. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Kjo tani funksionon, sepse po funksionon në fijen e UI: kjo. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = "";}); } else {// Debug. WriteLine ("Pajisje e panjohur"); }} else {//Debug. WriteLine("Komanda e panjohur "); }

}

Hapi 4: Programação - Exibir Previsão Do Tempo

Shikoni për zbulimin e parashikimit të shfaqjes, ose konsultoni konsultën_previsao për të kërkuar një HTTP ose CPTEC faqe INPE, duke kërkuar që të bëni një shpejtësi në xml. Após a leitura do xml, uma imagem é mostrada na tela de acordo com a previsão e também são mostradas as temperaturas máxima e mínima.

privat async void Consulta_previsao () {

HttpClient httpcliente = i ri HttpClient ();

// HttpResponseMessage resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml"). Rezultati; var resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml"). Rezultati; resp. EnsureSuccessStatusCode (); var respbody = resp. Content. ReadAsStringAsync (); XmlDocument previsao = XmlDocument i ri ();

previsao. LoadXml (respbody. Result);

Rrënjë XmlElement = previsao. DocumentElement;

Nyjet XmlNodeList = root. GetElementsByTagName ("tempo");

string prevtempo = (nyjet. Artikulli (0). InnerText);

string prevtempo1 = (nyjet. Artikulli (1). InnerText); string prevtempo2 = (nyjet. Artikulli (2). InnerText); string prevtempo3 = (nyjet. Artikulli (3). InnerText); nyjet = root. GetElementsByTagName ("minima"); string tempmin = (nyjet. Artikulli (0). InnerText); nyjet = root. GetElementsByTagName ("maksima"); string tempmax = (nyjet. Artikulli (0). InnerText);

string rsultado_previsao = "";

kaloni (paraprakisht)

{case "ec": rsultado_previsao = "Chuvas_Isoladas.png"; pushim; rasti "ci": rsultado_previsao = "Chuvas_Isoladas.png"; pushim; rasti "c": rsultado_previsao = "Chuva.png"; pushim; rasti "in": rsultado_previsao = "Instavel.png"; pushim; rasti "pp": rsultado_previsao = "Chuva.png"; pushim; rasti "cm": rsultado_previsao = "Chuva.png"; pushim; rasti "cn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; pushim; rasti "pt": rsultado_previsao = "Chuva.png"; pushim; rasti "pm": rsultado_previsao = "Chuvas_Isoladas.png"; pushim; rasti "np": rsultado_previsao = "Chuva.png"; pushim; rasti "pc": rsultado_previsao = "Chuva.png"; pushim; rasti "pn": rsultado_previsao = "Nublado.png"; pushim; rasti "cv": rsultado_previsao = "Chuva.png"; pushim; rasti "ch": rsultado_previsao = "Chuva.png"; pushim; rasti "t": rsultado_previsao = "Tempestade.png"; pushim; rasti "ps": rsultado_previsao = "Sol.png"; pushim; rasti "e": rsultado_previsao = "Sol_Encoberto.png"; pushim; rasti "n": rsultado_previsao = "Nublado.png"; pushim; rasti "cl": rsultado_previsao = "Sol.png"; pushim; rasti "nv": rsultado_previsao = "Nevoeiro.png"; pushim; rasti "g": rsultado_previsao = "Neve.png"; pushim; rasti "ne": rsultado_previsao = "Neve.png"; pushim; rasti "nd": rsultado_previsao = "na.png"; pushim; rasti "pnt": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; pushim; rasti "psc": rsultado_previsao = "Chuva.png"; pushim; rasti "pcm": rsultado_previsao = "Chuva.png"; pushim; rasti "pct": rsultado_previsao = "Chuva.png"; pushim; rasti "pcn": rsultado_previsao = "Chuva.png"; pushim; rasti "npt": rsultado_previsao = "Chuva.png"; pushim; rasti "npn": rsultado_previsao = "Chuva.png"; pushim; rasti "ncn": rsultado_previsao = "Chuva.png"; pushim; rasti "nct": rsultado_previsao = "Chuva.png"; pushim; rasti "ncm": rsultado_previsao = "Chuva.png"; pushim; rasti "npm": rsultado_previsao = "Chuva.png"; pushim; rasti "npp": rsultado_previsao = "Chuva.png"; pushim; rasti "vn": rsultado_previsao = "Instavel.png"; pushim; rasti "ct": rsultado_previsao = "Chuva.png"; pushim; rasti "ppn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; pushim; rasti "ppt": rsultado_previsao = "Chuva.png"; pushim; rasti "ppm": rsultado_previsao = "Chuva.png"; pushim;

}

prisni këtë. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Kjo tani funksionon, sepse po funksionon në fijen e UI: this. Max_tit. Text = "Máxima"; this. Min_tit Tekst = "Mínima"; this. Min. Text = tempmin + "°"; this. Max. Text = tempmax + "°"; this. Img_Tempo. Source = BitmapImage i ri (Uri i ri ("ms-appx: /// Imazhet/" + rsultado_previsao));});

}

Hapi 5: Programação - Exibir Notícias

Shikoni për zbulimin e lajmeve të shfaqjes, ose konsultimin e konsultës_noticias për të kërkuar një HTTP ose një njoftim për BBC, për një kohë të shkurtër në XML. Si cinco Primeiras notícias são exibidas na tela em textblocks.

private async void Consulta_noticias () {

HttpClient httpcliente2 = i ri HttpClient ();

var resp2 = httpcliente2. GetAsync ("https://feeds.bbci.co.uk/portuguese/rss.xml"). Rezultati;

resp2. EnsureSuccessStatusCode (); var respbody2 = resp2. Content. ReadAsStringAsync (); XmlDocument noticia = XmlDocument i ri ();

noticia. LoadXml (respbody2. Result);

XmlElement root2 = noticia. DocumentElement;

Nyjet XmlNodeList2 = root2. GetElementsByTagName (@"titulli");

presin këtë. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () =>

{this. News1. Text = (nyjet2. Artikulli (2). InterText); this. News2. Text = (nyjet2. Artikulli (3). Teksti i brendshëm); this. News3. Text = (nyjet2. Artikulli (4). Teksti i brendshëm); this. News4. Text = (nyjet2. Artikulli (5). Teksti i brendshëm); this. News5. Text = (nyjet2. Artikulli (6). Teksti i brendshëm);

});

}

Hapi 6: Përfundim

Për të riprodhuar udhëzime të tjera, mund të realizoni zbulimin e komandave të përdorura nga përdorimi i alguma placa në Windos IoT Core instalado. Basta criar o arquivo de gramática com os comandos desejados.

Autore: Egon Patrick Marques Silva

Frederico Clark

Recommended: