Obraz zawierający tekst, Czcionka, Grafika

Opis wygenerowany automatycznie 

Kierunek Informatyka

 

Instrukcja do ćwiczeń laboratoryjnych nr:

6

Nazwa przedmiotu:
Aplikacje mobilne i wbudowane

Temat: Komunikacja aplikacji mobilnej z ESP8266

Tryb studiów: stacjonarne

Czas trwanie ćw.

2x45 min

Autor materiałów: dr Marcin Skuba

 

 

1. Treści programowe:

Android Studio, Java, ESP8266, http.

 

2. Cel zajęć:

Celem zajęć jest nabycie przez studentów umiejętności programowania aplikacji mobilnej w środowisku Android Studio dla systemu operacyjnego Android wymieniającej informacje z zewnętrznym układem ESP8266 poprzez protokół http.  

 

3. Materiały dydaktyczne

 

I.                 Przykładowa aplikacja komunikująca się z układem ESP8266 (kod programu II z instrukcji nr 4) z wykorzystaniem pakietu java.net.HttpURLConnection:

 

Obraz zawierający tekst, zrzut ekranu, oprogramowanie

Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna..

 

Wymagana konfiguracja projektu:

- Plik AndroidManifest.xml:

 

.

- plik zasobów (folder res/xml) network_security_config.xml:

 

Obraz zawierający tekst, zrzut ekranu, Czcionka, oprogramowanie

Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna. .

 

II.               Kod aplikacji stworzony w środowisku Android Studio, w którym przedstawiono trzy sposoby komunikacji z układem ESP8266: metoda GET bez parametrów, metoda GET z parametrami oraz metoda POST wysyłająca dane w części body.

 

 

Obraz zawierający tekst, zrzut ekranu, oprogramowanie

Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna.

Obraz zawierający tekst, zrzut ekranu, oprogramowanie

Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna..

 

 conn.setConnectTimeout(5000);

·        Ustawia maksymalny czas (w milisekundach), jaki program będzie czekał na nawiązanie połączenia z serwerem.

·        5000 oznacza 5 sekund.

·        Jeśli po tym czasie nie uda się połączyć (np. ESP jest offline), wyrzuci wyjątek SocketTimeoutException.

 

 conn.setReadTimeout(5000);

·        Ustawia maksymalny czas oczekiwania na odpowiedź z serwera po nawiązaniu połączenia. Również 5 sekund.

·        Jeśli serwer (ESP) nie odeśle danych w tym czasie — rzuci błąd.

 

conn.setDoOutput(true);

·        Informuje, że będziesz wysyłać dane w ciele zapytania — np. POST, PUT.

·        Bez tego nie można wysyłać danych do serwera (OutputStream będzie niedostępny).

·        Nie trzeba go ustawiać przy zapytaniach GET, bo one nie mają ciała.

 

conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

·        Ustawia nagłówek HTTP Content-Type — czyli mówi serwerowi, jakiego typu dane są wysyłane w ciele zapytania.

 

III.              Kod programu na urządzenie ESP8266 odbierający dane na trzy sposoby (wspomniane we wcześniejszym opisie) oraz wysyłający odpowiedz do klienta:

 

.

4. Zadania

 

Zadanie 1.

Napisz program, w którym umieść trzy przyciski realizujące trzy różne sposoby komunikacji (GET bez parametrów, GET z parametrami oraz POST wysyłający dane w części body. Odpowiedzi serwera wyświetl w polu tekstowym.

 

Zadanie 2.

Zaimplementuj wybrany układ czasowy z poprzedniej instrukcji oraz utwórz interfejs w środowisku Android Studio do sterowania układem.