ዝርዝር ሁኔታ:
- ደረጃ 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
ቪዲዮ: Espelho Mágico: 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
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 - ሃርድዌር
Dragonboard 410c
ኦዲዮ Mezzanine ቦርድ
ደረጃ 2
Para a programação foi utilizado o Visual Studio Community 2017 ፣ e a linguagem c#. አንድ በይነገጽ gráfica foi feita utilizando o አርታኢ ኤክስኤምኤል የእይታ ስቱዲዮ ያድርጉ።
ደረጃ 3: Programação - Detecção De Voz
ኦ 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. ምንም የእይታ ስቱዲዮ ፣ utilizamos a biblioteca 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።
የግል async ባዶነት InicializaVoz () {var idioma = new Windows. Globalization. Language ("en-US"); SpeechRecognizer recognizer = አዲስ SpeechRecognizer (idioma); recognizer. StateChanged += RecognizerStateChanged; recognizer. ContinuousRecognitionSession. ResultGenerated += RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile ሰዋሰውContentFile = Package. Current. InstalledLocation. GetFileAsync (የፋይል ስም); SpeechRecognitionGrammarFileConstraint grammarConstraint = አዲስ SpeechRecognitionGrammarFileConstraint (grammarContentFile); ማወቂያ ።ገደብ። SpeechRecognitionCompilationResult compilationResult = ለይቶ ማወቅን ጠብቅ. CompileConstraintsAsync (); ከሆነ (compilationResult. Status == SpeechRecognitionResultStatus. Success) {አርም. WriteLine ("ውጤት:" + compilationResult. ToString ()); ማወቂያን ይጠብቁ። ቀጣይነት ያለው የማወቅ ጉባession። } ሌላ {አርም. WriteLine ("ሁኔታ:" + compilationResult. Status); }}
አፖስ ኢንሴአር ኦር ሪሴheሲሜንቶ ፣ ኦም ኦቶኮኒዘር ሪሰርችድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድድያ com”
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 session, SpeechContinuousRecognitionResultGeneratedEventArgs args) {
int count = args. Result. SemanticInterpretation. Properties. Count;
// የተለያዩ መለያዎችን ይፈትሹ እና ተለዋዋጮችን ያስጀምሩ
ሕብረቁምፊ ዒላማ = args. Result. SemanticInterpretation. Properties. ContainsKey ("target")? 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 ["መሣሪያ"] [0]. ToString (): "";
// መጀመሪያ ተጠቃሚው የሚያመለክተው የትኛውን መሣሪያ እንደሆነ ያረጋግጡ
ከሆነ (cmd. Equals (“አሳይ”))
{
ከሆነ (device. Equals ("ትንበያ")) {Consulta_previsao (); } ሌላ ከሆነ (device. Equals ("ዜና")) {Consulta_noticias (); } ሌላ {//Debug. WriteLine (“ያልታወቀ መሣሪያ”) ፤ }
} ሌላ ከሆነ (cmd. Equals ("ደብቅ"))
{
ከሆነ (device. Equals ("ትንበያ")) {//Tempo. Text = ""; ይህንን ይጠብቁ። Dispatcher. = ""; ይህ. Min. Text = ""; ይህ Max. Text = ""; ይህ;
});
}
ሌላ ከሆነ (device. Equals ("ዜና")) {{ይህን ይጠብቁ። Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// ይሄ አሁን ይሠራል ፣ ምክንያቱም በይነገጽ ክር ላይ ስለሚሄድ ይህ. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Txt = ""; } ሌላ {// አርም. WriteLine ("ያልታወቀ መሣሪያ"); }} ሌላ {//Debug. WriteLine (“ያልታወቀ ትዕዛዝ”) ፤ }
}
ደረጃ 4: Programação - Exibir Previsão Do Tempo
ለትዕይንት ትንበያ ፣ ወይም ለኮንስትራክሽን ትንተና ፣ ለኤች ቲ ቲ ፒ ጣቢያ ጣቢያ CPTEC INPE ፣ እንደዚሁም ለኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤምኤፒኤን አስፈላጊ ነው። አፕል ኤክስኤምኤም ፣ 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 ባዶ Consulta_previsao () {
HttpClient httpcliente = new 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 = new XmlDocument ();
previsao. LoadXml (respbody. Ressult);
XmlElement root = previsao. DocumentElement;
XmlNodeList nodes = 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 = (nodes. Item (0). InnerText); nodes = root. GetElementsByTagName ("maxima"); ሕብረቁምፊ tempmax = (nodes. Item (0). InnerText);
ሕብረቁምፊ rsultado_previsao = "";
መቀየሪያ (ቅድመ -ጊዜ)
{ጉዳይ «ec»: rsultado_previsao = "Chuvas_Isoladas.png"; ሰበር; መያዣ "ci": rsultado_previsao = "Chuvas_Isoladas.png"; ሰበር; ጉዳይ "ሐ": rsultado_previsao = "Chuva.png"; ሰበር; መያዣ "በ": rsultado_previsao = "Instavel.png"; ሰበር; ጉዳይ "pp": 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"; ሰበር; መያዣ "pc": rsultado_previsao = "Chuva.png"; ሰበር; ጉዳይ "pn": rsultado_previsao = "Nublado.png"; ሰበር; ጉዳይ "cv": rsultado_previsao = "Chuva.png"; ሰበር; ጉዳይ "ch": rsultado_previsao = "Chuva.png"; ሰበር; መያዣ "t": rsultado_previsao = "Tempestade.png"; ሰበር; ጉዳይ "ps": rsultado_previsao = "Sol.png"; ሰበር; ጉዳይ "ሠ": 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"; ሰበር; ጉዳይ "npp": rsultado_previsao = "Chuva.png"; ሰበር; ጉዳይ "vn": rsultado_previsao = "Instavel.png"; ሰበር; ጉዳይ "ct": rsultado_previsao = "Chuva.png"; ሰበር; መያዣ "ppn": rsultado_previsao = "Chuvas_Isoladas_Noite.png"; ሰበር; ጉዳይ "ppt": rsultado_previsao = "Chuva.png"; ሰበር; ጉዳይ "ppm": rsultado_previsao = "Chuva.png"; ሰበር;
}
ይህንን ይጠብቁ። Dispatcher. ጽሑፍ = "ሚኒማ" ፤ ይህ። Min. Text = tempmin + "°" ፤ this. Max. Text = tempmax + "°" ፤ this. Img_Tempo. Source = new BitmapImage (አዲስ ኡሪ ("ms-appx: ///) ምስሎች/" + rsultado_previsao));});
}
ደረጃ 5: Programação - Exibir Notícias
ለዜና ትዕይንት ዜናዎች ፣ ለኮንሱል ኮንሶልታ ኢኖቪያ አስፈላጊ የሆነውን የኤች ቲ ቲ ፒ መረጃን ለቢቢሲ ፣ que também retorna um XML። እንደ cinco primeiras notícias são exibidas na tela em textblocks።
የግል async ባዶ Consulta_noticias () {
HttpClient httpcliente2 = new HttpClient ();
var resp2 = httpcliente2. GetAsync ("https://feeds.bbci.co.uk/portuguese/rss.xml")። ውጤት;
resp2. EnsureSuccessStatusCode (); var respbody2 = resp2. Content. ReadAsStringAsync (); XmlDocument noticia = new XmlDocument ();
noticia. LoadXml (respbody2. Ressult);
XmlElement root2 = noticia. DocumentElement;
XmlNodeList nodes2 = root2. GetElementsByTagName (@"ርዕስ");
ይህንን ይጠብቁ። Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () =>
{this. News1. Text = (nodes2. እቃ (2). InnerText); this. News2. Text = (nodes2. እቃ (3). InnerText); this. News3. Text = (nodes2. እቃ (4). InnerText); this. News4. Text = (nodes2. እቃ (5). InnerText); this. News5. Text = (nodes2. እቃ (6). InnerText);
});
}
ደረጃ 6: Conclusão
Ao reproduzir esse instructables, será possível realizar detecção de comandos de voz utilizando alguma placa com o Windos IoT Core instalado. ባስታ ክሪየር ኦ አርኪቮ ደ ግራማቲካ ኮም ኦስ ኮማንዶስ ዴጄጃዶስ።
Autores: ኤጎን ፓትሪክ ማርከስ ሲልቫ
ፍሬደሪኮ ክላርክ
የሚመከር:
በ Flick ውስጥ የጨዋታ ንድፍ በ 5 ደረጃዎች 5 ደረጃዎች
በ 5 ደረጃዎች ውስጥ በ Flick ውስጥ የጨዋታ ንድፍ -ፍሊክስ ጨዋታን በተለይም በእውነቱ እንደ እንቆቅልሽ ፣ የእይታ ልብ ወለድ ወይም የጀብድ ጨዋታ የመሰለ ቀላል መንገድ ነው።
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማስጠንቀቂያ ስርዓት - ደረጃዎች በደረጃ: 4 ደረጃዎች
የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ማንቂያ ስርዓት | ደረጃዎች በደረጃ-በዚህ ፕሮጀክት ውስጥ አርዱዲኖ UNO እና HC-SR04 Ultrasonic Sensor ን በመጠቀም ቀላል የአርዱዲኖ መኪና የተገላቢጦሽ የመኪና ማቆሚያ ዳሳሽ ወረዳ እቀዳለሁ። ይህ በአርዱዲኖ ላይ የተመሠረተ የመኪና ተገላቢጦሽ የማስጠንቀቂያ ስርዓት ለራስ ገዝ አሰሳ ፣ ሮቦት ሬንጅንግ እና ለሌላ ክልል አር
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 ደረጃዎች 3 ደረጃዎች
በ Raspberry Pi 4B ላይ የፊት ለይቶ ማወቅ በ 3 እርከኖች-በዚህ መመሪያ ውስጥ የሹንያፊትን ቤተመፃሕፍት በመጠቀም ከ Rasyaberry O/S ጋር Raspberry Pi 4 ላይ የፊት ለይቶ ማወቅን እናከናውናለን። ሹነፊታ የፊት መታወቂያ/ማወቂያ ቤተ -መጽሐፍት ነው። ፕሮጀክቱ ፈጣን የመለየት እና የማወቅ ፍጥነትን ለማሳካት ያለመ ነው
በ GameGo ላይ በ ‹GoGo› ላይ ማለቂያ ከሌላቸው ደረጃዎች ጋር የመሣሪያ ስርዓት - 5 ደረጃዎች (ከስዕሎች ጋር)
በ GameGo ላይ በ MakeGo Arcade የመጫወቻ ማዕከል ላይ ገደብ የለሽ ደረጃዎች ያለው የመሣሪያ ስርዓት - GameGo በ TinkerGen STEM ትምህርት የተገነባ የ Microsoft Makecode ተኳሃኝ የሆነ የሬትሮ ጨዋታ ተንቀሳቃሽ ኮንሶል ነው። እሱ በ STM32F401RET6 ARM Cortex M4 ቺፕ ላይ የተመሠረተ እና ለ STEM አስተማሪዎች ወይም የሬትሮ ቪዲዮ ጨዋታን መፍጠር መዝናናትን ለሚወዱ ሰዎች ብቻ የተሰራ ነው
ቀላል ደረጃዎች (DID Strip Lights በመጠቀም) DIY Vanity Mirror - 4 ደረጃዎች
DIY Vanity Mirror በቀላል ደረጃዎች (የ LED ስትሪፕ መብራቶችን በመጠቀም) - በዚህ ልጥፍ ውስጥ በ LED ሰቆች እገዛ የ DIY Vanity Mirror ን ሠራሁ። በእውነቱ አሪፍ ነው እና እርስዎም እነሱን መሞከር አለብዎት