সুচিপত্র:
- ধাপ 1: হার্ডওয়্যার
- ধাপ ২:
- ধাপ 3: কর্মসূচী - Detecção De Voz
- ধাপ 4: কর্মসূচী - Exibir Previsão Do Tempo
- ধাপ 5: কর্মসূচি - এক্সিবিয়ার বিজ্ঞপ্তি
- ধাপ 6: উপসংহার
ভিডিও: এস্পেলহো ম্যাজিকো: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
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 utilizar um devido a contratempos।
ধাপ 1: হার্ডওয়্যার
ড্রাগনবোর্ড 410c
অডিও মেজানাইন বোর্ড
ধাপ ২:
ভিজ্যুয়াল স্টুডিও কমিউনিটি 2017, এবং একটি ভাষাগত সি#এর জন্য একটি প্রোগ্রাম। একটি ইন্টারফেস গ্রাফিক্স ফাই ফিটা ইউটিজেন্ডো ও এডিটর এক্সএএমএল ডু ভিসুয়াল স্টুডিও।
ধাপ 3: কর্মসূচী - Detecção De Voz
O Primeiro passo, foi trabalhar com a detecção de voz। A placa Audio Mezzanine Board já possui dois microfones integrados, que foram utilizados para a detecção। কোন ভিজ্যুয়াল স্টুডিও নেই, উইন্ডোজের একটি বিবলিওটেকা ইউটিজামোস। মিডিয়া।
Foi utilizado o método encontrado aqui para a inicialização da detecção de voz, que é mostrado também abaixo।
ব্যক্তিগত async void InicializaVoz () {var idioma = new Windows. Globalization. Language ("en-US"); SpeechRecognizer সনাক্তকারী = নতুন SpeechRecognizer (idioma); স্বীকৃতিদাতা। স্বীকৃতিদাতা। string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = অপেক্ষায় Package. Current. InstalledLocation. GetFileAsync (fileName); SpeechRecognitionGrammarFileConstraint grammarConstraint = নতুন SpeechRecognitionGrammarFileConstraint (grammarContentFile); স্বীকৃতিদাতা। SpeechRecognitionCompilationResult compilationResult = অপেক্ষার স্বীকৃতিদাতা। CompileConstraintsAsync (); যদি (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("Result:" + compilationResult. ToString ()); স্বীকৃতির অপেক্ষায়। } অন্যথায় {Debug. WriteLine ("Status:" + compilationResult. Status); }}
Após iniciar o reconhecimento, o método RecognizerResultGenerated recebe os comandos que foram interpretedados e 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) e hide (esconder) e o que deve ser mostrado পূর্বাভাস (previsão) e news (notícias)।
ব্যক্তিগত async অকার্যকর RecognizerResultGenerated (SpeechContinuousRecognitionSession সেশন, SpeechContinuousRecognitionResultGeneratedEventArgs args) {
int count = args. Result. SematicInterpretation. Properties. Count;
// বিভিন্ন ট্যাগ চেক করুন এবং ভেরিয়েবল শুরু করুন
স্ট্রিং টার্গেট = args. Result. SematicInterpretation. Properties. ContainsKey ("target")? args. Result. SematicInterpretation. Properties ["target"] [0]. ToString (): "";
স্ট্রিং cmd = args. Result. SematicInterpretation. Properties. ContainsKey ("cmd")?
args. Result. SematicInterpretation. Properties ["cmd"] [0]. ToString (): "";
স্ট্রিং ডিভাইস = args. Result. SemantInterpretation. Properties. ContainsKey ("device")?
args. Result. SematicInterpretation. Properties ["device"] [0]. ToString (): "";
// প্রথমে ব্যবহারকারী কোন ডিভাইসটিকে নির্দেশ করে তা পরীক্ষা করুন
যদি (cmd। সমতুল্য ("শো"))
{
যদি (device. Equals ("পূর্বাভাস")) {Consulta_previsao (); } অন্যথায় যদি (device. Equals ("news")) {Consulta_noticias (); } অন্যথায় {//Debug. WriteLine("Unknown Device "); }
} অন্যথায় যদি (cmd। সমান ("লুকান"))
{
যদি (device. Equals ("পূর্বাভাস")) {//Tempo. Text = ""; এই জন্য অপেক্ষা করুন। = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = new BitmapImage (নতুন Uri ("ms-appx: ///Images/blank.png"));
});
}
অন্যথায় যদি (device. Equals ("news")) {এই অপেক্ষা করুন।. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = ";}); } else {// Debug. WriteLine ("Unknown Device"); }} অন্য {//Debug. WriteLine(" অজানা কমান্ড "); }
}
ধাপ 4: কর্মসূচী - Exibir Previsão Do Tempo
Se o comando de voz detectado for show forecast, o método 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 temperaturas máxima e mínima।
ব্যক্তিগত async void Consulta_previsao () {
HttpClient httpcliente = নতুন HttpClient ();
// HttpResponseMessage resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml")। ফলাফল; var resp = httpcliente. GetAsync ("https://servicos.cptec.inpe.br/XML/cidade/222/previsao.xml")। ফলাফল; resp. EnsureSuccessStatusCode (); var respbody = resp. Content. ReadAsStringAsync (); XmlDocument previsao = নতুন XmlDocument ();
previsao. LoadXml (respbody. Result);
XmlElement root = previsao. DocumentElement;
XmlNodeList নোড = root. GetElementsByTagName ("টেম্পো");
স্ট্রিং prevtempo = (nodes. Item (0). InnerText);
স্ট্রিং prevtempo1 = (nodes. Item (1). InnerText); স্ট্রিং prevtempo2 = (nodes. Item (2). InnerText); স্ট্রিং prevtempo3 = (nodes. Item (3). InnerText); nodes = root. GetElementsByTagName ("minima"); স্ট্রিং tempmin = (নোডস। আইটেম (0)। ইনার টেক্সট); nodes = root. GetElementsByTagName ("maxima"); স্ট্রিং tempmax = (nodes. Item (0). InnerText);
স্ট্রিং rsultado_previsao = "";
সুইচ (prevtempo)
{case "ec": rsultado_previsao = "Chuvas_Isoladas.png"; বিরতি; কেস "সিআই": rsultado_previsao = "Chuvas_Isoladas.png"; বিরতি; কেস "সি": rsultado_previsao = "Chuva.png"; বিরতি; কেস "ইন": rsultado_previsao = "Instavel.png"; বিরতি; কেস "পিপি": rsultado_previsao = "Chuva.png"; বিরতি; কেস "সেমি": rsultado_previsao = "Chuva.png"; বিরতি; কেস "cn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; বিরতি; কেস "pt": rsultado_previsao = "Chuva.png"; বিরতি; কেস "pm": rsultado_previsao = "Chuvas_Isoladas.png"; বিরতি; কেস "np": rsultado_previsao = "Chuva.png"; বিরতি; কেস "পিসি": rsultado_previsao = "Chuva.png"; বিরতি; কেস "pn": rsultado_previsao = "Nublado.png"; বিরতি; কেস "সিভি": rsultado_previsao = "Chuva.png"; বিরতি; কেস "চ": rsultado_previsao = "Chuva.png"; বিরতি; কেস "টি": rsultado_previsao = "Tempestade.png"; বিরতি; কেস "ps": rsultado_previsao = "Sol.png"; বিরতি; কেস "ই": rsultado_previsao = "Sol_Encoberto.png"; বিরতি; কেস "n": rsultado_previsao = "Nublado.png"; বিরতি; কেস "cl": rsultado_previsao = "Sol.png"; বিরতি; কেস "এনভি": rsultado_previsao = "Nevoeiro.png"; বিরতি; কেস "g": rsultado_previsao = "Neve.png"; বিরতি; কেস "নে": rsultado_previsao = "Neve.png"; বিরতি; কেস "nd": rsultado_previsao = "na.png"; বিরতি; কেস "pnt": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; বিরতি; কেস "psc": rsultado_previsao = "Chuva.png"; বিরতি; কেস "পিসিএম": rsultado_previsao = "Chuva.png"; বিরতি; কেস "pct": rsultado_previsao = "Chuva.png"; বিরতি; কেস "পিসিএন": rsultado_previsao = "Chuva.png"; বিরতি; কেস "npt": rsultado_previsao = "Chuva.png"; বিরতি; কেস "npn": rsultado_previsao = "Chuva.png"; বিরতি; কেস "ncn": rsultado_previsao = "Chuva.png"; বিরতি; কেস "nct": rsultado_previsao = "Chuva.png"; বিরতি; কেস "এনসিএম": rsultado_previsao = "Chuva.png"; বিরতি; কেস "npm": rsultado_previsao = "Chuva.png"; বিরতি; কেস "npp": rsultado_previsao = "Chuva.png"; বিরতি; কেস "vn": rsultado_previsao = "Instavel.png"; বিরতি; কেস "সিটি": rsultado_previsao = "Chuva.png"; বিরতি; কেস "পিপিএন": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; বিরতি; কেস "পিপিটি": rsultado_previsao = "Chuva.png"; বিরতি; কেস "পিপিএম": rsultado_previsao = "Chuva.png"; বিরতি;
}
এই জন্য অপেক্ষা করুন। টেক্সট = "মনিমা"; এই। মিনি। ছবি/" + rsultado_previsao))}});
}
ধাপ 5: কর্মসূচি - এক্সিবিয়ার বিজ্ঞপ্তি
Se o comando detectado for show news, o método Consulta_noticias envia uma requisição 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 হিসাবে।
ব্যক্তিগত async void Consulta_noticias () {
HttpClient httpcliente2 = নতুন HttpClient ();
var resp2 = httpcliente2. GetAsync ("https://feeds.bbci.co.uk/portuguese/rss.xml")। ফলাফল;
resp2. EnsureSuccessStatusCode (); var respbody2 = resp2. Content. ReadAsStringAsync (); XmlDocument noticia = নতুন XmlDocument ();
noticia. LoadXml (respbody2. Result);
XmlElement root2 = noticia. DocumentElement;
XmlNodeList nodes2 = root2. GetElementsByTagName (@"title");
এই জন্য অপেক্ষা করুন।
{this. News1. Text = (nodes2. Item (2). InnerText); এই নিউজ ২. টেক্সট = (নোডস ২. আইটেম ()) এই নিউজ 3. টেক্সট = (নোডস 2. আইটেম (4) এই। News4. Text = (nodes2. Item (5)। InnerText) এই। নিউজ 5. টেক্সট = (নোডস 2
});
}
ধাপ 6: উপসংহার
Ao reproduzir esse instructables, será possível realizar detecção de comandos de voz utilizando alguma placa com o Windos IoT Core instalado। Basta criar o arquivo de gramática com os comandos desejados।
অটোরস: ইগন প্যাট্রিক মার্কেস সিলভা
ফ্রেডেরিকো ক্লার্ক
প্রস্তাবিত:
কিভাবে 4G LTE ডাবল BiQuade অ্যান্টেনা সহজ ধাপ: 3 ধাপ
কিভাবে 4G LTE ডাবল BiQuade অ্যান্টেনা সহজ ধাপ তৈরি করতে হয়: বেশিরভাগ সময় আমি মুখোমুখি হয়েছি, আমার প্রতিদিনের কাজের জন্য আমার ভাল সংকেত শক্তি নেই। তাই। আমি বিভিন্ন ধরণের অ্যান্টেনা অনুসন্ধান করি এবং চেষ্টা করি কিন্তু কাজ করি না। নষ্ট সময়ের পরে আমি একটি অ্যান্টেনা খুঁজে পেয়েছি যা আমি তৈরি এবং পরীক্ষা করার আশা করি, কারণ এটি নির্মাণের নীতি নয়
Arduino Halloween Edition - Zombies Pop -out Screen (ছবি সহ ধাপ): 6 টি ধাপ
আরডুইনো হ্যালোইন সংস্করণ - জম্বি পপ -আউট স্ক্রিন (ছবি সহ ধাপ): আপনার বন্ধুদের ভয় দেখাতে চান এবং হ্যালোইনে কিছু চিৎকারের শব্দ করতে চান? অথবা শুধু কিছু ভাল কৌতুক করতে চান? এই Zombies পপ আউট পর্দা যে করতে পারেন! এই নির্দেশনায় আমি আপনাকে শেখাবো কিভাবে সহজেই আরডুইনো ব্যবহার করে লাফ দিয়ে জম্বি তৈরি করতে হয়। HC-SR0
Arduino Uno ধাপে ধাপে ধাপে ধাপে (8-ধাপ): 8 টি ধাপ
Arduino Uno ধাপে ধাপে ধাপে ধাপে (8-ধাপ): অতিস্বনক শব্দ ট্রান্সডুসার L298N Dc মহিলা অ্যাডাপ্টার একটি পুরুষ ডিসি পিন Arduino UNO ব্রেডবোর্ড দিয়ে কিভাবে এটি কাজ করে: প্রথমে, আপনি Arduino Uno এ কোড আপলোড করুন (এটি ডিজিটাল সজ্জিত একটি মাইক্রোকন্ট্রোলার এবং এনালগ পোর্ট কোড রূপান্তর করতে (C ++)
11 ধাপ রুবে গোল্ডবার্গ মেশিন: 8 টি ধাপ
11 স্টেপ রুবে গোল্ডবার্গ মেশিন: এই প্রজেক্টটি একটি 11 স্টেপ রুবে গোল্ডবার্গ মেশিন, যা একটি জটিল পদ্ধতিতে একটি সহজ কাজ তৈরি করার জন্য ডিজাইন করা হয়েছে। এই প্রকল্পের কাজ হল সাবানের বার ধরা
গুরুত্বপূর্ণ হাত ধোয়ার ধাপ শেখানোর মেশিন: 5 টি ধাপ
ক্রিটিক্যাল হ্যান্ড ওয়াশিং স্টেপ টিচিং মেশিন: এটি এমন একটি মেশিন যা ব্যবহারকারীকে তার হাত ধোয়ার সময় ধাপগুলো সম্পর্কে মনে করিয়ে দেয়। মহামারী বা মহামারী প্রতিরোধের সময়