Internet rzeczy to przykład koncepcji, która - w odróżnieniu od wielu innych relatywnie młodych dziedzin IT - została więcej aniżeli pozytywnie zweryfikowana przez czas i rynek. Już dziś IoT znajduje nad wyraz obfite użycie w wielu obszarach życia: od projektów stricte hobbystycznych, poprzez automatykę domową, handel i usługi, po systemy inteligentnych miast, przemysł i rolnictwo. Internet rzeczy nadal ewoluuje - i staje się coraz powszechniejszy, a to może być zachętą do tego, żeby poznać go bliżej. Internet rzeczy. Podstawy programowania aplikacji i serwerów sieciowych w językach C/C++, MicroPython i Lua na urządzeniach IoT ESP8266, ESP32 i Arduino może się okazać perfekcyjną propozycją na początek przygody z IoT. Książka kompleksowo objaśnia specyfikę wybranych urządzeń i uczy, jak je programować w sposób na tyle przystępny,wystarczy przeciętna znajomość obsługi komputera, żeby zacząć kreować pierwsze projekty. Treść została zilustrowana przykładowymi kodami źródłowymi, co niezaprzeczalnie ułatwia stawianie pierwszych kroków.
Dzięki książce:
Spis treści książki
Przedmowa
1. URZĄDZENIA INTERNETU RZECZY
1.1. Platforma Arduino1.1.1. Arduino UNO R3
1.1.2. Arduino Nano
1.1.3. Arduino Mega 2560 Rev3
1.1.4. Arduino Mega 2560 + WiFi ESP8266
1.1.5. Podsumowanie
1.2. Platforma Espressif1.2.1. ESP-01
1.2.2. ESP-M
1.2.3. ESP-07
1.2.4. ESP-12
1.2.5. ESP-15F
1.2.6. Płytki rozwojowe ESP
1.2.7. Tryby pracy modułów
1.2.8. Systemy plików SPIFFS i LittleFS
1.2.9. Podsumowanie
1.3. Pozostałe urządzenia1.3.1. BW16 RTL8720DN
1.3.2. SIM800L GSM/GPRS
1.3.3. NRF24L01+
1.4. Lista zakupów1.4.1. ESP8266 na korzystny początek
1.4.2. ESP32 dla wymagających
2. OPROGRAMOWANIE
2.1. Arduino IDE2.1.1. Instalacja oprogramowania dla ESP8266 i ESP32
2.1.2. Obsługa systemów plików SPIFFS i LittleFS
2.2. PlatformIO IDE2.2.1. Instalacja i konfiguracja
2.2.2. Tworzenie nowego projektu
2.2.3. Obsługa systemów plików SPIFFS i LittleFS
2.3. ESPlorer
2.4. UPyCraft
2.5. UPyLoader
2.6. Flash Download Tool
2.7. NodeMCU PyFlasher
2.8. EM-WiFi Configuration
3. FIRMWARE
3.1. Po co aktualizować oprogramowanie układowe?
3.2. Aktualizacja oprogramowania3.2.1. Narzędzia do aktualizacji oprogramowania
3.2.2. AT
3.2.3. MicroPython
3.2.4. Lua (NodeMCU)
3.3. Kompilowanie oprogramowania3.3.1. AT
3.3.2. MicroPython
3.3.3. Lua (NodeMCU)
4. PODSTAWY PROGRAMOWANIA
4.1. C (Arduino)4.1.1. Struktura kodu źródłowego
4.1.2. Stałe predefiniowane
4.1.3. Zmienne i typy informacji
4.1.4. Konstrukcje warunkowe
4.1.5. Pętle
4.1.6. Funkcje
4.1.7. Pakiet funkcji dla Arduino
4.2. MicroPython4.2.1. Struktura kodu źródłowego
4.2.2. Zmienne i typy danych
4.2.3. Operacje na plikach
4.2.4. Konstrukcje warunkowe
4.2.5. Pętle
4.2.6. Funkcje
4.2.7. Biblioteki programistyczne
4.3. Lua4.3.1. Zmienne i typy informacji
4.3.2. Operacje na plikach
4.3.3. Konstrukcje warunkowe
4.3.4. Pętle
4.3.5. Funkcje
4.3.6. Biblioteki programistyczne
5. PROGRAMOWANIE APLIKACJI SIECIOWYCH
5.1. Prędki kurs stosowania komend AT5.1.1. Diagnostyka
5.1.2. Sieć wi-fi
5.1.3. Punkt dostępowy
5.1.4. Serwer z obsługą połączeń TCP i UDP
5.2. Prędki kurs tworzenia stron WWW5.2.1. Szkielet dokumentu hipertekstowego
5.2.2. Stosowanie znaczników HTML w praktyce
5.3. Lista zakupów
5.4. RTC, Ethernet i karty pamięciProjekt 1. Zapis danych z czujników na kartę SD
Projekt 2. Zegar czasu rzeczywistego - RTC
Projekt 3. Dostęp do sieci Ethernet
5.5. Wi-fi, Blynk i serwer TCPProjekt 4. Serwer TCP i udostępnianie informacji
Projekt 5. Komunikacja TCP z platformą Blynk
Projekt 6. Własna platforma IoT - PHP i SQL
5.6. Powiększenia dla modułu ESP-01Projekt 7. Detektor temperatury DS18B20
Projekt 8. Detektor temperatury DHT11
Projekt 9. Moduł przekaźnika
Projekt 10. Kontroler RGB LED
5.7. Usługi siecioweProjekt 11. SMTP - powiadomienia e-mail
Projekt 12. MySQL - transfer informacji do bazy SQL
Projekt 13. FTP - zapis informacji na serwerze plików
Projekt 14. MQTT - protokół komunikacyjny dla IoT
Projekt 15. DDNS - jedna nazwa przy zmiennym IP
Projekt 16. SMS - komunikacja poprzez sieć GSM
5.8. Zdalna aktualizacja oprogramowaniaProjekt 17. OTA z Arduino IDE i w linii poleceń
Projekt 18. Aktualizacja firmware poprzez WWW
Projekt 19. Aktualizacja LittleFS poprzez WWW
Projekt 20. ElegantOTA - gustowna alternatywa
6. WEB FRAMEWORK - C, MICROPYTHON I LUA
6.1. AWOT - serwer w języku C6.1.1. Szkielet serwera WWW
6.1.2. Routing
6.1.3. Obsługa żądań HTTP i odpowiedzi do klientów
Projekt 21. Serwer WWW w frameworku aWOT
6.2. Microdot - serwer w języku MicroPython6.2.1. Przygotowanie środowiska pracy
6.2.2. Routing
6.2.3. Programowanie asynchroniczne i SSL
6.2.4. Obsługa żądań HTTP i odpowiedzi do klientów
6.2.5. Szablony dla strony WWW
Projekt 22. Serwer WWW w frameworku Microdot
6.3. Express - serwer w języku Lua6.3.1. Przygotowanie środowiska pracy
Projekt 23. Serwer WWW we frameworku Express
7. ZAKOŃCZENIE
7.1. Trochę rozrywki z grą MinecraftProjekt 24. Serwer gry Minecraft