جدول المحتويات:
- الخطوة 1: الأجهزة
- الخطوة 2:
- الخطوة 3: Programação - Detecção De Voz
- الخطوة 4: Programação - Exibir Previsão Do Tempo
- الخطوة 5: Programação - Exibir Notícias
- الخطوة 6: Conclusão
فيديو: إسبيلو ماجيكو: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
Neste Instructables mostramos como criar um protótipo de um espelho inteligente que projeta informações de clima e notícias، utilizando comandos de voz.
Embora seja o projeto de um espelho، não houve como useizar um devido a contatempos.
الخطوة 1: الأجهزة
دراغون بورد 410 ج
مجلس الميزانين الصوتي
الخطوة 2:
الفقرة برنامج لاستخدامه في Visual Studio Community 2017 ، e a linguagem c #. واجهة رائعة لاستخدام محرر XAML في Visual Studio.
الخطوة 3: Programação - Detecção De Voz
O primeiro passo ، foi trabalhar com a detecção de voz. لوحة الميزانين السمعية بلاكا يمكنك استخدام الميكروفونات الخاصة بالميكروفونات ، كيو فورام للاستخدامات الخاصة بك. لا يوجد Visual Studio ، يستخدم مكتبة Windows. Media. SpeechRecognition para decodificar a voz.
Foi utilizado o método encontrado aqui para a inicialização da detecção de voz، que é mostrado também abaixo.
الفراغ غير المتزامن الخاص InicializaVoz () {var idioma = new Windows. Globalization. Language ("en-US") ؛ أداة التعرف على SpeechRecognizer = SpeechRecognizer الجديد (idioma) ؛ Recognizer. StateChanged + = RecognizerStateChanged ؛ Recognizer. ContinuousRecognitionSession. ResultGenerated + = RecognizerResultGenerated ؛ string fileName = String. Format (SRGS_FILE) ، StorageFile grammarContentFile = await Package. Current. InstalledLocation. GetFileAsync (fileName) ؛ SpeechRecognitionGrammarFileConstraint grammarConstraint = new SpeechRecognitionGrammarFileConstraint (grammarContentFile) ؛ أداة التعرف. Constraints. Add (grammarConstraint) ؛ SpeechRecognitionCompilationResult compilationResult = انتظار Recognizer. CompileConstraintsAsync ()؛ if (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("النتيجة:" + compilationResult. ToString ())؛ في انتظار التعرف. ContinuousRecognitionSession. StartAsync () ، } else {Debug. WriteLine ("Status:" + compilationResult. Status)؛ }}
عمليات الاسترداد والاستعادة ، أداة التعرف على النتائج ، النتائج التي تم إنشاؤها من خلال قائمة الأوامر التي تم إنشاؤها.
Como não foi posí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).
أداة التعرف على الفراغ غير المتزامن الخاص (RecultGenerated (جلسة SpeechContinuousRecognitionSession ، SpeechContinuousRecognitionResultGeneratedEventArgs args) {
int count = args. Result. SemanticInterpretation. Properties. Count ؛
// تحقق من وجود علامات مختلفة وقم بتهيئة المتغيرات
هدف السلسلة = args. Result. SemanticInterpretation. Properties. ContainsKey ("الهدف")؟ args. Result. SemanticInterpretation. Properties ["target"] [0]. ToString (): ""؛
String 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 (): ""؛
// تحقق أولاً من الجهاز الذي يشير إليه المستخدم
إذا (cmd. Equals ("إظهار"))
{
if (device. Equals ("Forecast")) {Consulta_previsao () ؛ } else if (device. Equals ("news")) {Consulta_noticias ()؛ } else {//Debug. WriteLine("Unknown Device ")؛ }
} else if (cmd. Equals ("hide"))
{
if (device. Equals ("Forecast")) {//Tempo. Text = ""؛ انتظر هذا. = "" ؛ this. Min. Text = "" ؛ this. Max. Text = "" ؛ this. Img_Tempo. Source = صورة BitmapImage جديدة (Uri جديد ("ms-appx: ///Images/blank.png")) ؛
});
}
else if (device. Equals ("news")) {await this. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High، () => {// هذا يعمل الآن ، لأنه يعمل على مؤشر ترابط واجهة المستخدم: هذا. News1. Text = ""؛ this. News2. Text = ""؛ this. News3. Text = ""؛ this. News4. Text = ""؛ this. News5. Text = ""؛})؛ } else {// Debug. WriteLine ("جهاز غير معروف") ؛ }} else {//Debug. WriteLine("Unknown Command ")؛ }
}
الخطوة 4: Programação - Exibir Previsão Do Tempo
قم بتنفيذ الأمر لعرض توقعات العرض ، أو عرض الأمر Consulta_previsao envia uma Requisição HTTP ao site CPTEC do INPE ، que retorna a previsão do tempo em um arquivo 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 temperature máxima e mínima.
باطل غير متزامن خاص Consulta_previsao () {
HttpClient httpcliente = new 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 ("tempo") ؛
سلسلة prevtempo = (nodes. Item (0). InnerText) ؛
سلسلة prevtempo1 = (nodes. Item (1). InnerText) ؛ سلسلة prevtempo2 = (nodes. Item (2). InnerText) ؛ سلسلة prevtempo3 = (nodes. Item (3). InnerText) ؛ العقد = root. GetElementsByTagName ("minima") ؛ سلسلة tempmin = (nodes. Item (0). InnerText) ؛ العقد = root. GetElementsByTagName ("maxima") ؛ سلسلة tempmax = (nodes. Item (0). InnerText) ؛
سلسلة rsultado_previsao = ""؛
التبديل (prevtempo)
{حالة "ec": rsultado_previsao = "Chuvas_Isoladas.png"؛ استراحة؛ حالة "ci": rsultado_previsao = "Chuvas_Isoladas.png"؛ استراحة؛ الحالة "c": rsultado_previsao = "Chuva.png"؛ استراحة؛ الحالة "في": rsultado_previsao = "Instavel.png"؛ استراحة؛ الحالة "pp": rsultado_previsao = "Chuva.png"؛ استراحة؛ الحالة "cm": rsultado_previsao = "Chuva.png"؛ استراحة؛ case "cn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"؛ استراحة؛ الحالة "pt": rsultado_previsao = "Chuva.png" ؛ استراحة؛ case "pm": rsultado_previsao = "Chuvas_Isoladas.png"؛ استراحة؛ حالة "np": rsultado_previsao = "Chuva.png"؛ استراحة؛ حالة "الكمبيوتر": rsultado_previsao = "Chuva.png" ؛ استراحة؛ حالة "pn": rsultado_previsao = "Nublado.png" ؛ استراحة؛ حالة "cv": rsultado_previsao = "Chuva.png" ؛ استراحة؛ حالة "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"؛ استراحة؛ حالة "cl": rsultado_previsao = "Sol.png"؛ استراحة؛ حالة "nv": rsultado_previsao = "Nevoeiro.png"؛ استراحة؛ الحالة "g": rsultado_previsao = "Neve.png"؛ استراحة؛ الحالة "ne": rsultado_previsao = "Neve.png"؛ استراحة؛ الحالة "nd": rsultado_previsao = "na.png"؛ استراحة؛ الحالة "pnt": rsultado_previsao = "Chuvas_Isoladas_Noite.png"؛ استراحة؛ الحالة "psc": rsultado_previsao = "Chuva.png" ؛ استراحة؛ الحالة "pcm": rsultado_previsao = "Chuva.png"؛ استراحة؛ حالة "pct": rsultado_previsao = "Chuva.png" ؛ استراحة؛ الحالة "pcn": rsultado_previsao = "Chuva.png" ؛ استراحة؛ الحالة "npt": rsultado_previsao = "Chuva.png"؛ استراحة؛ الحالة "npn": rsultado_previsao = "Chuva.png" ؛ استراحة؛ الحالة "ncn": rsultado_previsao = "Chuva.png" ؛ استراحة؛ حالة "nct": rsultado_previsao = "Chuva.png"؛ استراحة؛ الحالة "ncm": rsultado_previsao = "Chuva.png"؛ استراحة؛ حالة "npm": rsultado_previsao = "Chuva.png" ؛ استراحة؛ case "npp": rsultado_previsao = "Chuva.png"؛ استراحة؛ الحالة "vn": rsultado_previsao = "Instavel.png" ؛ استراحة؛ case "ct": rsultado_previsao = "Chuva.png"؛ استراحة؛ الحالة "ppn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"؛ استراحة؛ الحالة "ppt": rsultado_previsao = "Chuva.png" ؛ استراحة؛ الحالة "ppm": rsultado_previsao = "Chuva.png"؛ استراحة؛
}
انتظر هذا. Text = "Mínima" ؛ this. Min. Text = tempmin + "°" ؛ this. Max. Text = tempmax + "°" ؛ this. Img_Tempo. Source = صورة نقطية جديدة (Uri جديد ("ms-appx: /// الصور / "+ rsultado_previsao)) ؛}) ؛
}
الخطوة 5: Programação - Exibir Notícias
قم بعمل كشف عن أخبار البرامج ، أو استشر المعلومات المطلوبة من HTTP ao feed de notícias da BBC، que também retorna um XML. كما cinco primeiras notícias são exibidas na tela em textblocks.
باطل غير متزامن خاص 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 = new XmlDocument () ،
noticia. LoadXml (respbody2. Result) ،
XmlElement root2 = noticia. DocumentElement ؛
XmlNodeList nodes2 = root2. GetElementsByTagName (@ "title")؛
في انتظار هذا. 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: Conclusão
Ao reproduzir esse المدربات ، والذي يمكن تحقيقه بالفعل ، والذي يمكن تحقيقه من خلال استخدام تقنية alguma placa com o Windos IoT Core instalado. Basta criar o arquivo de gramática com os comandos desejados.
أوتورز: إيغون باتريك ماركيز سيلفا
فريدريكو كلارك
موصى به:
تصميم اللعبة في فليك في 5 خطوات: 5 خطوات
تصميم اللعبة في Flick in 5 Steps: Flick هي طريقة بسيطة حقًا لصنع لعبة ، لا سيما شيء مثل الألغاز أو الرواية المرئية أو لعبة المغامرة
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف - خطوات خطوة: 4 خطوات
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف | خطوات بخطوة: في هذا المشروع ، سأصمم دائرة مستشعر لعكس مواقف السيارات من Arduino باستخدام مستشعر الموجات فوق الصوتية Arduino UNO و HC-SR04. يمكن استخدام نظام التنبيه العكسي للسيارة المستند إلى Arduino للتنقل الذاتي ومجموعة الروبوتات وغيرها من النطاقات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: 3 خطوات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: في هذا Instructable سنقوم باكتشاف الوجه على Raspberry Pi 4 باستخدام Shunya O / S باستخدام مكتبة Shunyaface. Shunyaface هي مكتبة للتعرف على الوجوه / الكشف عنها. يهدف المشروع إلى تحقيق أسرع سرعة في الكشف والتعرف مع
كيف تصنع عداد خطوات؟: 3 خطوات (بالصور)
How to Make Step Counter؟: اعتدت أن أؤدي أداءً جيدًا في العديد من الرياضات: المشي والجري وركوب الدراجة ولعب كرة الريشة وما إلى ذلك ، أحب ركوب الخيل للسفر في وقت قريب. حسنًا ، انظر إلى بطني المنتفخ … حسنًا ، على أي حال ، قررت إعادة التمرين. ما هي المعدات التي يجب أن أحضرها؟
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): 6 خطوات
Arduino Halloween Edition - شاشة زومبي المنبثقة (خطوات بالصور): هل تريد تخويف أصدقائك وإحداث بعض ضوضاء الصراخ في عيد الهالوين؟ أو تريد فقط عمل مزحة جيدة؟ يمكن لشاشة الزومبي المنبثقة القيام بذلك! في هذا Instructable ، سوف أعلمك كيفية جعل زومبي القفز للخارج بسهولة باستخدام Arduino. HC-SR0