Talaan ng mga Nilalaman:
- Hakbang 1: Hardware
- Hakbang 2:
- Hakbang 3: Programação - Detecção De Voz
- Hakbang 4: Programação - Exibir Previsão Do Tempo
- Hakbang 5: Programação - Exibir Notícias
- Hakbang 6: Conclusão
Video: Espelho Mágico: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
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
Dragonboard 410c
Audio Mezzanine Board
Hakbang 2:
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:
Arduino Car Reverse Parking Alert System - Hakbang sa Hakbang: 4 na Hakbang
Arduino Car Reverse Parking Alert System | Hakbang sa Hakbang: Sa proyektong ito, magdidisenyo ako ng isang simpleng Arduino Car Reverse Parking Sensor Circuit gamit ang Arduino UNO at HC-SR04 Ultrasonic Sensor. Ang Arduino based Car Reverse alert system na ito ay maaaring magamit para sa isang Autonomous Navigation, Robot Ranging at iba pang range r
Hakbang sa Hakbang Pagbubuo ng PC: 9 Mga Hakbang
Hakbang sa Hakbang ng PC Building: Mga Pantustos: Hardware: MotherboardCPU & CPU coolerPSU (Power supply unit) Storage (HDD / SSD) RAMGPU (hindi kinakailangan) CaseTools: ScrewdriverESD bracelet / matsthermal paste w / applicator
Tatlong Loudspeaker Circuits -- Hakbang-hakbang na Tutorial: 3 Mga Hakbang
Tatlong Loudspeaker Circuits || Hakbang-hakbang na Tutorial: Ang Loudspeaker Circuit ay nagpapalakas ng mga audio signal na natanggap mula sa kapaligiran papunta sa MIC at ipinapadala ito sa Speaker mula sa kung saan ginawa ang pinalakas na audio. Dito, ipapakita ko sa iyo ang tatlong magkakaibang paraan upang magawa ang Loudspeaker Circuit na ito gamit ang:
Hakbang-hakbang na Edukasyon sa Robotics Na May Kit: 6 Mga Hakbang
Hakbang-hakbang na Edukasyon sa Robotics Gamit ang isang Kit: Matapos ang ilang buwan ng pagbuo ng aking sariling robot (mangyaring sumangguni sa lahat ng mga ito), at pagkatapos ng dalawang beses na pagkabigo ng mga bahagi, nagpasya akong bumalik at muling isipin ang aking diskarte at direksyon. Ang karanasan ng ilang buwan ay kung minsan ay lubos na nagbibigay-pakinabang, at
Kritikal na Hakbang sa Paghuhugas ng Kamay sa Hakbang: 5 Hakbang
Kritikal na Hakbang sa Paghuhugas ng Hakbang sa paghuhugas ng kamay: Ito ay isang makina na nagpapaalala sa gumagamit tungkol sa mga hakbang kung kailan kailangan niyang maghugas ng kanyang mga kamay. Ang layunin ng makina na ito ay matulungan ang mga tao na maunawaan kung paano hugasan nang maayos ang kanilang mga kamay sa isang mabisang paraan. Sa mga panahon ng pag-iwas sa epidemya o pandemya,