Kurs esp32/esp8266 | #0 – Wstęp i spis treści

Ważne informacje dotyczące kursu

Na samym początku chciałbym poinformować o tym, że kurs jest przeznaczony bardziej dla osób początkujących lub osób, które szybko chcą wejść w świat programowania mikrokontrolerów esp. Tematy, które tutaj będę omawiać to najpotrzebniejsze informacje by zacząć zabawę, nie chciałbym jakoś mocno wchodzić w szczegóły jak działa konkretna magistrala, czy interfejs a raczej pokazać jak szybko je uruchamiać. Przykłady polecam robić z otwartą oficjalną dokumentacją espressif gdyż nie pokazuje tutaj wszystkich możliwości peryferiów i funkcji dostępnych dla tychże procków.


Witaj! Jest to kurs poświęcony programowaniu mikrokontrolerów z rodziny esp – głównie esp32 i esp8266. Mikrokontrolery programować będziemy w języku C z pomocą dostarczanych przez producenta środowisk programistycznych tzw. sdk (Software Development Kit).

Moduły z jakich będę korzystać w kursie:

esp8266

esp32

Poniżej środowiska z jakich korzystamy:

esp32

Esp32 programujemy w środowisku esp-idf. Jego dokumentacja z dokładnym opisem instalacji znajduje się pod poniższym linkiem…

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html

esp8266

Jeżeli chodzi o mikrokontroler esp8266 to tutaj możemy znaleźć w internecie kilka środowisk. Nas natomiast interesuje tylko środowisko ESP8266 RTOS SDK.

https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/

Jest to środowisko najświeższe, wzbogacone o dostosowany framework RTOS, czyli system dający nam możliwość realizacji multitaskingu. Równocześnie, esp8266 rtos sdk  jest najbardziej zbliżone do środowiska esp-idf.


Mikrokontrolery esp

Niektóre z funkcji, czy makrodefinicji mogą się jednak nieco różnić w obu środowiskach. Ponadto część peryferiów esp32 jest bardziej złożona niżeli w esp8266. Co za tym idzie –  ich konfiguracja wygląda zupełnie inaczej. To oczywiście będę uwzględniał kiedy to tylko będzie konieczne.

Programowanie w środowiskach esp z samego początku może lekko przytłaczać, z czasem jednak zauważysz że jest ono bardzo proste, szczególnie uruchamianie peryferiów mikrokontrolera (timery, przerwania, urat…). Celem tego kursu jest przeprowadznie ciebie przez wszystkie niezbędne kwestie dotyczące programowania esp byś mógł wykorzystać każde z jego peryferiów do realizacji swoich projektów.

Mikrokontrolery esp w środowiskach hobbystów, a także firm zajmujących się IOT zdobywają coraz większą popularność. Nic dziwnego – są to po prostu wydajne i tanie mikrokontrolery z dużym wsparciem od strony producenta. Wśród hobbystów najczęściej wybiera się język Arduino do programowania tych mikrokontrolerów. Inaczej jest w rozwiązaniach komercyjnych. Tam zdecydowanie przeważa sdk.

Dzięki nauce programowania mikrokontrolerów esp w środowiskach producenta na pewno lepiej poznasz same procesory oraz ich peryferia. Kurs tworzę, gdyż mimo dobrych dokumentacji osoby początkujące mogą mieć problem w wielu miejscach.

Spis Treści

Peryferia

  1. Kurs esp #1 – instalowanie środowisk espressif, flashowanie procesora
  2. Kurs esp #2 – Porty GPIO
  3. Kurs esp #3 – przerwania i timery
  4. Kurs esp #4 – UART
  5. Kurs esp #5 – FreeRTOS
  6. Kurs esp #6 – ADC
  7. Kurs esp #7 – Touch sensor
  8. Kurs esp #8 – I2C
  9. Kurs esp #9 – SPI
  10. Kurs esp #10 – PWM
  11. Kurs esp #11 – Debugowanie, logging, error checking

Wi-Fi | Networking

  1. Kurs esp #12 – WiFi, inicjalizacja i uruchomienie (scan, client, access point)
  2. Kurs esp #13 – HTTP/HTTPS Client (GET, POST)

 

6 komentarzy

  1. Czy mógłbyś zamieścić cały kod w części poświęconej Touch sensor w ESP32? Mam problem z uruchomieniem. Z góry dzięki.

  2. Panowie, nic nie będzie kontynuowane. Chłop robi chyba kurs dla naszych prawnuków. Typowe dla „wirtualnych organizatorów kursów”. Projekt porzucony, kursant olany 😉

  3. – czekamy na dalsze części ale ja bym się oparł na IDF 5.1.2 dla esp32 (esp32s3).
    – na tym uP można uruchomić grę Doom-a i jest trochę przykładów do kompilacji

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *