Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 18:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
PostNapisane: 22 lis 2018, o 08:41 
Offline
Użytkownik

Dołączył(a): 08 mar 2015
Posty: 60
Pomógł: 5

Obrazek
Chciałbym wam przedstawić projekt, który powstał jakiś czas temu, ale dopiero dzisiaj postanowiłem go zaprezentować :)

SmartMirror jest inteligentnym lustrem wyposażonym w asystenta głosowego oraz czujnik do rozpoznawania gestów dłoni.
Lustro komunikuje się z zewnętrznymi web serwisami oraz bazą czasu rzeczywistego typu NoSQL Firebase, gdzie gromadzone są informacje dotyczące temperatury powietrza i wilgotności otoczenia odczytane za pomocą zewnętrznego modułu pomiarowego.

Obrazek

Cel projektu

Głównym celem projektu było stworzenie urządzenia typu Internet Rzeczy (IoT) wykorzystującego asystenta głosowego oraz technologie webowe.
Ostatecznie postanowiłem stworzyć inteligentne lustro, które będzie posiadało następujące funkcje:
  • wyświetlanie prognozy pogody na najbliższe pięć dni,
  • dodawanie i wyświetlanie wydarzeń z kalendarza,
  • wyświetlanie zawartości skrzynki email,
  • wyświetlanie i dodawanie postów w serwisie społecznościowym,
  • wyświetlanie informacji odnośnie korków na drogach,
  • ustalanie lokalizacji na podstawie adresu IP,
  • sterowanie za pomocą komend głosowych,
  • komunikacja z zewnętrzną baza danych czasu rzeczywistego,
  • sterowanie za pomocą prostych gestów dłoni,
  • wykrywanie obecności użytkownika,
  • odtwarzanie dźwięku,
  • prezentacja interfejsu graficznego użytkownika GUI,
  • rejestracja dźwięku,
  • pomiar temperatury powietrza,
  • pomiar wilgotności otoczenia.


Oprogramowanie

W pierwszej kolejności dokonałem implementacji asystenta głosowego. Wybór padł na Google Assistant, który został połączony z usługą Dialogflow służącej do tworzenia konwersacji w języku naturalnym.
Użytkownik za pomocą komend głosowych może wykonywać następujące akcje:
  • publikację postu - Facebook,
  • dodawanie całodniowego wydarzania - kalendarz Google,
  • dodawanie wydarzenia w konkretnym dniu - kalendarz Google,
  • dodawanie wydarzenia w konkretnym dniu i godzinie - kalendarz Google,
  • wyświetlanie następnego lub poprzedniego postu - Facebook,
  • przełączanie pomiędzy kartami - interfejs graficzny aplikacji.

Aplikacja urządzenia została podzielona na dwa moduły - klient oraz serwer. Aplikacje klienta została napisana w języku TypeScript (JavaScript) z wykorzystaniem Angular 5.
Natomiast aplikacja serwera została napisana w języku JavaScript i uruchomiona w środowisku Node.js. Komunikacja pomiędzy aplikacjami odbywa się za pomocą protokołu WebSocket.
Oprogramowanie urządzenia implementuje następujące funkcjonalności:
  • dodawanie oraz wyświetlanie postów z serwisu społecznościowego Facebook,
  • wyświetlenie informacji o aktualnym natężeniu ruchu oraz wyznaczenie optymalnej trasy z punktu A do punktu B,
  • dodawanie oraz wyświetlanie wydarzeń z kalendarza Google,
  • prognoza pogody,
  • wyświetlenie wiadomości ze skrzynki pocztowej Gmail.

Obrazek

Zewnętrzny moduł pomiarowy

W skład inteligentnego lustra wchodzi również zewnętrzny moduł pomiarowy, który służy do zdalnego pomiaru temperatury powietrza oraz względnej wilgotności otoczenia.
Moduł ten służy do zdalnego pomiaru temperatury powietrza oraz względnej wilgotności otoczenia. Odczytane dane są następnie przesyłane do zewnętrznej bazy czasu rzeczywistego Firebase typu NoSQL.
Komunikacja z bazą danych odbywa się za pośrednictwem sieci Internet z wykorzystaniem protokołu WebSocket, co pozwala na wyświetlanie informacji w czasie rzeczywistym.
Baza Firebase stanowi główne medium transmisyjne pomiędzy zewnętrznym modułem pomiarowym a inteligentnym lustrem.

Obrazek



Pełen opis projektu wraz z kosztorysem dostępny jest tutaj DevTomek.pl -> SmartMirror

Zachęcam do komentowania oraz zadawania pytań :D

PS. Pomyśleć, że niecałą dekadę temu zaczynałem od programowania Atmega8 w języku Bascom, a dzisiaj potrafię tworzyć urządzenia sterowane głosem. To jest taki przykład dla wszystkich tych co zaczynają swoją przygodę z programowaniem AVR'ów. Zaczynając od programowania prostych mikrokontrolerów jesteśmy w stanie płynnie przejść do tworzenia coraz to bardziej zaawansowanych urządzeń wykorzystując w tym celu najnowocześniejsze języki programowania oraz technologie, które im niezwłocznie towarzyszą. Reasumując, czas poświęcony na naukę programowania mikrokontrolerów w języku C z pewnością nie był czasem straconym, pomimo że obecnie piszę w Java oraz JS! To taka złota myśl dla nowych adeptów tego fachu - programowaniem, co się zowie. ;)

_________________
Http://anonimg3.comxa.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 08:57 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1079
Pomógł: 73

O żesz w mordkę..... Panie, ja się zwalniam..... Ale urwał!!! idę ochłonąć :D

------------------------ [ Dodano po: 4 minutach ]

Nie no pełen szacun naprawdę :) Zapewne ogrom pracy ale efekt i zdobyta wiedza bezcenna :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 09:23 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3187
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 89

Na razie szukam szczęki na podłodze.... :D :o

Panie Guru, temat na Główną i na FB. 8-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 09:24 
Offline
Użytkownik

Dołączył(a): 16 wrz 2014
Posty: 264
Pomógł: 12

Spadłem z krzesła... Kolego, szacunek. Projekt naprawdę robi wrażenie. Gratuluję!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 15:38 
Offline
Użytkownik

Dołączył(a): 08 mar 2015
Posty: 60
Pomógł: 5

Nie spodziewałem się, że projekt zostanie przyjęty z takim entuzjazmem. Dziękuję za wszystkie komentarze! :)
W weekend postaram się udostępnić kod źródłowy, więc każdy będzie mógł sobie prześledzić jak wygląda taka aplikacja.

_________________
Http://anonimg3.comxa.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 16:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1960
Lokalizacja: Lipsko
Pomógł: 125

No ładne cacko... Rozumiem, że działa to na czymś nieco większym niż Attiny13...? ;-)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 16:14 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

SylwekK, czytałeś opis projektu na stronie kolegi? ;-)

_________________
Pozdrawiam
PP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 16:16 
Offline
Użytkownik

Dołączył(a): 08 mar 2015
Posty: 60
Pomógł: 5

SylwekK napisał(a):
No ładne cacko... Rozumiem, że działa to na czymś nieco większym niż Attiny13...? ;-)


Owszem, "mózgiem" jest Raspberry Pi 3. Na schemacie blokowym jest to pokazane :)

_________________
Http://anonimg3.comxa.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 16:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1960
Lokalizacja: Lipsko
Pomógł: 125

Nie, nie czytałem na razie chociaż przypuszczałem, że to właśnie na RB zrobione :) Przeczytam później, bo teraz jestem w szpitalu z córcią i tak nie za bardzo się mogę skupić...

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 16:33 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Widzę Kolega z tej samej "Alma Mater" :) czyżby WEEIA ;) ? Gratuluje fantastycznego projektu :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 17:07 
Offline
Użytkownik

Dołączył(a): 08 mar 2015
Posty: 60
Pomógł: 5

Nefarious19 napisał(a):
Widzę Kolega z tej samej "Alma Mater" :) czyżby WEEIA ;) ? Gratuluje fantastycznego projektu :)


Zgadza się! AiR ;)

_________________
Http://anonimg3.comxa.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 21:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Jaglarz napisał(a):
temat na Główną i na FB.

Jes SER, tzn już się robi Kapitanie ....

KAWAŁ porządnej roboty - aż MIŁO oko zawiesić na takim projekcie ! Gratulacje

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 22:19 
Offline
Użytkownik

Dołączył(a): 08 mar 2015
Posty: 60
Pomógł: 5

Dziękuję za umieszczenie posta na głównej i wszystkie opinie :) Mogę już zdradzić, że pracuję nad kolejnym małym projektem który wykorzystuje zestaw ATB do komunikacji z komputerem, więc każdy posiadacz zestawu będzie mógł go sobie zaimplementować i samodzielnie przetestować. Nie jest on tak zaawansowany technologicznie jak ten, ale z pewnością bardzo użyteczny w dobie Internetu. Stay tuned! :)

_________________
Http://anonimg3.comxa.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2018, o 07:39 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Gratuluję projektu. Super wykonanie!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO