Talaan ng mga Nilalaman:

Espelho Mágico: 6 na Hakbang
Espelho Mágico: 6 na Hakbang

Video: Espelho Mágico: 6 na Hakbang

Video: Espelho Mágico: 6 na Hakbang
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Nobyembre
Anonim
Image
Image

Ang Mga Tagubilin sa Neste ay nagtuturo ng mga proteksyon ng mga tagapagtaguyod ng impormasyon tungkol sa mga proyekto at mga ulat, paggamit ng mga comandos de voz.

Mag-isip ng isang proyekto o suporta, kung saan maaari kang gumawa ng isang kontratempos.

Hakbang 1: Hardware

Hardware
Hardware

Dragonboard 410c

Audio Mezzanine Board

Hakbang 2:

Larawan
Larawan

Para sa programa na magagamit ng Visual Studio Community 2017, at isang wika c #. Ang isang interface ay gumagamit ng editor XAML gawin ang Visual Studio.

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

O primeiro passo, foi trabalhar com a detecção de voz. Ang isang Placa Audio Mezzanine Board ay maaaring gawin ang mga microfones integrado, para sa mga magagamit na pamamaraan para sa isang detecção. Walang Visual Studio, magagamit ang isang biblioteca Windows. Media. SpeechRecognition para decodificar a voz.

Maaari mong gamitin ang metodox encontrado para sa isang opisyal na detalyado ng voz, que é mostrado também abaixo.

pribadong async walang bisa InicializaVoz () {var idioma = bagong Windows. Globalization. Language ("en-US"); Kilalanin ang SpeechRecognizer = bagong SpeechRecognizer (idioma); kinikilala. StateChanged + = RecognizerStateChanged; kinikilala. ContinuousRecognitionSession. ResultGenerated + = RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = naghihintay sa Package. Current. InstalledLocation. GetFileAsync (fileName); SpeechRecognitionGrammarFileConstraint grammarConstraint = bagong SpeechRecognitionGrammarFileConstraint (grammarContentFile); kinikilala. Constraints. Add (grammarConstraint); SpeechRecognitionCompilationResult compilationResult = naghihintay ng kinikilala. CompileConstraintsAsync (); kung (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("Result:" + compilationResult. ToString ()); naghihintay ng kinikilala. ContinuousRecognitionSession. StartAsync (); } iba pa {Debug. WriteLine ("Status:" + compilationResult. Status); }}

Ang mga katanungan sa reconhecimento, o método RecognizerResultGenerated recebe os comandos que foram interpretados at compara com os comandos com os que estão configurados em um arquivo xml que foi criado e inserido na solução.

Como não foi possível inserir o idioma português, os comandos utilizados foram show (mostrar) at itago (esconder) e o que deve ser mostrado forecast (previsão) at news (notícias).

pribadong async void RecognizerResultGenerated (sesyon ng SpeechContinuousRecognitionSession, SpeechContinuousRecognitionResultGeneratedEventArgs args) {

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

// Suriin ang iba't ibang mga tag at simulan ang mga variable

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

String cmd = args. Result. SemanticInterpretation. Croperties. ContainsKey ("cmd")?

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

String device = args. Result. SemanticInterpretation. Properties. ContainsKey ("aparato")?

args. Result. SemanticInterpretation. Properties ["aparato"] [0]. ToString (): "";

// Una suriin kung aling aparato ang tinukoy ng gumagamit

kung (cmd. Equals ("show"))

{

kung (device. Equals ("forecast")) {Consulta_previsao (); } iba pa kung (device. Equals ("balita")) {Consulta_noticias (); } iba pa {//Debug. WriteLine("Unknown Device "); }

} iba pa kung (cmd. Equals ("itago"))

{

kung (aparato. Equals ("forecast")) {//Tempo. Text = ""; hintayin ito. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Gumagana ito ngayon, dahil tumatakbo ito sa thread ng UI: this. Max_tit. Text = ""; this. Min_tit. Text = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = bagong BitmapImage (bagong Uri ("ms-appx: ///Images/blank.png"));

});

}

kung hindi man kung (device. Equals ("balita")) {naghihintay dito. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Gumagana na ito ngayon, dahil tumatakbo ito sa thread ng UI: ito. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = "";}); } iba pa {// Debug. WriteLine ("Hindi Kilalang Device"); }} iba pa {//Debug. WriteLine("Unknown Command "); }

}

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

Maaari mong makita ang tungkol sa pagtataya ng palabas, o kailanganin ng Consulta_previsao para sa lahat ng kinakailangan HTTP sa isang site na CPTEC gawin ang INPE, na gagamitin ang isang previsão do tempo em um arquivo xml. Narito ang isang leitura do xml, lahat ay naisip na tela de acordo com a previsão e também são mostradas as temperaturas máxima e mínima.

pribadong async walang bisa Consulta_previsao () {

HttpClient httpcliente = bagong 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 = bagong XmlDocument ();

previsao. LoadXml (respbody. Result);

XmlElement root = previsao. DocumentElement;

XmlNodeList nodes = 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); nodes = root. GetElementsByTagName ("minima"); string tempmin = (nodes. Item (0). InnerText); nodes = root. GetElementsByTagName ("maxima"); string tempmax = (nodes. Item (0). InnerText);

string rsultado_previsao = "";

switch (prevtempo)

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

}

hintayin ito. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Gumagana ito ngayon, dahil tumatakbo ito sa thread ng UI: this. Max_tit. Text = "Máxima"; this. Min_tit. Text = "Mínima"; this. Min. Text = tempmin + "°"; this. Max. Text = tempmax + "°"; this. Img_Tempo. Source = bagong BitmapImage (bagong Uri ("ms-appx: /// Mga Larawan / "+ rsultado_previsao));});

}

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

Para sa napansin na balita para sa palabas, kailangan ng Consulta_noticias envia para maghintay ng HTTP sa feed ng mga notista mula sa BBC, na mag-ayos ng XML. Bilang cinco primeiras notícias são exibidas na tela em textblocks.

pribadong async void Consulta_noticias () {

HttpClient httpcliente2 = bagong HttpClient ();

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

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

noticia. LoadXml (respbody2. Result);

XmlElement root2 = noticia. DocumentElement;

XmlNodeList nodes2 = root2. GetElementsByTagName (@ "title");

hintayin ito. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. Mataas, () =>

{this. News1. Text = (nodes2. Iem (2). InnerText); this. News2. Txt = (nodes2. Iem (3). InnerTxt); this. News3. Txt = (nodes2. Iem (4). InnerTxt); this. News4. Txt = (nodes2. Iem (5). InnerTxt); this. News5. Txt = (nodes2. Iem (6). InnerTxt);

});

}

Hakbang 6: Conclusão

Ang mga taong nagtuturo ng mga instruksyon, ay maaaring magtapos ng detalyadong impormasyon tungkol sa pag-install ng Windos IoT Core. Basta criar o arquivo de gramática com os comandos desejados.

Autores: Egon Patrick Marques Silva

Frederico Clark

Inirerekumendang: