Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ESP8266 NodeMCU v3 - cały czas BUSY

Adrian1978 16 Lip 2016 19:04 2499 18
  • #1 16 Lip 2016 19:04
    Adrian1978
    Poziom 9  

    Witajcie, czy spotkaliście się może z problemem z modułami ESP8266 i ich pamięcią flash ? Rozpoczynam poznawanie tych modułów (mam gotowca NodeMCU v2 z USB i dedykowanym zasilaczem 3v3 na pokładzie, wgrywam firmware obsługujący skrypty lua i korzystam z możliwości kontrolera modułu, bo to wystarczy do wielu rzeczy, bez arduino) ale z pamięciami jest dziwnie, tzn jedna pamięć FLASH modułu "uwaliła się" po kilkuset cyklach wgrywania softu (pisałem różne skrypty i ogólnie mówiąc "bawiłem się" tym pudełeczkiem) - w pewnym momencie podczas któregoś tam flashowania moduł zgłupiał kompletnie, walił błędami, krzaki w monitorze ESPlorera, resetować się zaczął i przeszło mu dopiero po wlutowaniu innego flasha z drugiego modułu...

    Kolejny problem wyskoczył taki, że program działa ale nie mogę już nic wgrać nowego / innego - ESPlorer twierdzi przy próbie wpisania nowego skryptu że moduł jest zajęty (BUSY) no i ani reset ani format nie pomaga, wgrywanie nowego firmware`u da się zrobić i obudzić go w trybie komend AT ale przy próbie wgrania ponownego LUA ten sam problem się robi - tak że coś dziwnego dzieje się z tymi modułami. Miał ktoś podobny efekt ?

  • #2 17 Lip 2016 12:39
    piotr411
    Poziom 22  

    Niestety pamięci lecą. Wymiana jest nie opłacalna. Mam już dwa takie moduł, a w obiegu mam ich grubo ponad 1000, w uszkodzonych modułach zamiast kosci pamięci zastosowałem karty SD. Służą jako serwery z dużą bazą informacji.

  • #3 17 Lip 2016 12:56
    Adrian1978
    Poziom 9  

    znalazłem kostki pamięci u hurtownika , cena dość znośna , nie chcesz czasem sprzedać swoich uwalonych modułów w cenie złomu ?

  • #6 17 Lip 2016 13:24
    piotr411
    Poziom 22  

    Dokładnie tak samo jak z pamięcią Flash. Działa odczyt i zapis nieco wolniej. Ponieważ mam maleńkie pliki od kilku bajtów do max 3kb, to nie ma absolutnie żadnego wpływu na odczuwalnie wolniejszą pracę ESP. Karta widziana jest jak standardowy Flash.

  • #7 17 Lip 2016 13:55
    Adrian1978
    Poziom 9  

    i chce Ci się lutować port SD do modułu ? bo chyba linie do pracy z szeregowym flashem są dedykowane i nie są wyprowadzone na zewnątrz ?

  • #9 18 Lip 2016 12:36
    excray
    Poziom 38  

    @piotr411 Widzę, że wrzucasz różne tutoriale do ESP. Może zrobił byś taki szybki tutorial dla początkujących - jak zacząć?

  • #10 18 Lip 2016 13:02
    piotr411
    Poziom 22  

    Wzasadzie taki był/jest zamysł, od początku z uwzględnieniem środowiska NodeMCU LUA, udostępnić proste przykłady dla popularnych układów. Ma to stanowić część większego projektu,który jeśli starczy czasu i zapału, ujrzy światło dzienne. To też jest przyczyną, blokowania tematów, tak by z czasem dopisać pod konkretne moduły ciekawe zrealizowane projekty lub ich części, a także wskazać pewne niuanse ESP LUA. Większość aplikacji staram się pisać tak by działały na każdym firmware, czyli bez korzystania z modułów specjalnych, a i po to by z czasem łatwo dało się portować do ESP BASIC, który na swój sposób jest wyjątkowy. Poświęciłem godziny na szukanie w necie prostych przykładów, niestety zwykle autorzy porzucają tematy i brak było konkretnych rozwiązań, lub przykłady były silnie przerośniete i "wydlubanie" z nich części kodu było trudne, dlatego od podstaw, stworzyłem własną podstawową bazę przykładów, które jako funkcje dają się wykorzystać do większych projektów.

  • #11 23 Lip 2016 09:46
    Adrian1978
    Poziom 9  

    Witajcie , sprawa z BUSY się wyjaśniła - faktycznie miałem całe zasoby zużyte i kontroler modułu wystawiał zajętość. Po poprawce skryptu śmiga.

    Natomiast temat kolejny z gatunku kuriozalnych - a mianowicie PWM-y poustawiane na konkretnych liniach GPIO generują się ... lecz nie na tych pinach które są zadeklarowane (sic!) - używam teraz modułów ESP8266-12E , tych które mają blachę na sobie i pola lutownicze nawet na krawędzi przeciwległej do anteny i są jakieś hece... pościągałem krążące informacje o tych modułach i ich pinoucie w necie , najbardziej realny to ten który dopinam do tej wiadomości, wszystko fajnie ale ...

    Mój kod który generuje 3 PWM ale częściowo na nogach które , jeżeli wierzyć obrazkowi z pinoutem nie powinny działać jako PWM :

    pwm.setup(4, 1000, 005) --inicjalizacja wyjscia PWM na nodze GPIO04
    pwm.setup(5, 1000, 005) --inicjalizacja wyjscia PWM na nodze GPIO05
    pwm.setup(12, 1000, 005) --inicjalizacja wyjscia PWM na nodze GPIO12

    a PWM generują mi się , i owszem... ale na nogach modułu oznaczanych jako GPIO02, 10, 14 - kompletna zagadka.

    Niektórzy dostawcy podają że ten moduł posiada możliwość generowania przebiegów PWM na wszystkich dostępnych GPIO , ale u mnie to nie działa , natomiast próba uruchomienia PWM na jakimkolwiek GPIO powyżej numeru 12 wali błędem podczas wgrywania skryptu do modułu w środowisku ESPlorer, tak jakby wgrany firmware nie posiadał w ogóle tych deklaracji GPIO że je moduł ma.

    Sądziłem że może firmware źle wygenerowałem ale na stronie na której się to robi (http://nodemcu-build.com/) nie ma możliwości wyboru modelu modułu, czyli jakby powinno działać i na modułach ESP8266-01 jak i i ESP8266-12 i każdym z tym chipem.

    Możecie wyjaśnić ten fenomen z GPIO ?

    ESP8266 NodeMCU v3 - cały czas BUSY

  • #12 23 Lip 2016 10:33
    piotr411
    Poziom 22  

    Lua ma pinologię nie taką jak ESP8266 12, a NodeMCU V3. Wzasadzie jest to logiczne skoro wygrałeś firmware NodeMCU, to należy korzystać z takiej dokumentacji.

    Zerknij na opis pinów od D0 do D10 i wszytko bedzie jasne. Jest to dokładnie ten sam problem jaki można spotkać z Arduino ;)

    Link

  • #13 23 Lip 2016 14:32
    Adrian1978
    Poziom 9  

    Dziękuję Piotr , zaraz sprawdzę :)

  • #14 24 Lip 2016 15:35
    piotr411
    Poziom 22  

    PWM, jak i gpio.serout() można definiować na portach D0 do D10 - jaki GPIO przypisany jest do odpowiedniego D znajdziesz w linku powyżej. Można także na dowolnym porcie zdefiniować programowy UART, etc.... LUA jest tu bardzo elastyczna.

  • #15 24 Lip 2016 17:20
    Adrian1978
    Poziom 9  

    Piotrze , działało u Ciebie DHT-11? korzystające z firmware lua ? Skompilowałem firmware z obsługą DHT i obsługą liczb zmienno-przecinkowych, napisałem skrypt wedle tego co sami twórcy tych składników sugerują i niestety nie chce to gadać póki co - cały czas mam przekroczony czas odpowiedzi z czujnika. Podłączenie OK, od strony fizycznej wszystko OK, czujnik nówka, oscylogram pokazuje że ESP chce odpytywać czujnik DHT i sam czujnik coś nadaje (testowałem teraz i przy braku DHT jest niski, szpila wysoka i znowu nisko a jak jest podłączony DHT to po wywołaniu niskim lecą dane z DHT więc on wysyła dane)- ale niestety cały czas funkcja odpytywania DHT zwraca "przekroczenie czasu czujnika" jakby ten fragment wgranego firmware`u nie działał.

    Poniżej fragment mojego skryptu :

    Kod: lua
    Zaloguj się, aby zobaczyć kod


    Niestety cały czas mam timeout.

  • #17 24 Lip 2016 23:09
    Adrian1978
    Poziom 9  

    tak, DHT jest podłączony do GPIO14 czyli do nogi opisanej na module nodeMCU (Amica) jako D5. W sumie oscylogram to potwierdza - w chwili kiedy próbuję odpytać DHT to na spodziewanej nodze wskakuje niski , potem puszcza na moment wysoki i znowu niski. Jeśli się dobrze przyjrzeć to pojawiają się tam dane z czujnika DHT w miejscu tej szpilki. No ale firmware , mimo że ma zawierać obsługę DHT nie widzi tego czujnika :(

    Dodano po 53 [sekundy]:

    spróbuję za moment przepiąć , z czystej ciekawości na D2 czyli GPIO04.

    Dodano po 8 [minuty]:

    niestety , nic. kiedy zakomentuję mu warunek sprawdzania statusu i każę mu przez UART wysłac mimo wszystko dane z czujnika jakie odczytał to mam temperaturę -999 i wilgotność również -999 , czyli chyba z tego co kojarzę wartości podstawiane w bibliotece jako startowe

  • #19 25 Lip 2016 10:15
    Adrian1978
    Poziom 9  

    Na to wygląda. Z ciekawości przekleiłem skrypt opisany na stronie Link i czujnik jest odczytywany ale dane są kompletnie niewiarygodne, raz pokazuje temperaturę 3 stopnie, za sekundę 52 stopnie, podobnie z wilgotnością. Autor ten kod stosuje do DHT11, ale to jest skrypt de facto do DHT22 , coś mi się obiło o uszy że jednak obsługa DHT11 wygląda inaczej, może dlatego nie chce to poprawnie odczytywać zmierzonych wartości.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME