To jest strona "demo" przedstawiająca zakres poruszanych zagadnień.
Masz wykupiony abonament? Przejdź do działu dla subskrybentów.

 
Po wykupieniu subskrypcji uzyskasz dostęp do wszystkich materiałów przez menu "Filmy DIY", gdzie znajdziesz: filmy, opisy, linki, kody gotowych scen i forum).  Każda seria filmów ma 1 film demo dostępny po kliknięciu ikony "wideo" na stronie "Filmy DIY". 

Jak zrobić...?

REST API - jak sterować dowolnym urządzeniem przez Internet - praktyczny poradnik

REST API

Jak sterować dowolnym urządzeniem przez Internet

Opis

Główna idea

HTTP REST API to technologia pozwlająca komunikować się  z dowolnym urządzeniem za pośrednictwem internetu. Dzięki niej do systemu FIBARO możesz podłączyć takie urządzenia jak lodówka, ekspres do kawy, automatyczny odkurzacz lub zestawy multimedialne Hi-Fi.

OBRAZ

 
projekt_edited.jpg
idea_edited.jpg

Uwaga

 

Nie wiesz co to jest REST API?

Nie programowałeś jeszcze nigdy zapytania HTTP?

Nie mart się, zacznij od filmu 5002, gdzie pokazuję jak napisać w języku Lua jedno proste zapytanie HTTP typu GET. Zgadnienie to omawiam wykorzystując serwer zwracający informacje o państwach świata, który pozwala na wyszukiwanie wielu użytecznych informacji bez konieczności logowania i konfigurowania połączenia po stronie serwera.

Informacje dodatkowe

Moje zalecenia

 

Praca z HTTP REST wymaga dużej cierpliwości w zrozumieniu opisu interfejsu API usługodawcy z którym się łączysz, a następnie w sformułowaniu zapytań http i analizowaniu ich odpowiedzi.

  • Nie zapominaj, że HTTP request możesz z powodzeniem przetestować (nawet przed rozpoczęciem pisania kodu w Lua) za pomocą terminala np. przy użyciu metody: "curl -X" GET/POST

  • Pamiętaj także, że centrala HC2 nie wspiera żadnej wersji protokołu TSL, a starszy protokół (który wspiera) - SSL bardzo często zostaje zablokowany przez serwer z którym się łączysz. Jest to spowodowane tym, że protokół SSL nie spełnia dziś wszystkich wymogów bezpieczeństwa i jest zastępowany nowszym protokołem - TLS, który jest wspierany przez nową centralę HC3. W przypadku użycia połączenia wykorzystującego stary protokół SSL, zobaczysz błąd: "Error : sslv3 alert handshake failure" co oznacza, że musisz użyć nowego protokołu TLS przy wykorzystaniu centrali HC3 i prawdopodobnie należy wsyłać zapytanie HTTP pod inny adres i z innymi parametrami.

  • Koniecznie do analizy odpowiedzi z serwera wykorzystaj online edytory JSON by zobaczyć jak wygląda zwracana struktura np.  JSON online editor.

OBRAZ

 
kodowanie_edited.jpg

O filmach 

 

Poruszane tematy

W serii filmów pokażę jak zbudować od "zera" integrację z zewnętrzym urządzeniem na przykładzie kosiarki Husqvarna

  • zbuduję Quick App i napiszę kod Lua wysyłający zapytania do serwera Husqvarna tak aby było możliwe odczytanie stanu kosiarki i sterowanie nią 

  • pokażę jak należy odpowiednio skonfigurować konto na serwerze Husqvarna aby zewnętrzna aplikacja Quick App mogła korzystać z funkcji kosiarki 

  • omówię także jak czytać dokumentację API dostarczoną przez firmę Husqvarna opisującą zasady komunikacji

Co więcej, aby proces tworzenia zapytań do serwera Husqvarna był zrozumiały, opracowałem graficzny schemat wymiany danych, który narysowałem na podstawie dokumentacji API opisującej szczegóły komunikacji. Schemat wraz z gotowym QuickApp i kodem znajdziesz w załączniku.

OBRAZ

 
video.png

Zastosowanie

Przedstawione umiejętności pozwolą Ci na:

  • podłączenia się do dowolnego urządzenia IoT innego producenta

  • integracji innych systemów z systemem FIBARO

  • zapoznanie się z zapytaniami HTTP request

  • podniesie komfortu w domu dzięki różnym integracjom umożliwiającym nawet automatyczne  zaparzenie kawy po obudzeniu :-)


zastosowanie.png

Materiały dodatkowe do pobrania

Gotowe do zaimportowania urządzenia Quick App, kod Lua i schemat: - wersja pełna do integracji z kosiarką Husqvarna (wg filmu 5001) - wersja szkoleniowa prostej integracji Husqvarna (wg filmów 5003-5007) - schemat blokowy komunikacji REST API Husqvarna - kod Lua sceny poszukującej informacje o państwach (wg filmu 5002)

Forum

Szukasz dodatkowej pomocy?

Forum jest do Twojej dyspozycji!