Перейти к содержанию

Интернет вещей с RemoteXY: элементы управления


Рекомендуемые сообщения

Очередная статья по сервису RemoteXY. В статье рассмотрены элементы управления кнопка, выключатель, переключатель и слайдер. Работа с каждым элементом рассмотрена на практическом примере простых для повторения новичками устройств.

Ссылка на статью: http://cxem.net/arduino/arduino216.php

Автор статьи: http://cxem.net/profile/9762/

Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

Просветите меня с полем ввода пожалуйста. Как в нем обновлять данные, если они изменились внутри программы? В блоке Setup начальное значение записывается в поле ввода и выводиться на экран вполне успешно. В примере, нажатие кнопки изменяет переменную "val" на еденичку. Как заставить новое значение отразиться в поле ввода? Плата NodeMcu V3.

//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

// определение режима соединения и подключение библиотеки RemoteXY 
#define REMOTEXY_MODE__ESP8266WIFI_LIB_CLOUD
#include <ESP8266WiFi.h>

#include <RemoteXY.h>

// настройки соединения 
#define REMOTEXY_WIFI_SSID "....."
#define REMOTEXY_WIFI_PASSWORD "....."
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "....."


// конфигурация интерфейса  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,3,0,0,0,22,0,8,13,1,
  7,21,17,24,30,15,2,26,2,1,
  0,26,51,12,12,2,31,88,0 };
  
// структура определяет все переменные вашего интерфейса управления 
struct {

    // input variable
  int16_t edit_1;  // −32767.. +32767 
  uint8_t button_1; // =1 если кнопка нажата, иначе =0 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

byte val=10;
bool fbt;

void setup() 
{
  RemoteXY_Init (); 
  RemoteXY.edit_1=val; // Это работает
  
  // TODO you setup code
Serial.begin(115200);  
}

void loop() 
{
  RemoteXY_Handler ();
if (RemoteXY.button_1 && !fbt) {
  fbt=1;
  val++;
  RemoteXY.edit_1=val; //А вот это не работает

}
if (!RemoteXY.button_1 && fbt) {
  fbt=0;
}
  
  if (val!= RemoteXY.edit_1){
  val = RemoteXY.edit_1;
  Serial.print ("val=");
  Serial.println (val);
  }

  
  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных


}

Спойлер не нашел.... Ткните носом.

Изменено пользователем Progic
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...