Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.

TechEkspert 23 Aug 2017 19:58 18243 12
  • Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.
    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.
    Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.

    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.
    Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.

    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.
    Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.

    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.
    Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.

    Tak wygląda porównanie wielkości D1 mini Pro z dwoma poprzednimi modułami D1 mini i NodeMCU Amica.
    Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.

    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).
    Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.

    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.
    Moduł D1 mini Pro - ESP8266 WiFi - pierwsze uruchomienie, testy SPIFFS.
    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
    Log in, to see the code


    Prosty program testujący SPIFFS pozwala na wykonywanie następujących komend w monitorze portu szeregowego:
    Code: text
    Log in, to see the code


    Oto przykładowy wynik wydawania komend manipulacji plikami w systemie plików:
    Code: text
    Log in, to see the code


    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
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    TechEkspert
    Editor
    Offline 
    W moich materiałach znajdziecie testy i prezentacje sprzętu elektronicznego, modułów, sprzętu pomiarowego, eksperymenty. Interesuje mnie elektronika cyfrowa, cyfrowe przetwarzanie sygnałów, transmisje cyfrowe przewodowe i bezprzewodowe, kryptografia, IT a szczególnie LAN/WAN i systemy przechowywania i przetwarzania danych.
    Has specialization in: elektronika, mikrokontrolery, rozwiązania it
    TechEkspert wrote 4276 posts with rating 3542, helped 12 times. Been with us since 2014 year.
  • #2
    OlegTor
    Level 10  
    Ile pochłania energii elektrycznej ten moduł w różnych ustawieniach?
    Czy da się uśpić WiFi i jaka będzie wtedy konsumpcja?
  • #3
    TechEkspert
    Editor
    Pobór prądu jest zależny od realizowanego programu, podczas testów oscylował w okolicach 70mA przy zasilaniu 5V.
    ESP8266 można wprowadzić na określony czas z stan uśpienia, np. tak:
    ESP.deepSleep(300000000); //300s uśpienia i reset przez RTC
    Szczegóły jak to zrealizować tutaj: https://www.elektroda.pl/rtvforum/topic3338096.html (pin D0 połączony z z Reset).

    Tutaj informacje o poborze mocy:
    http://bbs.espressif.com/viewtopic.php?t=133
  • #7
    zster

    Level 28  
    Sprawdź w managerze płytek jaką masz zainstalowaną wersję dla ESP. Instalowałeś pakiet z arduino.esp8266.com?
  • #8
    tomjed
    Level 28  
    No instalowałem normalnie z managera płytek wpisując wemos pojawia się do wyboru tylko jedna opcja...
  • #9
    zster

    Level 28  
    Ok, spróbujmy znaleźć się " na tej samej stronie" : odinstaluj tą paczkę w managerze. Zrestartuj Arduino IDE. W menu PLIK wybierz PREFERENCJE. W oknie które się pojawi, bedziesz mieć pole : "Dodatkowe adresy URL dla managera płytek " . Wklej tam : http://arduino.esp8266.com/stable/package_esp8266com_index.json
    Teraz w managerze wyszukaj "esp8266 by Community " . Zainstaluj. PO intalacji znów restart IDE. Teraz próbuj kompilować jakiś przykład dla tej płytki.
  • #10
    tomjed
    Level 28  
    Wow, wow,wow... No wieeeelki szacun kolego !!! Za cierpliwość i chęć pomocy. Dziękuję. Pomogło. W życiu bym na to nie wpadł... Jeszcze raz wielkie dzięki !!!

    pzdr
  • #11
    zster

    Level 28  
    tomjed wrote:
    Wow, wow,wow... No wieeeelki szacun kolego !!! Za cierpliwość i chęć pomocy. Dziękuję. Pomogło. W życiu bym na to nie wpadł... Jeszcze raz wielkie dzięki !!!

    Cieszę się, że ruszyło :) Prawdopodobnie w pakiecie płytek od WEMOS jest błąd. Ale teraz masz najnowszą, dość fajnie zbudowaną paczkę i wszystko tam działa jak należy.
  • #13
    lukaszd82
    Level 30  
    Może nie dokłanie na D1 mini Pro ale i na ten moduł można zaadaptować moje rozwiązanie na wykorzystanie ESP8266.
    Brama Modbus RTU - My Devices Cayenne IoT