SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
JavaScript
w inteligentnych budynkach
Mateusz Ziarko
Head of Front-End Development & Design
Sensinum
Inteligentne budynki
Co to jest?
• automatyka
• czujniki
• Internet of Things
Inteligentne budynki
Czym są zarządzane?
• fizyczne panele
• aplikacje natywne (iOS, Android)
• ***
Inteligentne budynki
Czym są zarządzane?
• fizyczne panele
• aplikacje natywne (iOS, Android)
• ***
Gdzie tutaj
JavaScript?
Webowe aplikacje SPA
W czym to zbudować?
• AngularJS, knockout.js, React or whatever
• HTML5 API
• WebSocket
• webRTC
W czym to zbudować?
• AngularJS, knockout.js, React or whatever
• HTML5 API
• WebSocket
• webRTC
My zrobiliśmy
to w tym
Co nam to dało?
• skalowalność rozwiązania
• niezależność od implementacji serwerowej
• efekt WOW
• dostęp np. do interfejsu głosowego
Co nam to dało?
• skalowalność rozwiązania
• niezależność od implementacji serwerowej
• efekt WOW
• dostęp np. do interfejsu głosowego
webRTC
Czym jest webRTC?
• projekt OpenSource
• wzbogaca współczesne przeglądarki o proste API
do komunikacji real-time
• getUserMedia i MediaStream
Źródło: webrtc.org
Czym jest webRTC?
• projekt OpenSource
• wzbogaca współczesne przeglądarki o proste API
do komunikacji real-time
• getUserMedia i MediaStream
Źródło: webrtc.org
Liczący się gracze wspierają
webRTC
• Mozilla Firefox
• Google Chrome
• Opera
Również w wersjach mobilnych

caniuse.com/#search=webrtc

iswebrtcreadyyet.com
Źródło: iswebrtcreadyyet.com
getUserMedia
+
MediaStream
+
Recorder.js
github.com/mattdiamond/Recorderjs
Zarządzanie budynkiem

za pomocą komend głosowych
Jak to zrealizowaliśmy?
• dostęp do mikrofonu za pomocą getUserMedia
• rozpoczęcie nagrywania z wykorzystaniem
Recorder.js
• wygenerowanie Blob’a WAV z zapisem dźwięku

i konwersja na base64
Jak to zrealizowaliśmy?
• analiza przez serwer i uruchomienie żądanych
procesów
• głosowa odpowiedź przez WebSocket i reakcja
aplikacji
Co napsuło nam krwi?
• częstotliwość nagrywania
• stand-by urządzeń mobilnych i usypianie
procesów przeglądarki
• jednoczesne nagrywanie dźwięku i działanie
komunikacji po WebSocket’ach
• kompresja nagranego dźwięku
W jaki sposób testowaliśmy?
• aplikacja serwerowa miała pełne testy
jednostkowe i behawioralne
• SPA posiadało testy z wyjątkiem części
odpowiedzialnej za dźwięk, która testowana była
„ręcznie”
Co przez to osiągnęliśmy?
• responsywna aplikacja webowa -

desktop / tablet / smartphone
• obsługa przez komendy głosowe
• uruchamianie tzw. Scen
• Ambient Assisted Living z przeznaczeniem np. 

dla osób starzejących się
Digital Home Management System
To naprawdę zaskoczyło
• niedalekie wdrożenia w pokazowym domu
pasywnym i biurowcu klasy A+ w okolicach
Krakowa
Dziękuję za uwagę
Pytania?
Mateusz Ziarko
Head of Front-End Development & Design
@ Sensinum
@cyp3r
mateusz.ziarko@sensinum.pl
studio.sensinum.plwww

Mais conteúdo relacionado

Semelhante a JS in the intelligent buildings @ meet.js Krk

Architektura serwisu gg.pl 2 przemek łącki (2)
Architektura serwisu gg.pl 2   przemek łącki (2)Architektura serwisu gg.pl 2   przemek łącki (2)
Architektura serwisu gg.pl 2 przemek łącki (2)
Cendoo
 

Semelhante a JS in the intelligent buildings @ meet.js Krk (20)

Jak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzień
 
Szybkie tworzenie aplikacji na iPhone i Android - Netcamp #16
Szybkie tworzenie aplikacji na iPhone i Android - Netcamp #16Szybkie tworzenie aplikacji na iPhone i Android - Netcamp #16
Szybkie tworzenie aplikacji na iPhone i Android - Netcamp #16
 
university day 1
university day 1university day 1
university day 1
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
Testowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStackTestowanie rozwiązań serverless z LocalStack
Testowanie rozwiązań serverless z LocalStack
 
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
Aplikacje natywne dla Kubernetes z wykorzystaniem OpenShift Serverless - Wars...
 
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
 
Data Driven Testing za pomocą narzędzia Ranorex
Data Driven Testing za pomocą narzędzia RanorexData Driven Testing za pomocą narzędzia Ranorex
Data Driven Testing za pomocą narzędzia Ranorex
 
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
 
Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe Microservices
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?
 
GG.pl prezentacja nowego serwisu
GG.pl prezentacja nowego serwisuGG.pl prezentacja nowego serwisu
GG.pl prezentacja nowego serwisu
 
Prawdziwi znajomi - prawdziwe rozmowy
Prawdziwi znajomi - prawdziwe rozmowyPrawdziwi znajomi - prawdziwe rozmowy
Prawdziwi znajomi - prawdziwe rozmowy
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
Architektura serwisu gg.pl 2 przemek łącki (2)
Architektura serwisu gg.pl 2   przemek łącki (2)Architektura serwisu gg.pl 2   przemek łącki (2)
Architektura serwisu gg.pl 2 przemek łącki (2)
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecie
 
ES2015 / ES6 Podstawy nowoczesnego JavaScriptu
ES2015 / ES6 Podstawy nowoczesnego JavaScriptuES2015 / ES6 Podstawy nowoczesnego JavaScriptu
ES2015 / ES6 Podstawy nowoczesnego JavaScriptu
 

JS in the intelligent buildings @ meet.js Krk

  • 1. JavaScript w inteligentnych budynkach Mateusz Ziarko Head of Front-End Development & Design Sensinum
  • 2.
  • 3.
  • 4. Inteligentne budynki Co to jest? • automatyka • czujniki • Internet of Things
  • 5. Inteligentne budynki Czym są zarządzane? • fizyczne panele • aplikacje natywne (iOS, Android) • ***
  • 6. Inteligentne budynki Czym są zarządzane? • fizyczne panele • aplikacje natywne (iOS, Android) • *** Gdzie tutaj JavaScript?
  • 8. W czym to zbudować? • AngularJS, knockout.js, React or whatever • HTML5 API • WebSocket • webRTC
  • 9. W czym to zbudować? • AngularJS, knockout.js, React or whatever • HTML5 API • WebSocket • webRTC My zrobiliśmy to w tym
  • 10. Co nam to dało? • skalowalność rozwiązania • niezależność od implementacji serwerowej • efekt WOW • dostęp np. do interfejsu głosowego
  • 11. Co nam to dało? • skalowalność rozwiązania • niezależność od implementacji serwerowej • efekt WOW • dostęp np. do interfejsu głosowego webRTC
  • 12. Czym jest webRTC? • projekt OpenSource • wzbogaca współczesne przeglądarki o proste API do komunikacji real-time • getUserMedia i MediaStream Źródło: webrtc.org
  • 13. Czym jest webRTC? • projekt OpenSource • wzbogaca współczesne przeglądarki o proste API do komunikacji real-time • getUserMedia i MediaStream Źródło: webrtc.org
  • 14. Liczący się gracze wspierają webRTC • Mozilla Firefox • Google Chrome • Opera Również w wersjach mobilnych
 caniuse.com/#search=webrtc
 iswebrtcreadyyet.com Źródło: iswebrtcreadyyet.com
  • 17. Jak to zrealizowaliśmy? • dostęp do mikrofonu za pomocą getUserMedia • rozpoczęcie nagrywania z wykorzystaniem Recorder.js • wygenerowanie Blob’a WAV z zapisem dźwięku
 i konwersja na base64
  • 18. Jak to zrealizowaliśmy? • analiza przez serwer i uruchomienie żądanych procesów • głosowa odpowiedź przez WebSocket i reakcja aplikacji
  • 19. Co napsuło nam krwi? • częstotliwość nagrywania • stand-by urządzeń mobilnych i usypianie procesów przeglądarki • jednoczesne nagrywanie dźwięku i działanie komunikacji po WebSocket’ach • kompresja nagranego dźwięku
  • 20. W jaki sposób testowaliśmy? • aplikacja serwerowa miała pełne testy jednostkowe i behawioralne • SPA posiadało testy z wyjątkiem części odpowiedzialnej za dźwięk, która testowana była „ręcznie”
  • 21. Co przez to osiągnęliśmy? • responsywna aplikacja webowa -
 desktop / tablet / smartphone • obsługa przez komendy głosowe • uruchamianie tzw. Scen • Ambient Assisted Living z przeznaczeniem np. 
 dla osób starzejących się
  • 23. To naprawdę zaskoczyło • niedalekie wdrożenia w pokazowym domu pasywnym i biurowcu klasy A+ w okolicach Krakowa
  • 25. Pytania? Mateusz Ziarko Head of Front-End Development & Design @ Sensinum @cyp3r mateusz.ziarko@sensinum.pl studio.sensinum.plwww