Arduino Polska Forum

Pełna wersja: Wysyłanie poleceń za pomocą terminalu Blynk
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,

używam ESP32 DevKit V1, lecz w tym przypadku to jest nieistotne. Chciałbym uwzględnić w swoim projekcie możliwość komunikacji użytkownika z programem za pomocą terminala Blynk. Dokładniej rzecz ujmując chodzi mi o sytuację, w której użytkownik może poprzez terminal zmienić wartość jakieś zmiennej w programie. Od razu powiem, że użycie przycisków lub innych pól tekstowych nie wchodzi w grę ponieważ po pierwsze tych zmiennych jest kilkanaście, po drugie są one na tyle kluczowe w działaniu programu, że pozostali użytkownicy nie powinni mieć możliwości wprowadzenia zmian.

Myślę tu o czymś takim, że wysyłam za pomocą terminala np. zmien.nazwa_zmiennej.34 gdzie słowo "zmień" jest w tym przypadku zbędne, ale przynajmniej wiadomo o co chodzi, "nazwa_zmiennej" - wiadomo, a 34 to nowa wartość tej zmiennej.

Funkcja odpowiadająca za odbiór wiadomości po stronie programu przyjmuje tylko wartości będące stringiem, więc pewnie jedynym sposobem będzie rozbicie tego stringa na odpowiednie części i wyciągnięcie właściwych danych. I właśnie tutaj jestem w martwym punkcie, ponieważ nie mam zielonego pojęcia jak się za to zabrać, a poradniki, na które trafiłem niewiele pomogły.

Dodam jeszcze, że nie jest konieczne, żeby "nazwa_zmiennej" reprezentowała rzeczywiście zmienną o takiej nazwie. Może to być umownie np. A lub B lub nawet "kot", to już sobie ogarnę. Bardziej chodzi mi o to jak odizolować wartość "34" oraz chociaż ten ID, który powie mi o jaka zmienną chodzi.

Ma ktoś z Państwa jakiś pomysł?
Nie znam się na Blynk-u ale to co mi przychodzi do głowy to struktura. Mam w niej kilkanaście zmiennych różnego typu i jeżeli zmienię chociaż jedną, zamieniam całość na string i wysyłam. Odbiornik stringa zamienia na strukturę i git.
Robię tak przy przesyłaniu danych pomiędzy dwoma "arduino" po UART.
Jeżeli są to zmienne tego samego typu może zrobić to przy pomocy tablicy.
No ale są to pomysły początkującego, może doświadczeni podpowiedzą coś z czym mieli do czynienia.
Tu masz wszystko czego potrzebujesz. http://www.cplusplus.com/reference/string/string/

Tak na marginesie, to jest podstawa podstaw. Dla czego pytasz o string? O typach zmiennych powinieneś poczytać zanim zadasz pytanie na forum.