Arduino Polska Forum
Wysyłanie poleceń za pomocą terminalu Blynk - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: Wysyłanie poleceń za pomocą terminalu Blynk (/watek-wysy%C5%82anie-polece%C5%84-za-pomoc%C4%85-terminalu-blynk)



Wysyłanie poleceń za pomocą terminalu Blynk - Askabius - 19-03-2020

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ł?


RE: Wysyłanie poleceń za pomocą terminalu Blynk - Agregacik - 19-03-2020

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.


RE: Wysyłanie poleceń za pomocą terminalu Blynk - Robson Kerman - 19-03-2020

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.