תוכן עניינים:
- שלב 1: חומרה
- שלב 2:
- שלב 3: Programação - Detecção De Voz
- שלב 4: Programação - Exibir Previsão Do Tempo
- שלב 5: Programação - Exibir Notícias
- שלב 6: מסקנה
וִידֵאוֹ: Espelho Mágico: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
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.
מחברים: אגון פטריק מארקס סילבה
פרדריקו קלארק
מוּמלָץ:
כיצד לבצע אנטנת BiQuade כפולה 4G LTE שלבים פשוטים: 3 שלבים
כיצד להפוך אנטנת 4G LTE BiQuade כפולה לשלבים קלים: לרוב לא עמדתי בפני, אין לי עוצמת אות טובה לעבודות היום-יומיות שלי. לכן. אני מחפש ומנסה סוגים שונים של אנטנות אבל לא עובד. לאחר בזבוז זמן מצאתי אנטנה שאני מקווה לייצר ולבדוק, כי זה עקרון הבנייה לא
עיצוב משחק בקפיצה ב -5 שלבים: 5 שלבים
עיצוב משחק בקפיצה ב -5 שלבים: פליק הוא דרך פשוטה מאוד ליצור משחק, במיוחד משהו כמו פאזל, רומן חזותי או משחק הרפתקאות
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: 3 שלבים
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: במדריך זה אנו הולכים לבצע זיהוי פנים ב- Raspberry Pi 4 עם Shunya O/S באמצעות ספריית Shunyaface. Shunyaface היא ספריית זיהוי/זיהוי פנים. הפרויקט שואף להשיג את מהירות הזיהוי והזיהוי המהירה ביותר עם
מהדורת ליל כל הקדושים של Arduino - מסך קופץ זומבים (שלבים עם תמונות): 6 שלבים
מהדורת ליל כל הקדושים של Arduino - מסך פופ -אאוט של זומבים (צעדים עם תמונות): רוצה להפחיד את החברים שלך ולעשות רעש צורח בהלווין? או סתם רוצה לעשות מתיחה טובה? המסך הקופץ הזה של זומבים יכול לעשות זאת! במדריך זה אלמד אותך כיצד ליצור זומבים קופצים בקלות באמצעות Arduino. ה- HC-SR0
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: 3 שלבים
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: במדריך זה אראה לך את השלבים החיוניים להתקנת תוסף וורדפרס לאתר שלך. בעיקרון אתה יכול להתקין תוספים בשתי דרכים שונות. השיטה הראשונה היא באמצעות ftp או דרך cpanel. אבל אני לא אפרט את זה כיוון שזה באמת משלים