Satura rādītājs:
- 1. darbība. Aparatūra
- 2. darbība:
- 3. darbība: Programação - Detecção De Voz
- 4. solis: Programação - Exibir Previsão Do Tempo
- 5. solis: Programação - Exibir Notícias
- 6. solis: Conclusão
Video: Espelho Mágico: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Neste Instructables mostramos como criar um protótipo de um espelho inteligente que projeta informationções de clima e notícias, utilizando comandos de voz.
Embora seja o projeto de um espelho, nē, kad jūs varat izmantot devido un contratempos.
1. darbība. Aparatūra
Dragonboard 410c
Audio starpstāvu dēlis
2. darbība:
Para a programção foi utilizado o Visual Studio Community 2017, and a linguagem c#. Grafiskais interfeiss Visual Studio redaktors XAML.
3. darbība: Programação - Detecção De Voz
O primeiro passo, foi trabalhar com a detecção de voz. Placa Audio Mezzanine Board ir aprīkots ar mikrofoniem, kas ir integrēti, un to izmantošanas para un detekcijas. No Visual Studio, izmantojiet Windows biblioteka. Media. SpeechRecognition para decodificar a voz.
Ja izmantojat vai izmantojat 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 ("lv-ASV"); SpeechRecognizer atpazīšanas ierīce = jauns SpeechRecognizer (idioma); atpazinējs. StateChanged += RecognizerStateChanged; atpazinējs. ContinuousRecognitionSession. ResultGenerated += RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = gaidīt Package. Current. InstalledLocation. GetFileAsync (faila nosaukums); SpeechRecognitionGrammarFileConstraint grammarConstraint = new SpeechRecognitionGrammarFileConstraint (grammarContentFile); atpazīšanas līdzeklis. Ierobežojumi. Pievienot (gramatikaContraint) SpeechRecognitionCompilationResult compilationResult = gaida atpazīšanu. CompileConstraintsAsync (); if (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("Rezultāts:" + compilationResult. ToString ()); gaidīt atpazīstamību. ContinuousRecognitionSession. StartAsync (); } else {Debug. WriteLine ("Statuss:" + compilationResult. Status); }}
Após iniciar o reconhecimento, vai met RecognizerResultGenerated recebe os comandos que foram interpretados 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 prognoze (previsão) e news (notícias).
private async void RecognizerResultGenerated (SpeechContinuousRecognitionSession session, SpeechContinuousRecognitionResultGeneratedEventArgs args) {
int skaits = args. Result. SemanticInterpretation. Properties. Count;
// Pārbaudiet dažādus tagus un inicializējiet mainīgos
String target = args. Result. SemanticInterpretation. Properties. ContainsKey ("mērķis")? args. Result. SemanticInterpretation. Properties ["target"] [0]. ToString (): "";
String cmd = args. Result. SemanticInterpretation. Properties. ContainsKey ("cmd")?
args. Result. SemanticInterpretation. Properties ["cmd"] [0]. ToString (): "";
Stīgu ierīce = args. Result. SemanticInterpretation. Properties. ContainsKey ("ierīce")?
args. Result. SemanticInterpretation. Properties ["device"] [0]. ToString (): "";
// Vispirms pārbaudiet, uz kuru ierīci lietotājs atsaucas
ja (cmd. Equals ("parādīt"))
{
ja (device. Equals ("prognoze")) {Consulta_previsao (); } cits if (device. Equals ("news")) {Consulta_noticias (); } cits {//Debug. WriteLine("Nezināma ierīce "); }
} cits if (cmd. Equals ("slēpt"))
{
if (device. Equals ("prognoze")) {//Tempo. Text = ""; gaidiet šo. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Tas tagad darbojas, jo tas darbojas lietotāja saskarnes pavedienā: this. Max_tit. Text = ""; this. Min_tit. Text = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = new BitmapImage (new Uri ("ms-appx: ///Images/blank.png"));
});
}
else if (device. Equals ("news")) {wait for this. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Tagad tas darbojas, jo tas darbojas UI pavedienā: šis. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = "";}); } else {// Debug. WriteLine ("Nezināma ierīce"); }} else {//Debug. WriteLine("Unnown Command "); }
}
4. solis: Programação - Exibir Previsão Do Tempo
Skatiet prognozes šovā, lai uzzinātu, vai ir jākonsultējas ar iepriekšēju informāciju. 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.
private async void Consulta_previsao () {
HttpClient httpcliente = jauns 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 = jauns XmlDocument ();
previsao. LoadXml (respbody. Result);
XmlElement sakne = previsao. DocumentElement;
XmlNodeList mezgli = root. GetElementsByTagName ("temps");
virkne prevtempo = (mezgli. Vienums (0). Iekšējais teksts);
virkne prevtempo1 = (mezgli. Vienums (1). Iekšējais teksts); virkne prevtempo2 = (mezgli. Vienums (2). Iekšējais teksts); virkne prevtempo3 = (mezgli. Vienums (3). Iekšējais teksts); mezgli = root. GetElementsByTagName ("minimums"); virkne tempmin = (mezgli. Item (0). InnerText); mezgli = root. GetElementsByTagName ("maxima"); virkne tempmax = (mezgli. Vienums (0). Iekšējais teksts);
virkne rsultado_previsao = "";
slēdzis (iepriekš)
{case "ec": rsultado_previsao = "Chuvas_Isoladas.png"; pārtraukums; gadījums "ci": rsultado_previsao = "Chuvas_Isoladas.png"; pārtraukums; gadījums "c": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "in": rsultado_previsao = "Instavel.png"; pārtraukums; gadījums "pp": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "cm": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "cn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; pārtraukums; gadījums "pt": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "pm": rsultado_previsao = "Chuvas_Isoladas.png"; pārtraukums; gadījums "np": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "pc": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "pn": rsultado_previsao = "Nublado.png"; pārtraukums; gadījums "cv": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "ch": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "t": rsultado_previsao = "Tempestade.png"; pārtraukums; gadījums "ps": rsultado_previsao = "Sol.png"; pārtraukums; gadījums "e": rsultado_previsao = "Sol_Encoberto.png"; pārtraukums; gadījums "n": rsultado_previsao = "Nublado.png"; pārtraukums; gadījums "cl": rsultado_previsao = "Sol.png"; pārtraukums; gadījums "nv": rsultado_previsao = "Nevoeiro.png"; pārtraukums; gadījums "g": rsultado_previsao = "Neve.png"; pārtraukums; gadījums "ne": rsultado_previsao = "Neve.png"; pārtraukums; gadījums "nd": rsultado_previsao = "na.png"; pārtraukums; gadījums "pnt": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; pārtraukums; gadījums "psc": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "pcm": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "pct": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "pcn": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "npt": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "npn": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "ncn": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "nct": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "ncm": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "npm": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "npp": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "vn": rsultado_previsao = "Instavel.png"; pārtraukums; gadījums "ct": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "ppn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; pārtraukums; gadījums "ppt": rsultado_previsao = "Chuva.png"; pārtraukums; gadījums "ppm": rsultado_previsao = "Chuva.png"; pārtraukums;
}
gaidiet šo. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// Tagad tas darbojas, jo tas darbojas UI pavedienā: this. Max_tit. Text = "Máxima"; this. Min_tit. Teksts = "Mínima"; this. Min. Text = tempmin + "°"; this. Max. Text = tempmax + "°"; this. Img_Tempo. Source = new BitmapImage (new Uri ("ms-appx: /// Attēli/" + rsultado_previsao));});
}
5. solis: Programação - Exibir Notícias
Skatiet ziņu šovus, lai uzzinātu par jaunumiem, vai arī konsultāciju ziņojumi, kas nepieciešami, lai pieprasītu HTTP, izmantojot BBC ziņu plūsmu, kā arī retrospektīvu XML. Kā cinco primeiras notícias são exibidas un tela em textblocks.
private async void Consulta_noticias () {
HttpClient httpcliente2 = jauns HttpClient ();
var resp2 = httpcliente2. GetAsync ("https://feeds.bbci.co.uk/portuguese/rss.xml"). Result;
resp2. EnsureSuccessStatusCode (); var respbody2 = resp2. Content. ReadAsStringAsync (); XmlDocument noticia = jauns XmlDocument ();
noticia. LoadXml (respbody2. Result);
XmlElement root2 = noticia. DocumentElement;
XmlNodeList mezgli2 = root2. GetElementsByTagName (@"title");
gaidiet šo. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () =>
{this. News1. Text = (mezgli2. Item (2). InnerText); this. News2. Text = (mezgli2. Item (3). InnerText); this. News3. Text = (mezgli2. Item (4). InnerText); this. News4. Text = (mezgli2. Item (5). InnerText); this. News5. Text = (mezgli2. Item (6). InnerText);
});
}
6. solis: Conclusão
Ao reproducir esse instructables, será possível realizar detecção de comandos de voz utilizando alguma placa com o Windos IoT Core instalado. Basta criar vai arquivo de gramática com os comandos desejados.
Autori: Egons Patriks Marks Silva
Frederiko Klārks
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Soli pa solim datora veidošana: 9 soļi
Soli pa solim datora veidošana: Piegādes: Aparatūra: mātesplateCPU & CPU dzesētājs PSU (barošanas bloks) Krātuve (HDD/SSD) RAMGPU (nav nepieciešams) Korpuss Instrumenti: skrūvgriezis ESD rokassprādze/matermālā pasta ar aplikatoru
Trīs skaļruņu shēmas -- Soli pa solim apmācība: 3 soļi
Trīs skaļruņu shēmas || Soli pa solim apmācība: Skaļruņu ķēde pastiprina no vides saņemtos audio signālus uz MIC un nosūta to skaļrunim, no kura tiek radīts pastiprināts audio. Šeit es parādīšu trīs dažādus veidus, kā izveidot šo skaļruņu shēmu, izmantojot:
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)