Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bascom Atmega1284p - ESP8266 zmiana wartosci zmiennej ( nieporządana )

maximus22_kr 01 Sty 2018 16:30 195 0
  • #1 01 Sty 2018 16:30
    maximus22_kr
    Poziom 18  

    Witam w Nowym Roku
    Postaram się jak najlepiej opisać problem, jak że kod duży - musiałem go dać w załączniku.
    Całość opiera się na Case i odpytywaniu po kolei każdego czujnika, na koniec zapis i wysłanie do klientów przez RFM12. Część czujników jest już zamontowana w "terenie", więc na czas testu ich odpytywanie jest wyłączone, a żeby to ładnie wyglądało to ich wartości wpisałem na stałe.

    Chciałem jeszcze dodać pobieranie czasu NTP z serwera Domoticz ( przy okazji czasu wschodu i zachodu słońca ). Dzięki pomocy między innymi Kolegi Niveasoft na płytce testowej działało to ładnie. Po dodaniu do głównego projektu nie jest już tak kolorowo.
    Domoticz odpytuję jednorazowo po starcie i kilka minut po północy.
    Jeśli uda się pobrać czas ( co też nie zawsze się udaje ) to zaczynają się kłopoty ze zmiennymi zapisywanymi na SD i wysyłanymi przez RFM12.
    Poniżej przykład z logów na karcie SD:

    Gdy nie pobrał czasu z Domoticz ( czujnik Zew i Kotl są podpięte fizycznie )
    "060 14:08:25 31/12/2017 Zew: (+)8.0 Piec: 21.7 Kociol: 12.2 C.W.U.: 18.5"
    "061 14:21:15 31/12/2017 Zew: (-)7.6 Piec: 21.7 Kociol: 12.2 C.W.U.: 18.5"
    "062 14:42:35 31/12/2017 Zew: (+)7.3 Piec: 21.7 Kociol: 12.2 C.W.U.: 18.5"
    "063 15:00:43 31/12/2017 Zew: (+)7.3 Piec: 21.7 Kociol: 12.2 C.W.U.: 18.5"
    "064 15:13:33 31/12/2017 Zew: (=)7.3 Piec: 21.7 Kociol: 12.2 C.W.U.: 18.5"

    "055 13:02:55 31/12/2017 Zew: (+)9.1 Kotl: (+)21.7 DS Temp 8: 22.2 DHT Temp: 22,3 DHT Hum: 56,0"
    "056 13:15:45 31/12/2017 Zew: (-)8.6 Kotl: (-)21.6 DS Temp 8: 22.2 DHT Temp: 22,3 DHT Hum: 66,0"
    "057 13:28:35 31/12/2017 Zew: (-)7.8 Kotl: (+)22.0 DS Temp 8: 22.2 DHT Temp: 22,6 DHT Hum: 57,0"
    "058 13:41:25 31/12/2017 Zew: (=)7.8 Kotl: (=)22.0 DS Temp 8: 22.2 DHT Temp: 22,7 DHT Hum: 54,0"
    "059 13:54:15 31/12/2017 Zew: (=)7.8 Kotl: (=)22.0 DS Temp 8: 22.2 DHT Temp: 22,7 DHT Hum: 53,0"
    "060 14:08:24 31/12/2017 Zew: (+)8.0 Kotl: (+)21.8 DS Temp 8: 22.2 DHT Temp: 22,5 DHT Hum: 54,0"
    "061 14:21:14 31/12/2017 Zew: (-)7.6 Kotl: (+)21.9 DS Temp 8: 22.2 DHT Temp: 22,5 DHT Hum: 55,0"
    "062 14:42:35 31/12/2017 Zew: (+)7.3 Kotl: (+)21.6 DS Temp 8: 22.2 DHT Temp: 22,2 DHT Hum: 56,0"


    Gdy pobrał czas z Domoticz
    "065 15:59:33 31/12/2017 Zew: (+)22.2 Piec: 21.7 Kociol: (=)ß8˜0›ţĎĹ C.W.U.: 18.5"
    "066 16:12:23 31/12/2017 Zew: (-)22.1 Piec: 21.7 Kociol: (=)ß8˜0›ţĎĹ C.W.U.: 18.5"
    "067 17:24:56 31/12/2017 Zew: (+)22.1 Piec: (=)”3ŕ8š9 Kociol: (-)8š7•ô9˜- C.W.U.: (=)”1™h”břŃ"
    "068 17:37:47 31/12/2017 Zew: (-)21.8 Piec: (=)”3ŕ8š9 Kociol: (-)8š7•ô9˜- C.W.U.: (=)”1™h”břŃ"
    "069 17:50:38 31/12/2017 Zew: (=)21.8 Piec: (=)”3ŕ8š9 Kociol: (-)8š7•ô9˜- C.W.U.: (=)”1™h”břŃ"
    "070 18:03:28 31/12/2017 Zew: (=)21.8 Piec: (=)”3ŕ8š9 Kociol: (-)8š7•ô9˜- C.W.U.: (=)”1™h”břŃ"

    "067 17:24:56 31/12/2017 Zew: (+)22.1 Kotl: (-)µß•
    ף< DS Temp 8: (-)ţĎĹ߈”1™- DHT Temp: 23,3 DHT Hum: 1,0"
    "068 17:37:46 31/12/2017 Zew: (-)21.8 Kotl: (-)µß•
    ף< DS Temp 8: (-)ţĎĹ߈”1™- DHT Temp: 22,7 DHT Hum: 1,0"
    "069 17:50:37 31/12/2017 Zew: (=)21.8 Kotl: (-)µß•
    ף< DS Temp 8: (-)ţĎĹ߈”1™- DHT Temp: 22,6 DHT Hum: 1,0"
    "070 18:03:28 31/12/2017 Zew: (=)21.8 Kotl: (-)µß•

    co ciekawe nie ma problemu z danymi z wyników pomiarów czujników, które są fizycznie podpięte do Atmegi. Mam dwie zmienne typu string - jedna tylko dla zapisu na SD, a druga do pozostałych funkcji. Starałem się tak to rozłożyć w Case'ach, żeby każdy czujnik miał "swój czas" i nic nie "nachodziło" na siebie.

    Ale gdy tylko dojdzie do odbioru

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    A tak odbieram NTP
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Więc po starcie ESP8266 loguje się do sieci i do momentu, gdy nie pobierze danych ( tzn. uda mu się poprawnie pobrać ) z Domoticz to wszystko jest OK.

    Zastanawiam się, czy rozmiary stosów i ramek są dobre
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    Co mogło by być przyczyną ?

    0 0
  • CControls