Სარჩევი:
- ნაბიჯი 1: აპარატურა
- ნაბიჯი 2:
- ნაბიჯი 3: Programação - Detecção De Voz
- ნაბიჯი 4: პროგრამა - Exibir Previsão Do Tempo
- ნაბიჯი 5: პროგრამა - Exibir Notícias
- ნაბიჯი 6: დასკვნა
ვიდეო: Espelho Mágico: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
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.
ემბორია, თუ როგორ უნდა გამოვიყენო ეს, არ ვიცი, როგორ გამოვიყენო და გამოვიყენო კონტრატემი.
ნაბიჯი 1: აპარატურა
Dragonboard 410c
აუდიო ანტრესოლის დაფა
ნაბიჯი 2:
პროგრამული უზრუნველყოფის გამოყენებით Visual Studio Community 2017, და ენა c#. ინტერფეისი არის XAML და Visual Studio– ს რედაქტორის გამოყენებისათვის.
ნაბიჯი 3: Programação - Detecção De Voz
O Primeiro passo, foi trabalhar com a detecção de voz. აუდიო ანტრესოლის დაფა შესაძლებელია მიკროფონების ინტეგრაციით, რაც გამოიყენება გამოსაყენებლად. არ არის ვიზუალური სტუდია, იყენებს ბიბლიოთეკას Windows. Media. SpeechRecognition for decodificar voz.
Foi utilizado o método encontrado aqui para inicialização da detecção de voz, que is the mostrado também abaixo.
private async void InicializaVoz () {var idioma = new Windows. Globalization. Language ("en-US"); SpeechRecognizer აღიარებელი = ახალი SpeechRecognizer (იდიომა); აღიარებელი.სახელმწიფო შეცვლილი += RecognizerStateChanged; აღიარებელი.კონტინენტურიRecognitionSession. ResultGenerated += RecognizerResultGenerated; string fileName = String. Format (SRGS_FILE); StorageFile grammarContentFile = დაელოდეთ Package. Current. InstalledLocation. GetFileAsync (ფაილის სახელი); SpeechRecognitionGrammarFileConstraint grammarConstraint = new SpeechRecognitionGrammarFileConstraint (grammarContentFile); ცნობა. შეზღუდვები. დამატება (გრამატიკა შეზღუდვა); SpeechRecognitionCompilationResult compilationResult = დაელოდეთ აღიარებას. CompileConstraintsAsync (); if (compilationResult. Status == SpeechRecognitionResultStatus. Success) {Debug. WriteLine ("შედეგი:" + compilationResult. ToString ()); დაელოდეთ აღიარებელს.კონტინენტურგარკვევას.სტარტი.სინქსაცია (); } else {Debug. WriteLine ("სტატუსი:" + compilationResult. Status); }}
Após iniciar o reconhecimento, or método RecognizerResultGenerated recebe os comandos que for 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.
ჩვენ შეგვიძლია გამოვიყენოთ პორტუგალიური იდიომა, გამოვიყენო პროგრამის შოუ (ყველაზე ხშირად) და დამალვა (ესკონდერი) და რაც შეიძლება მეტი სიახლის (სიახლის) პროგნოზირება (წინასწარ).
კერძო async void RecognizerResultGenerated (SpeechContinuousRecognitionSession session, SpeechContinuousRecognitionResultGeneratedEventArgs args) {
int count = args. Result. SemanticInterpretation. Properties. Count;
// შეამოწმეთ სხვადასხვა ტეგი და ცვლადების ინიციალიზაცია
სიმებიანი სამიზნე = args. Result. SemanticInterpretation. Properties. ContainsKey ("სამიზნე")? 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 (): "";
// ჯერ შეამოწმეთ რომელ მოწყობილობას გულისხმობს მომხმარებელი
თუ (სმდ. თანაბარი ("ჩვენება"))
{
if (მოწყობილობა. თანაბარი ("პროგნოზი")) {Consulta_previsao (); } else if (მოწყობილობა. თანაბარი ("სიახლე")) {Consulta_noticias (); } else {//Debug. WriteLine(" უცნობი მოწყობილობა "); }
} else if (cmd. Equals ("დამალვა"))
{
if (device. Equals ("პროგნოზი")) {//Tempo. Text = ""; დაელოდეთ ამას. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// ეს ახლა მუშაობს, რადგან ის მუშაობს ინტერფეისის ძაფზე: this. Max_tit. Text = ""; this. Min_tit. Text = ""; this. Min. Text = ""; this. Max. Text = ""; this. Img_Tempo. Source = new BitmapImage (ახალი ური ("ms-appx: ///Images/blank.png"));
});
}
else if (device. Equals ("ახალი ამბები")) {დაელოდეთ ამას. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// ეს ახლა მუშაობს, რადგან ის მუშაობს ინტერფეისის ძაფზე: ეს. News1. Text = ""; this. News2. Text = ""; this. News3. Text = ""; this. News4. Text = ""; this. News5. Text = ""}}); } else {// Debug. WriteLine ("უცნობი მოწყობილობა"); }} სხვა {//Debug. WriteLine(" უცნობი ბრძანება "); }
}
ნაბიჯი 4: პროგრამა - Exibir Previsão Do Tempo
ეს ნიშნავს, რომ გამოჩნდება პროგნოზის ჩვენება, ან შეაფასეთ კონტექსტი, რომელიც მოითხოვს HTTP– ს CPTEC და INPE საიტის მოთხოვნით, რომლითაც დაგეგმილია დროთა განმავლობაში xml. Após a leitura do xml, uma imagem é mostrada na tela de acordo com 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 ("ტემპი");
string prevtempo = (კვანძები. ელემენტი (0). InnerText);
string prevtempo1 = (კვანძები. ელემენტი (1). InnerText); string prevtempo2 = (კვანძები. ელემენტი (2). InnerText); string prevtempo3 = (კვანძები. ელემენტი (3). InnerText); კვანძები = root. GetElementsByTagName ("მინიმუმი"); string tempmin = (კვანძები. ელემენტი (0). შიდა ტექსტი); კვანძები = root. GetElementsByTagName ("მაქსიმუმი"); string tempmax = (კვანძები. ელემენტი (0). შიდა ტექსტი);
string rsultado_previsao = "";
გადართვა (წინასწარი დრო)
{case "ec": rsultado_previsao = "Chuvas_Isoladas.png"; შესვენება; საქმე "ci": rsultado_previsao = "Chuvas_Isoladas.png"; შესვენება; საქმე "გ": rsultado_previsao = "Chuva.png"; შესვენება; საქმე "in": 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"; შესვენება;
}
დაელოდეთ this. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () => {// ეს ახლა მუშაობს, რადგან ის მუშაობს UI ძაფზე: this. Max_tit. Text = "Máxima"; this. Min_tit Text = "Mimanima"; this. Min. Text = tempmin + "°"; this. Max. Text = tempmax + "°"; this. Img_Tempo. Source = new BitmapImage (new Uri ("ms-appx: /// სურათები/" + rsultado_previsao));});
}
ნაბიჯი 5: პროგრამა - Exibir Notícias
გაეცანით საინფორმაციო გამოშვებებს, მიმართეთ კონსულტაციების_მომცემებს, რომლებიც ითხოვენ HTTP– ს ან BBC– ს, ასევე 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");
დაელოდეთ ამას. Dispatcher. RunAsync (Windows. UI. Core. CoreDispatcherPriority. High, () =>
{this. News1. Text = (კვანძები 2. Item (2). InnerText); this. News2. Text = (nodes2. item (3). InnerText); this. News3. Text = (კვანძები 2. პუნქტი (4). შიდა ტექსტი); this. News4. Text = (კვანძები 2. პუნქტი (5). შიდა ტექსტი); this. News5. Text = (nodes2 Item (6). InnerText);
});
}
ნაბიჯი 6: დასკვნა
თქვენ შეგიძლიათ გაეცნოთ ინსტრუქციებს, რომლითაც შესაძლებელია განხორციელდეს პროგრამის გამოყენება ვინდოუსის IoT Core ინსტალაციის გამოყენებით. Basta criar o arquivo de gramática com os comandos desejados.
ავტორები: ეგონ პატრიკ მარკეს სილვა
ფრედერიკო კლარკი
გირჩევთ:
ნახევარი ნაბიჯი: 5 ნაბიჯი (სურათებით)
სემინარი: IntroduçãoNeste projeto, você construirá um an sistema de semáforos: არსებობს 3 LED ნათურები სხვადასხვა ბირთვით (verde, amarelo e vermelho) para imitar os semáforos dos carros; არსებობს 2 LED ნათურები სხვადასხვა ბირთვით (verde და vermelho) იმისთვის, რომ გააკეთოთ
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი!: 6 ნაბიჯი
Arduino Uno თევზის მიმწოდებელი 6 იაფი და მარტივი ნაბიჯი! შინაური ცხოველების მქონე ადამიანებს, ალბათ, იგივე პრობლემა ჰქონდათ, როგორც მე: შვებულება და დავიწყება. მე მუდმივად მავიწყდებოდა ჩემი თევზის გამოკვება და ყოველთვის ვცდილობდი ასე გამეკეთებინა სანამ ის წავიდოდა
აკუსტიკური ლევიტაცია Arduino Uno– ით ეტაპობრივად (8 ნაბიჯი): 8 ნაბიჯი
აკუსტიკური ლევიტაცია Arduino Uno– სთან ერთად ეტაპობრივად (8 საფეხური): ულტრაბგერითი ხმის გადამცემები L298N Dc მდედრობითი ადაპტერი დენის წყაროს მამაკაცის dc pin Arduino UNOBreadboard და ანალოგური პორტები კოდის გადასაყვანად (C ++)
ნაბიჯი: 4 ნაბიჯი
聲納: 改作: https: //aboutsciences.com/blog/arduino-radar-using … 我 在 原本 聲納 的 ar ar ar ar ar: arduino uno, 感測器, 馬達, 喇叭: 掃描 到 物品 加速 並 傳 述 cm cm cm cm cm cm cm 10 სმ 時 喇叭 會
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: 3 ნაბიჯი
პირდაპირი 4G/5G HD ვიდეო ნაკადი DJI Drone– დან დაბალი ლატენტურობით [3 ნაბიჯი]: შემდეგი სახელმძღვანელო დაგეხმარებათ მიიღოთ პირდაპირი HD ხარისხის ვიდეო ნაკადები თითქმის ნებისმიერი DJI თვითმფრინავისგან. FlytOS მობილური აპლიკაციისა და FlytNow ვებ აპლიკაციის დახმარებით თქვენ შეგიძლიათ დაიწყოთ ვიდეოს სტრიმინგი დრონიდან