logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zapisywać wiele wartości na ThingSpeak z Arduino Ethernet?

labo 10 Lis 2018 12:03 690 2
REKLAMA
  • #1 17549727
    labo
    Poziom 13  
    Posty: 300
    Pomógł: 2
    Ocena: 16
    Cześć,
    Walczę z zapisem do ThingSpeak. Niby nic prostszego, przerobić przykład i już.
    Poniżej kod który działa dla jednej wartości:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Problem zaczyna się, gdy w sekcji:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Wpiszę:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Aktualizowane jest tylko pierwsze pole. Nie można już w ten sposób wpisywać danych do pól?


    Wypróbowałem więc przykład z biblioteki ThingSpeak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Pierwsze pytanie: gdzie powinien pojawić się na stronie myStatus? Jako "Channel Stats"? Nie widzę, aby gdziekolwiek się pojawił.

    Druga sprawa, że po RS mam cały czas co 15s odpowiedź:
    "Channel update successful."
    Ale niestety na stronie www pojawią się np. 4 pomiary w obu polach (albo i nie pojawią wcale) i dalej już nic się nie pojawia.

    W jaki sposób poprawnie wysyłać daje więcej niż do jednego pola?
  • REKLAMA
  • #2 17549851
    kaczakat
    Poziom 34  
    Posty: 1748
    Pomógł: 317
    Ocena: 230
    Ja używam GET zamiast post, bo coś tam właśnie Ci brakuje do tego, jak coś to jeszcze sprawdzę wcześniejsze tworki. Aktualnie robię tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    W skrócie to robię jednego stringa, do którego wszystko wrzucam dane zmienione na stringi i drukuję to jednym poleceniem. Co prawda robię to na procku, gdzie RAM to nie problem, ale może u Ciebie zadziała. To oczywiście funkcja, do której podaję 5 różnych danych jako argumenty, ale ideę chyba widzisz.
    Pomogłem? Kup mi kawę.
  • #3 17549964
    labo
    Poziom 13  
    Posty: 300
    Pomógł: 2
    Ocena: 16
    Dzięki, sprawdzę u siebie.
    Jak na razie właśnie doszedłem, że w przykładnie pierwszym, gdzie nie używam biblioteki ThinGspeak, linijka wgrywająca powinna wyglądać:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Teraz ten działa dobrze.

    Pozostał drugi przykład z biblioteką ThingSpeak. Nie wiem jak z tym update statusu (gdzie powinien być) i czemu najczęściej wchodzi 11,12,13 i 14 wysyłka (dokładnie te cztery), a wcześniejszych i późniejszych na stronie już nie ma. Status od pierwszej wysyłki cały czas 200, czyli niby wysłało.
REKLAMA