תוכן עניינים:

Espelho Mágico: 6 שלבים
Espelho Mágico: 6 שלבים

וִידֵאוֹ: Espelho Mágico: 6 שלבים

וִידֵאוֹ: Espelho Mágico: 6 שלבים
וִידֵאוֹ: 6. Easter Island - Where Giants Walked 2024, נוֹבֶמבֶּר
Anonim
Image
Image

Neste Instructables מכתבים רבים יותר ויותר על הפרוטוקול של מידע זה יכול להוות מידע על קלימה והערות.

Embora seja o projeto de um espelho, não houve como utilizar um devido a contratempos.

שלב 1: חומרה

חוּמרָה
חוּמרָה

דרגוןבורד 410c

לוח ביניים של אודיו

שלב 2:

תמונה
תמונה

עבור תוכנת שימוש עבור Visual Studio Community 2017, ולשפה c#. ממשק המשתמש יכול להשתמש בעורך XAML ב- Visual Studio.

שלב 3: Programação - Detecção De Voz

O primeiro passo, foi trabalhar com a detecção de voz. A Board Mezzanine Board כן יש אפשרות לשלב מיקרופונים אינטגרדיים, שיכולים להיות שימושיים לאיתור. אין Visual Studio, משתמש ב- biblioteca Windows. Media. SpeechRecognition עבור decodificar a voz.

Foi utilizado o método encontrado aqui para in 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 = SpeechRecognizer חדש (ניבים); מזהה. StateChanged += RecognizerStateChanged; מזהה. ContinuousRecognitionSession. ResultGenerated += RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = avvent Package. Current. InstalledLocation. GetFileAsync (fileName); SpeechRecognitionGrammarFileConstraint grammarConstraint = new SpeechRecognitionGrammarFileConstraint (grammarContentFile); מזהה. Constraints. Add (grammarConstraint); SpeechRecognitionCompilationResult compilationResult = ממתין לזהות. if (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("Result:" + compilationResult. ToString ()); ממתינים לזהות.קונטיינרסיוניקשן.סיטשן. StartAsync (); } else {Debug. WriteLine ("Status:" + compilationResult. Status); }}

מידע נוסף על השחזור או על Recognizer של התוצאות שנוצרו על ידי תוכניות שנוצרו על ידי פרשנויות והפרשויות של קומנדוס.

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;

// בדוק תגים שונים ואתחל את המשתנים

יעד מחרוזת = args. Result. SemanticInterpretation. Properties. ContainsKey ("יעד")? args. Result. SemanticInterpretation. Properties ["target"] [0]. ToString (): "";

מחרוזת cmd = args. Result. SemanticInterpretation. Properties. ContainsKey ("cmd")?

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

מכשיר מחרוזת = args. Result. SemanticInterpretation. Properties. ContainsKey ("מכשיר")?

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

// בדוק תחילה לאיזה מכשיר המשתמש מתייחס

if (cmd. Equals ("הצג"))

{

if (device. Equals ("תחזית")) {Consulta_previsao (); } אחר אם (device. Equals ("חדשות")) {Consulta_noticias (); } אחר {//Debug. WriteLine("מכשיר לא ידוע "); }

} אחרת אם (cmd. Equals ("הסתר"))

{

if (device. Equals ("תחזית")) {//Tempo. Text = ""; המתן ל- this. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// זה עובד כעת, מכיוון שהוא פועל בשרשור ממשק המשתמש: this. Max_tit. Text = ""; this. Min_tit. Text = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = חדש BitmapImage (אורי חדש ("ms-appx: ///Images/blank.png"));

});

}

אחרת אם (device. Equals ("חדשות")) {ממתינים ל- this. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// זה עובד עכשיו כי זה פועל בשרשור ממשק המשתמש: זה. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = "";}); } אחר {// Debug. WriteLine ("מכשיר לא ידוע"); }} אחר {//Debug. WriteLine("פקודה לא ידועה "); }

}

שלב 4: Programação - Exibir Previsão Do Tempo

ניתן לראות את התחזית לתצוגות הצגה, או לקבל מידע על HTTP באתר CPTEC do INPE, return a previsão do tem em arquivo xml. אם אתה יכול להשתמש ב- xml, תוכל להיראות אם אתה יכול לראות את הטרמינציה שלך כטמפרטורות של מקסימליות ומינימליות.

private async void Consulta_previsao () {

HttpClient httpcliente = 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 = XmlDocument חדש ();

previsao. LoadXml (respbody. Result);

שורש XmlElement = previsao. DocumentElement;

צמתים XmlNodeList = root. GetElementsByTagName ("קצב");

string prevtempo = (nodes. Item (0). InnerText);

string prevtempo1 = (nodes. Item (1). InnerText); string prevtempo2 = (nodes. Item (2). InnerText); string prevtempo3 = (nodes. Item (3). InnerText); צמתים = root. GetElementsByTagName ("מינימה"); string tempmin = (nodes. Item (0). InnerText); צמתים = root. GetElementsByTagName ("maxima"); string tempmax = (nodes. Item (0). InnerText);

string rsultado_previsao = "";

מתג (prevtempo)

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

}

המתן ל- this. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// זה עובד עכשיו, כי זה פועל בשרשור ממשק המשתמש: this. Max_tit. Text = "Máxima"; this. Min_tit. Text = "Minima"; this. Min. Text = tempmin + "°"; this. Max. Text = tempmax + "°"; this. Img_Tempo. Source = new BitmapImage (חדש אורי ("ms-appx: /// תמונות/" + rsultado_previsao));});

}

שלב 5: Programação - Exibir Notícias

ניתן למצוא מידע על חדשות התוכנית, או לקבל מידע על HTTP על הזנת HTTP והזנת הודעות ב- BBC. כמו cinco primeiras notícias são exibidas na tela em textblocks.

private async void Consulta_noticias () {

HttpClient httpcliente2 = HttpClient חדש ();

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

resp2. EnsureSuccessStatusCode (); var respbody2 = resp2. Content. ReadAsStringAsync (); XmlDocument noticia = חדש XmlDocument ();

noticia. LoadXml (respbody2. Result);

XmlElement root2 = noticia. DocumentElement;

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

המתן ל- this. 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);

});

}

שלב 6: מסקנה

Ao reproduzir esse instructables, será possível realizar detecção de comandos de voz utilizando alguma placa com of Windos IoT Core installalado. Basta criar o arquivo de gramática com os comandos desejados.

מחברים: אגון פטריק מארקס סילבה

פרדריקו קלארק

מוּמלָץ: