Moduł WEMOS D1 mini Pro oparty o ESP8266EX będzie niebawem dostępny na elektroda.pl. Dokładny opis jak zintegrować moduł ze środowiskiem Arduino, znajdziecie w materiałach opisujących poprzednio udostępnione moduły:
NodeMCU Amica oraz D1 mini. Poza sposobem konfiguracji środowiska w materiałach znajdziecie przykłady wykorzystania cyfrowego (DS18B20), oraz analogowego (TMP36) czujnika temperatury a także sterowania przekaźnikiem przez internet. W przykładach znajdziecie sposoby na połączenie modułu z Blynk i Thingspeak tworząc urządzenie IoT.
Do rozpoczęcia pracy z modułem wykorzystamy aktualną wersję środowiska Arduino 1.8.3 pobraną z www.arduino.cc
W skrócie dostosowanie środowiska Arduino do współpracy z D1 Mini Pro wygląda tak:
-Plik->Preferencje->Dodatkowe adresy URL do menadżera płytek - wklejamy: http://arduino.esp8266.com/stable/package_esp8266com_index.json
-Narzędzia->Płytka->Menadżer Płytek-> i wyszukujemy "wemos" a następnie instalujemy paczkę z ESP8266.
-Po podłączeniu modułu D1 do portu USB w systemie powinien pojawić się nowy port szeregowy.
-Narzędzia->Płytka->D1 mini, oraz Narzędzia->port i wybieramy port com konwertera USB<->UART.
Od tej pory możemy napisać swój kod, uruchomić przykładowe kody (Plik->Przykłady np. ESP8266WiFi->WiFiScan) lub przetestować kody programów przekształcające D1 mini w urządzenie IoT połączone z internetem z wykorzystaniem WiFi:
Sterowanie przekaźnikiem i odczyt temperatury z czujnika analogowego przez internet na PC i smartfonie.
Odczyt temperatury z jednego lub wielu czujników cyfrowych na smartfonie lub w przeglądarce na PC.
Płytka D1 mini Pro wyposażona jest w pamięć flash 16MB i w przeciwieństwie do poprzednio udostępnionych płytek nie zawiera wlutowanego modułu ESP8266 tylko na pojedynczym laminacie znajdziemy układ scalony ESP-8266EX. Niestety w Arduino nie istnieje obecnie prosty sposób na wykorzystanie całej pamięci flash 16MB i dostępne jest 4MB tak jak w poprzedniej wersji D1 mini. Większa pojemność flash to funkcjonalność "na przyszłość". Konwerter USB<->UART to SIL2104 (podczas testów na Win10 nie musiałem instalować dodatkowych sterowników). W zestawie znajduje się komplet złącz do samodzielnego wlutowania (listwy męskie, i dwa typy żeńskich o różnych długościach). Na płytce znajdziecie antenę ceramiczną (zamiast anteny w drukowanej) oraz złącze antenowe U.FL, do którego z wykorzystaniem przejściówki U.FL do SMA możemy podłączyć antenę zewnętrzną. Dostępne są anteny z przewodem zakończonym złączem U.FL, anteny mogą być zarówno w formie widocznej na zdjęciu jak również płaskie mikropaskowe.
Antena zewnętrzna może się przydać np. przy instalacji modułu w metalowej obudowie. Aby wykorzystać antenę zewnętrzną zamiast wbudowanej należy przelutować rezystor "0" w pozycję umożliwiającą połączenie złącza ze ścieżką prowadzącą do układu.
Porównałem skuteczność anteny ceramicznej D1 mini Pro z anteną PCB w modelu D1 mini, zasięg transmisji z wykorzystaniem anteny ceramicznej wydaje się nieco większy, jednak na poprawną pracę ma znacznie większy wpływ obecność w pobliżu metalowych elementów (płaska metalowa płytka potrafi całkowicie zablokować łączność).
Dajcie znać jak antena ceramiczna sprawdza się w praktyce w porównaniu z anteną PCB.
Spodnia strona płytki jest całkowicie płaska, nie zostały tam przylutowane żadne elementy.
Tak wygląda porównanie wielkości D1 mini Pro z dwoma poprzednimi modułami D1 mini i NodeMCU Amica.
SPIFFS - flash file system.
Do tej pory w ramach przykładów poruszaliśmy dość proste przykłady połączenia z internetem przez WiFi oraz odczytu danych z analogowych i cyfrowych czujników temperatury. Są to bardzo dobre przykłady na początek pracy z modułami opartymi o ESP8266. Wyjdźmy trochę poza schemat internetowego czujnika temperatury i poruszmy temat przechowywania danych w pamięci FLASH modułu.
Pamięć flash modułu D1 mini Pro może służyć do przechowywania danych zorganizowanych w systemie plików SPIFFS. Mogą to być np. pliki tworzone przez moduł podczas pracy (np. dane tymczasowe, lub log), a także pliki umieszczone w pamięci na potrzeby programu (np. zdjęcia, grafiki i inne dane potrzebne np. do generowania menu na ekranie wyświetlacza graficznego).
System plików SPIFFS nie będzie obsługiwał katalogów, wszystkie pliki będą znajdowały się w katalogu głównym "/". Długości nazw plików ograniczone są do 31 znaków. W środowisku Arduino możemy dodać narzędzie, które pozwoli przygotować obraz systemu plików i skopiuje wszystkie potrzebne pliki umieszczone w katalogu "data" w katalogu szkicu. Pobieramy narzędzie: https://github.com/esp8266/arduino-esp8266fs-...n/releases/download/0.3.0/ESP8266FS-0.3.0.zip i w katalogu Arduino (<home_dir>/Arduino/tools/) umieszczamy rozpakowany plik jar (<home_dir>/Arduino/tools/ESP8266FS/tool/esp8266fs.jar).
Po restarcie środowiska Arduino w narzędziach pojawi się dodatkowa opcja, której uruchomienie spowoduje nadpisanie zawartości SPIFFS zawartością katalogu data w katalogu szkicu.
Poniżej prymitywny kod programu, który testuje możliwości SPIFFS, po uruchomieniu programu z poziomu konsoli szeregowej będziemy mogli utworzyć, skasować plik, dopisać dane do pliku, wyświetlić zawartość pliku, wylistować zawartość SPIFFS, sformatować SPIFFS.
Prosty program testujący SPIFFS pozwala na wykonywanie następujących komend w monitorze portu szeregowego:
Oto przykładowy wynik wydawania komend manipulacji plikami w systemie plików:
Organizacja danych w systemie plików w niewielkiej pamięci flash wbudowanej w moduł D1 mini Pro może przydać się w bardziej zaawansowanych projektach, a także wyeliminuje konieczność stosowania dodatkowej pamięci EEPROM lub karty SD.
Jaki macie pomysł na wykorzystanie modułu WEMOS D1 mini Pro?
NodeMCU Amica oraz D1 mini. Poza sposobem konfiguracji środowiska w materiałach znajdziecie przykłady wykorzystania cyfrowego (DS18B20), oraz analogowego (TMP36) czujnika temperatury a także sterowania przekaźnikiem przez internet. W przykładach znajdziecie sposoby na połączenie modułu z Blynk i Thingspeak tworząc urządzenie IoT.
Do rozpoczęcia pracy z modułem wykorzystamy aktualną wersję środowiska Arduino 1.8.3 pobraną z www.arduino.cc
W skrócie dostosowanie środowiska Arduino do współpracy z D1 Mini Pro wygląda tak:
-Plik->Preferencje->Dodatkowe adresy URL do menadżera płytek - wklejamy: http://arduino.esp8266.com/stable/package_esp8266com_index.json
-Narzędzia->Płytka->Menadżer Płytek-> i wyszukujemy "wemos" a następnie instalujemy paczkę z ESP8266.
-Po podłączeniu modułu D1 do portu USB w systemie powinien pojawić się nowy port szeregowy.
-Narzędzia->Płytka->D1 mini, oraz Narzędzia->port i wybieramy port com konwertera USB<->UART.

Od tej pory możemy napisać swój kod, uruchomić przykładowe kody (Plik->Przykłady np. ESP8266WiFi->WiFiScan) lub przetestować kody programów przekształcające D1 mini w urządzenie IoT połączone z internetem z wykorzystaniem WiFi:
Sterowanie przekaźnikiem i odczyt temperatury z czujnika analogowego przez internet na PC i smartfonie.
Odczyt temperatury z jednego lub wielu czujników cyfrowych na smartfonie lub w przeglądarce na PC.
Płytka D1 mini Pro wyposażona jest w pamięć flash 16MB i w przeciwieństwie do poprzednio udostępnionych płytek nie zawiera wlutowanego modułu ESP8266 tylko na pojedynczym laminacie znajdziemy układ scalony ESP-8266EX. Niestety w Arduino nie istnieje obecnie prosty sposób na wykorzystanie całej pamięci flash 16MB i dostępne jest 4MB tak jak w poprzedniej wersji D1 mini. Większa pojemność flash to funkcjonalność "na przyszłość". Konwerter USB<->UART to SIL2104 (podczas testów na Win10 nie musiałem instalować dodatkowych sterowników). W zestawie znajduje się komplet złącz do samodzielnego wlutowania (listwy męskie, i dwa typy żeńskich o różnych długościach). Na płytce znajdziecie antenę ceramiczną (zamiast anteny w drukowanej) oraz złącze antenowe U.FL, do którego z wykorzystaniem przejściówki U.FL do SMA możemy podłączyć antenę zewnętrzną. Dostępne są anteny z przewodem zakończonym złączem U.FL, anteny mogą być zarówno w formie widocznej na zdjęciu jak również płaskie mikropaskowe.

Antena zewnętrzna może się przydać np. przy instalacji modułu w metalowej obudowie. Aby wykorzystać antenę zewnętrzną zamiast wbudowanej należy przelutować rezystor "0" w pozycję umożliwiającą połączenie złącza ze ścieżką prowadzącą do układu.

Porównałem skuteczność anteny ceramicznej D1 mini Pro z anteną PCB w modelu D1 mini, zasięg transmisji z wykorzystaniem anteny ceramicznej wydaje się nieco większy, jednak na poprawną pracę ma znacznie większy wpływ obecność w pobliżu metalowych elementów (płaska metalowa płytka potrafi całkowicie zablokować łączność).
Dajcie znać jak antena ceramiczna sprawdza się w praktyce w porównaniu z anteną PCB.
Spodnia strona płytki jest całkowicie płaska, nie zostały tam przylutowane żadne elementy.

Tak wygląda porównanie wielkości D1 mini Pro z dwoma poprzednimi modułami D1 mini i NodeMCU Amica.

SPIFFS - flash file system.
Do tej pory w ramach przykładów poruszaliśmy dość proste przykłady połączenia z internetem przez WiFi oraz odczytu danych z analogowych i cyfrowych czujników temperatury. Są to bardzo dobre przykłady na początek pracy z modułami opartymi o ESP8266. Wyjdźmy trochę poza schemat internetowego czujnika temperatury i poruszmy temat przechowywania danych w pamięci FLASH modułu.
Pamięć flash modułu D1 mini Pro może służyć do przechowywania danych zorganizowanych w systemie plików SPIFFS. Mogą to być np. pliki tworzone przez moduł podczas pracy (np. dane tymczasowe, lub log), a także pliki umieszczone w pamięci na potrzeby programu (np. zdjęcia, grafiki i inne dane potrzebne np. do generowania menu na ekranie wyświetlacza graficznego).

System plików SPIFFS nie będzie obsługiwał katalogów, wszystkie pliki będą znajdowały się w katalogu głównym "/". Długości nazw plików ograniczone są do 31 znaków. W środowisku Arduino możemy dodać narzędzie, które pozwoli przygotować obraz systemu plików i skopiuje wszystkie potrzebne pliki umieszczone w katalogu "data" w katalogu szkicu. Pobieramy narzędzie: https://github.com/esp8266/arduino-esp8266fs-...n/releases/download/0.3.0/ESP8266FS-0.3.0.zip i w katalogu Arduino (<home_dir>/Arduino/tools/) umieszczamy rozpakowany plik jar (<home_dir>/Arduino/tools/ESP8266FS/tool/esp8266fs.jar).
Po restarcie środowiska Arduino w narzędziach pojawi się dodatkowa opcja, której uruchomienie spowoduje nadpisanie zawartości SPIFFS zawartością katalogu data w katalogu szkicu.

Poniżej prymitywny kod programu, który testuje możliwości SPIFFS, po uruchomieniu programu z poziomu konsoli szeregowej będziemy mogli utworzyć, skasować plik, dopisać dane do pliku, wyświetlić zawartość pliku, wylistować zawartość SPIFFS, sformatować SPIFFS.
Code: c
Prosty program testujący SPIFFS pozwala na wykonywanie następujących komend w monitorze portu szeregowego:
Code: text
Oto przykładowy wynik wydawania komend manipulacji plikami w systemie plików:
Code: text
Organizacja danych w systemie plików w niewielkiej pamięci flash wbudowanej w moduł D1 mini Pro może przydać się w bardziej zaawansowanych projektach, a także wyeliminuje konieczność stosowania dodatkowej pamięci EEPROM lub karty SD.
Jaki macie pomysł na wykorzystanie modułu WEMOS D1 mini Pro?
Cool? Ranking DIY