• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wysyłanie poleceń za pomocą terminalu Blynk
#1
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ł?
 
Odpowiedź
#2
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.
 
Odpowiedź
#3
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.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości