Niebawem na elektroda.pl pojawi się moduł WiFi z zamontowanym na płytce ESP32 oraz wyświetlaczem OLED SSD1306. Możliwości ESP32 oraz integracja z Arduino została opisana tutaj: ESP32 + Arduino. Angielskojęzyczny opis integracji dostępny jest tutaj: ESP32 & Arduino on Windows.
Wyświetlacz SSD1306 pracuje na magistrali I2C pod adresem 0x3C. SCL połączony jest z wyprowadzeniem 4, SDA z I/O 5 - ESP32. Na płytce znajdziemy konwerter USB<->UART, stabilizator 3.3V oraz końcówki ESP32 wyprowadzone na krawędzie płytki. Monochromatyczny wyświetlacz OLED zapewnia bardzo dobry kontrast i przyjemny wygląd obrazu.
Do obsługi wyświetlacza można wykorzystać jedną z bibliotek np. U8g2. Po wybraniu Szkic->Dołącz bibliotekę->Zarządzaj bibliotekami możemy dodać lub zaktualizować U8g2. Konfiguracja wbudowanego wyświetlacza w U8g2 wygląda następująco:
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 4, /* data=*/ 5, /* reset=*/ U8X8_PIN_NONE);
Płytkę ustawiamy jako Wemos ESP32: Narzędzia->WEMOS LOLIN32
ESP32 posiada więcej pamięci RAM niż ESP8266 lub ATmega328 i możemy wygodniej przetwarzać dane w formacie JSON udostępniane w API wielu systemów. Przykładowo prognozy pogody http://openweathermap.org/api oraz https://www.wunderground.com/weather/api lub dane o jakości powietrza https://airly.eu/pl/api/ dostępne są jako JSON.
Wiele z tych danych jest dostępne online bezpłatnie, wystarczy zarejestrować konto i otrzymać swój osobisty klucz.
W przypadku openweathermap http://openweathermap.org/price po założeniu konta otrzymujemy swój klucz, po sprawdzeniu jakie IDma nasze miasto http://bulk.openweathermap.org/sample/city.list.json.gz (np. dla Warszawy 7531926) możemy wysyłać zapytania i prezentować na wyświetlaczu prognozę pogody.
Aby wygodnie przetwarzać dane JSON dodajemy do Arduino bibliotekę ArduinoJson wyszukując ją w Szkic->Dołącz bibliotekę->Zarządzaj bibliotekami.
W dość prosty sposób otrzymujemy prognozę pogody na kolejne godziny:
Poniżej przykładowy prosty kod, który możecie przystosować zarówno do wyświetlania aktualnej prognozy pogody, jak również do praktycznie dowolnych danych publikowanych przez JSON. Zamiast opisów, można wprowadzić graficzne przedstawienie prognozowanej pogody: https://openweathermap.org/weather-conditions
Jakie macie pomysły na wykorzystanie miniaturowego modułu WiFi z ESP32 i wyświetlaczem OLED 128x64?

Wyświetlacz SSD1306 pracuje na magistrali I2C pod adresem 0x3C. SCL połączony jest z wyprowadzeniem 4, SDA z I/O 5 - ESP32. Na płytce znajdziemy konwerter USB<->UART, stabilizator 3.3V oraz końcówki ESP32 wyprowadzone na krawędzie płytki. Monochromatyczny wyświetlacz OLED zapewnia bardzo dobry kontrast i przyjemny wygląd obrazu.
Do obsługi wyświetlacza można wykorzystać jedną z bibliotek np. U8g2. Po wybraniu Szkic->Dołącz bibliotekę->Zarządzaj bibliotekami możemy dodać lub zaktualizować U8g2. Konfiguracja wbudowanego wyświetlacza w U8g2 wygląda następująco:
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 4, /* data=*/ 5, /* reset=*/ U8X8_PIN_NONE);
Płytkę ustawiamy jako Wemos ESP32: Narzędzia->WEMOS LOLIN32
ESP32 posiada więcej pamięci RAM niż ESP8266 lub ATmega328 i możemy wygodniej przetwarzać dane w formacie JSON udostępniane w API wielu systemów. Przykładowo prognozy pogody http://openweathermap.org/api oraz https://www.wunderground.com/weather/api lub dane o jakości powietrza https://airly.eu/pl/api/ dostępne są jako JSON.
Wiele z tych danych jest dostępne online bezpłatnie, wystarczy zarejestrować konto i otrzymać swój osobisty klucz.
W przypadku openweathermap http://openweathermap.org/price po założeniu konta otrzymujemy swój klucz, po sprawdzeniu jakie IDma nasze miasto http://bulk.openweathermap.org/sample/city.list.json.gz (np. dla Warszawy 7531926) możemy wysyłać zapytania i prezentować na wyświetlaczu prognozę pogody.
Aby wygodnie przetwarzać dane JSON dodajemy do Arduino bibliotekę ArduinoJson wyszukując ją w Szkic->Dołącz bibliotekę->Zarządzaj bibliotekami.
W dość prosty sposób otrzymujemy prognozę pogody na kolejne godziny:

Poniżej przykładowy prosty kod, który możecie przystosować zarówno do wyświetlania aktualnej prognozy pogody, jak również do praktycznie dowolnych danych publikowanych przez JSON. Zamiast opisów, można wprowadzić graficzne przedstawienie prognozowanej pogody: https://openweathermap.org/weather-conditions
Code: c
Jakie macie pomysły na wykorzystanie miniaturowego modułu WiFi z ESP32 i wyświetlaczem OLED 128x64?


Cool? Ranking DIY