Diagnostyka

Gdy tworzymy nowy moduł, lub naprawiamy już (nie) działający - bardzo przydatna jest diagnostyka "co tam się dzieje w module, w środku".

Najprostszą diagnostyką jest status modułu na jego stronie WWW dostępnej pod adresem urządzenia (np http://192.168.yy.xx/ - jeśli moduł jest w normalnym stanie, lub pod http://192.168.4.1 - gdy uda się nam wprowadzić w stan łączenia-parowania)
suplastatus
Widzimy tutaj dwie pozycje istotne:
LAST STATE: w tym przypadku "zarejestrowany i gotowy" - czyli wszystko ok, ale mogłoby tam być info o braku możliwości rejestracji w Supla-Cloud (np na skutek braku włączenia rejestracji nowych urządzeń, albo podania złego adresu serwera cloud lub mail, w ustawieniach urządzenia)
Mode: - tutaj normal to dobrze ;)

Dużo potężniejszą diagnostykę daje podłączenie się po UART do modułu ESP
(O ile nie "zepsuliśmy tego" wybierając piny odpowiedzialne za RX i TX do jakiejś funkcjonalności w naszym urządzeniu). Należy podłączyć się przejściówką USB-UART do naszego modułu, włączyć jakiś program terminala (ja używam np starego ale sprawdzonego Terminal v1.93b) i połączyć się na wybrany port COM z prędkością 115200 baud

  1. moduły ESP (niezależnie od wgranego oprogramowania!!) podczas startu raportują wszystko na port UART0 - można tam zobaczyć boot systemu, coś w stylu:

2nd boot version : 1.7(5d6f877)
SPI Speed : 80MHz
SPI Mode : DOUT
SPI Flash Size & Map: 4Mbit(256KB+256KB)
jump to run user1 @ 1000

rf_cal[0] !=0x05,is 0xFF

ets Jan 8 2013,rst cause:1, boot mode:(3,5)

load 0x40100000, len 2592, room 16
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4
tail 0
chksum 0x22
csum 0x22

Z czego dla nas najcenniejsze info to
SPI Flash Size & Map: 4Mbit (wielkość pamięci flash modułu, dla wielu modułów będzie to tylko 1MB, ale w niczym to nie przeszkadza)
chksum i csum - dwie sumy kontrolne, które powinny być równe. Jeśli nie są - oznacza to że albo mamy źle wgrany wsad pamięci (programować jeszcze raz), albo uszkodzoną pamięć flash (w przypadku modułów ESP8266 - zewnętrzny 8nóżkowy czip, który można wymienić, w przypadku modułu opartego o ESP8285 - wewnętrzna pamięć, moduł do kosza).
oraz:
ets Jan 8 2013,rst cause:1, boot mode:(3,5) - data jest tu zawsze nieprawidłowa, ale wartość boot mode wskazuje bardzo dobrze, w jakiej konfiguracji ESP startuje.

  • Normalny start (urządzenia gotowego do działania) to Boot Mode: (3,x). Wartość X może być różna, w zależności od stanu nóżek układu - MTDO, GPIO0, GPIO2
  • Start modułu ESP z zwartym GPIO0 do masy (w celu wejścia w tryb programowania przez UART) powinien dać nam Boot Mode: (1, x) - jeśli jest inaczej, to znaczy że coś robimy źle - np wcale nie GPIO0 zwieramy do masy, albo nie do masy...
  1. Moduł zaprogramowany GUI-Generic (o ile nie ma ustawionych pinów RX (GPIO3) i TX (GPIO1) portu UART0 do jakichś funkcji sterujących - czyli przypisanego przycisku, przekaźnika czy jakiegoś sensora) również wypuszcza na UART0 pełny log podczas swojego działania. W tym np odczytane parametry z sensorów (przy każdym pomiarze! a nie tylko co 10 minut, jak aktualizacja danych w SuplaCloud), wejść, ustawienia wyjść i ich zmiany.

    Config read
    Key: 0 Value: —x)eKŃĐ뮤Ϡ”1í
    Key: 1 Value: •ÇâŞ8ţn.k¶BőŐ­
    Key: 2 Value:
    Key: 3 Value:
    Key: 4 Value: admin
    Key: 5 Value: pass
    Key: 6 Value: GUI Generic
    Key: 7 Value: svrX.supla.org
    Key: 8 Value: email@address.com
    Key: 9 Value: 1
    Key: 10 Value: 1
    Key: 11 Value:
    Key: 12 Value:
    Key: 13 Value:
    Key: 14 Value:
    Key: 15 Value:
    Key: 16 Value:
    Key: 17 Value:
    Key: 18 Value:
    Key: 19 Value:
    Key: 20 Value:
    Key: 21 Value:
    Key: 22 Value:
    Key: 23 Value:
    Key: 24 Value: ,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    Key: 25 Value:
    Key: 26 Value:
    Key: 27 Value:
    Key: 28 Value:
    Key: 29 Value:
    Key: 30 Value:
    Key: 31 Value:
    Key: 32 Value:
    Key: 33 Value:
    Key: 34 Value:
    Key: 35 Value:
    Key: 36 Value:
    Key: 37 Value:
    Key: 38 Value:
    Key: 39 Value:
    Key: 40 Value:
    Key: 41 Value:
    Key: 42 Value:
    Key: 43 Value:
    Key: 44 Value:
    Key: 45 Value:
    Key: 46 Value:
    Key: 47 Value:
    Key: 48 Value:
    Key: 49 Value:
    Key: 50 Value:
    Key: 51 Value:
    Key: 52 Value:
    Key: 53 Value:
    Key: 54 Value:
    Key: 55 Value:
    Key: 56 Value:
    Key: 57 Value:
    Key: 58 Value: 1
    Key: 59 Value: 0
    Key: 60 Value:
    Key: 61 Value:
    Key: 62 Value:
    Key: 63 Value:
    Key: 64 Value:
    Key: 65 Value:
    Key: 66 Value:
    Key: 67 Value:
    Key: 68 Value:
    Key: 69 Value:
    Key: 70 Value:
    Key: 71 Value:
    Key: 72 Value:
    Key: 73 Value:
    Key: 74 Value:
    Key: 75 Value: 0.45
    Key: 76 Value:
    Key: 77 Value:
    Key: 78 Value:
    Key: 79 Value:
    Key: 80 Value: 0
    Key: 81 Value:
    Key: 82 Value:
    Key: 83 Value:
    Save key: 0 Value: —x)eKŃĐ뮤Ϡ”1í
    Save key: 1 Value: •ÇâŞ8ţn.k¶BőŐ­
    Save key: 4 Value: admin
    Save key: 5 Value: pass
    Save key: 6 Value: GUI Generic
    Save key: 7 Value: svrX.supla.org
    Save key: 8 Value: email@address.com
    Save key: 9 Value: 1
    Save key: 10 Value: 1
    Save key: 24 Value: ,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,
    Save key: 58 Value: 1
    Save key: 59 Value: 0
    Save key: 75 Value: 0.45
    Save key: 80 Value: 0
    Config Mode started: 3
    WiFi: establishing connection with SSID: ""
    Supla - starting initialization
    Storage initialization
    readStorage: 8; Read: [53 55 50 4C 41 1 0 0 ]
    Storage: Number of sections 0
    Validating storage state section with current device configuration
    Storage state section validation completed. Loading elements state...
    Initializing network layer
    WiFi: establishing connection with SSID: ""
    Using Supla protocol version 16
    Current status: [5] SuplaDevice initialized
    WiFi: establishing connection with SSID: ""
    Config Mode started: 3
    AP started IP: 192.168.4.1
    Current status: [8] No connection to network
    Connection fail counter overflow. Trying to setup network interface again
    Connection fail counter overflow. Trying to setup network interface again

terminal1