• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопросы RemoteXY - ESP8266

Евгений Шемануев

Moderator
Команда форума
///
Очень тяжело подключается устройству, и после подключения долго идет обновление данных, модуль отправляет данные раз в 1,5-3 сек, если убрать код считывания температуры с ds18b20, то все нормально работает.
Возможно идет конфликт библиотек OneWire и SoftwareSerial.
Попробуйте посадить RemoteXY на аппаратный Serial.
 

krepton85

Member
почему не включается красный света-диод led_3 на странице RF sett? Он должен включатся при нажатии на любую кнопку prog и гаснуть если нажать кнопку отмена на этой странице. Пробовал по разному, в коде видны закомментированные строки. (Полный код скинуть не могу, форум не позволяет более 10 000 символов в сообщении)

Код:
#
/////// режим программирования клавишь радиопультов
if(RemoteXY.button_5 == 1){
  code_1 = 1; // запись кода1 вкл
  //RemoteXY.led_3_r = 255;
}
if(RemoteXY.button_6 == 1){
  code_2 = 1;
  //RemoteXY.led_3_r = 255;
}
if(RemoteXY.button_7 == 1){
  code_3 = 1;
// RemoteXY.led_3_r = 255;
}
if(RemoteXY.button_8 == 1){
  code_4 = 1;
  //RemoteXY.led_3_r = 255;
}
if(RemoteXY.button_9 == 1){
  code_5 = 1;
  //RemoteXY.led_3_r = 255;
}
if(RemoteXY.button_10 == 1){
  code_6 = 1;
// RemoteXY.led_3_r = 255;
}

if(RemoteXY.button_11 == 1){ // отмена программирования
  code_1 = 0;
  code_2 = 0;
  code_3 = 0;
  code_4 = 0;
  code_5 = 0;
  code_6 = 0;
  }
if(code_1 == 1 || code_2 == 1 || code_3 == 1 || code_4 == 1 || code_5 == 1 || code_6 == 1)RemoteXY.led_3_r = 255;
if(code_1 == 0 && code_2 == 0 && code_3 == 0 && code_4 == 0 && code_5 == 0 && code_6 == 0)RemoteXY.led_3_r = 0;
/*if(code_1 ==1 && Stat_receiv == 1 && receivedCode > 0) {  // если включен режим записи  кнопки "А" первого пульта и разрешен прием кода с пульта
        
          RF_code_1 = receivedCode;
          EEPROM.write(5, RF_code_1 & 0xFF);
          EEPROM.write(6, (RF_code_1 & 0xFF00) >> 8);
          EEPROM.write(7, (RF_code_1 & 0xFF0000) >> 16);
          EEPROM.write(8, (RF_code_1 & 0xFF000000) >> 24);
          EEPROM.write(9, (RF_code_1 & 0xFF000000) >> 32);
         code_1 = 0; // выход из режима програмирования
}

if(code_2 ==1 && Stat_receiv == 1 && receivedCode > 0) {  // если включен режим записи  кнопки "В" первого пульта и разрешен прием кода с пульта
        
          RF_code_2 = receivedCode;
          EEPROM.write(10, RF_code_2 & 0xFF);
          EEPROM.write(11, (RF_code_2 & 0xFF00) >> 8);
          EEPROM.write(12, (RF_code_2 & 0xFF0000) >> 16);
          EEPROM.write(13, (RF_code_2 & 0xFF000000) >> 24);
          EEPROM.write(14, (RF_code_2 & 0xFF000000) >> 32);
         code_2 = 0; // выход из режима програмирования
}

if(code_3 ==1 && Stat_receiv == 1 && receivedCode > 0) {  // если включен режим записи  кнопки "А" второго пульта и разрешен прием кода с пульта
        
          RF_code_3 = receivedCode;
          EEPROM.write(15, RF_code_3 & 0xFF);
          EEPROM.write(16, (RF_code_3 & 0xFF00) >> 8);
          EEPROM.write(17, (RF_code_3 & 0xFF0000) >> 16);
          EEPROM.write(18, (RF_code_3 & 0xFF000000) >> 24);
          EEPROM.write(19, (RF_code_3 & 0xFF000000) >> 32);
         code_3 = 0; // выход из режима програмирования
}

if(code_4 ==1 && Stat_receiv == 1 && receivedCode > 0) {  // если включен режим записи  кнопки "В" второго пульта и разрешен прием кода с пульта
        
          RF_code_4 = receivedCode;
          EEPROM.write(20, RF_code_4 & 0xFF);
          EEPROM.write(21, (RF_code_4 & 0xFF00) >> 8);
          EEPROM.write(22, (RF_code_4 & 0xFF0000) >> 16);
          EEPROM.write(23, (RF_code_4 & 0xFF000000) >> 24);
          EEPROM.write(24, (RF_code_4 & 0xFF000000) >> 32);
         code_4 = 0; // выход из режима програмирования
}

if(code_5 ==1 && Stat_receiv == 1 && receivedCode > 0) {  // если включен режим записи  кнопки "А" 3-его пульта и разрешен прием кода с пульта
        
          RF_code_5 = receivedCode;
          EEPROM.write(25, RF_code_5 & 0xFF);
          EEPROM.write(26, (RF_code_5 & 0xFF00) >> 8);
          EEPROM.write(27, (RF_code_5 & 0xFF0000) >> 16);
          EEPROM.write(28, (RF_code_5 & 0xFF000000) >> 24);
          EEPROM.write(29, (RF_code_5 & 0xFF000000) >> 32);
         code_5 = 0; // выход из режима програмирования
}

if(code_6 ==1 && Stat_receiv == 1 && receivedCode > 0) {  // если включен режим записи  кнопки "В" 3-его пульта и разрешен прием кода с пульта
        
          RF_code_6 = receivedCode;
          EEPROM.write(30, RF_code_6 & 0xFF);
          EEPROM.write(31, (RF_code_6 & 0xFF00) >> 8);
          EEPROM.write(32, (RF_code_6 & 0xFF0000) >> 16);
          EEPROM.write(33, (RF_code_6 & 0xFF000000) >> 24);
          EEPROM.write(34, (RF_code_6 & 0xFF000000) >> 32);
         code_6 = 0; // выход из режима програмирования
}
*/


}

void showCode(unsigned long receivedCode, unsigned int period){


 
if((receivedCode == RF_code_1 || RF_code_3 || RF_code_5) && Stat_receiv == 1 && RemoteXY.led_3_r == 0) { //КНОПКА А
  eventTime=millis(); // обнуляем интервал т.к. за предыдущий раз он уже превышен
  //receivedCode = 0;
  Stat_receiv = 0; // автоблокировка от случайного павтора кода
  count_showCode_1 = count_showCode_1 + 1;

}
if((receivedCode == RF_code_2 || RF_code_4 || RF_code_6) && Stat_receiv == 1 && RemoteXY.led_3_r == 0 ){// КНОПКА B
  eventTime=millis(); // обнуляем интервал т.к. за предыдущий раз он уже превышен
  //receivedCode = 0;
  Stat_receiv = 0;// автоблокировка от случайного павтора кода
  count_showCode_2 = count_showCode_2 + 1;

}

// receivedCode = 0;


}
2016-07-24_22-24-36.png
 

Руслан15

New member
Товарищи, скажите пожалуйста как настроить соединение через интернет если у меня серый IP.
Насколько я понимаю надо пробросить порты но чо как не ясно.
Какой IP надо указывать в настройках андроид приожения?
 

krepton85

Member
Товарищи, скажите пожалуйста как настроить соединение через интернет если у меня серый IP.
Насколько я понимаю надо пробросить порты но чо как не ясно.
Какой IP надо указывать в настройках андроид приожения?
Если у вас серый ip то праброса портов мало. Нужен или статический ip купить у интернет провайдера или использовать гостевой доступ в локальную сеть провайдера и так и так нужен праброс портов.
 

Руслан15

New member
Можно подробнее про гостевой доступ?
И еще может есть возможность использовать какие-то внешние сервисы, есть же бесплатные серверы, esp будет стучаться на сервер, андроид туда-же, там и словятся) Если возможно как это сделать?
 

krepton85

Member
Можно подробнее про гостевой доступ?
И еще может есть возможность использовать какие-то внешние сервисы, есть же бесплатные серверы, esp будет стучаться на сервер, андроид туда-же, там и словятся) Если возможно как это сделать?
Это да, есть mqtt брокер (облако) бесплатный сервис, но это совсем не косается этой темы. Гостевой доступ не у каждого провайдера есть. Статический ip есть у каждого, но эта отдельная услуга.
 

mefi73

New member
такой вопрос, можно ли привязывать кнопки перехода на страницы к другим страницам как другие элементы? например, создаю 2 страницы: управление и настройка. хочу что б кнопка "управление" на странице управления не светилась, а присутствовала только на странице настройки, и наоборот. тогда можно освободить место на экране, не держать все кнопки переходов по страницам на каждой странице
 

Евгений Шемануев

Moderator
Команда форума
такой вопрос, можно ли привязывать кнопки перехода на страницы к другим страницам как другие элементы? например, создаю 2 страницы: управление и настройка. хочу что б кнопка "управление" на странице управления не светилась, а присутствовала только на странице настройки, и наоборот. тогда можно освободить место на экране, не держать все кнопки переходов по страницам на каждой странице
В текущей версии такой функционал не поддерживается. Кнопки переключения страниц видны всегда, как меню.
 

mefi73

New member
спасибо за последнюю обнову, очень понравилось. испытал на NodeMcu и меге с блютус. А теперь вопрос: как в скетче хранятся текстовые строки, например надпись на кнопке? я так понимаю изменить надпись можно только в онлайн-редакторе, а если на сайте не сохранил скетч, сразу себе слил, то надо заново интерфейс создавать. и отсюда второй вопрос: будет ли функция "залил текст скетча - получил интерфейс"?
 

Olmiv

New member
Доброе время суток. Чего то я не пойму, а как организовать вывод значений в поле ввода после выхода из проги и повторного входа, оно в скетче ведь только выходом будет? Допустим я внёс уставку времени или температуры, но после повторного входа поле ведь обнуляется. Или по верх поля ввода накладывать текстовое поле с другой переменной, которое в проекте уже будет входом? Я так попробовал, но мне не нравится наблюдать наложение одного текста на другое, не обновляемое число поверх обновляемого текста. Ещё интересно, как ведётся обновление поля текста из переменной проекта? С датчиков напрямую данные в поле передаются, а через переменную обновления нет. Лабаю в flprog, ибо не программист, имею только общие понятия. Кстати процесс обратной связи не мешал бы и слайдеру, а то как то не прилично получается, в реалии значение 85, а слайдер в нуле!? Как его на нужное место поставить апосля перевхода в прогу?
 
Последнее редактирование:

m_sav

New member
В текущей версии такой функционал не поддерживается. Кнопки переключения страниц видны всегда, как меню.
добрый день!
Вы еще в теме?
есть вопрос по приложению, купил про версию но wi-fi пример подвел конкретно, установил библиотеку с сайта , но при компиляции ругается на отсутствие ESP8266WiFi.h: No such file or directory
хотя это прописывается в самом коде от remotexy (#include <ESP8266WiFi.h>). Отдельно о ESP8266WiFi.h ни слова. Если ее отдельно надо скачивать то какую версию и от куда?
 
Последнее редактирование:

roversochi

New member
Не могу понять, почему периодически возникают фризы управления с nodeMCU.
Добавил простой джойстик, через map конвертю это в управление сервой.
Больше никаких либ не подключаю.
Подключается корректно, серва крутится, но иногда в рандомное время появляются рандомные подвисания.
Включил REMOTEXY__DEBUGLOGS, в мониторе компорта эти фризы прям четко видны, вплоть до 4 секунд. Не пойму, откуда они. Пробовал разные платы.

Вот выдержки из логов:

Код:
[   28.169] -> 55 06 00 C0 F1 B9
[   28.243] <- 55 06 00 C0 F1 B9
[   28.243] -> 55 06 00 C0 F1 B9
[   31.238] <- 55 06 00 C0 F1 B9
[   31.239] -> 55 06 00 C0 F1 B9
[   31.323] <- 55 06 00 C0 F1 B9
.......

[   32.118] -> 55 06 00 C0 F1 B9
[   32.198] <- 55 06 00 C0 F1 B9
[   32.199] -> 55 06 00 C0 F1 B9
[   33.720] <- 55 06 00 C0 F1 B9
[   33.721] -> 55 06 00 C0 F1 B9
[   33.767] <- 55 06 00 C0 F1 B9
...
[   35.921] <- 55 06 00 C0 F1 B9
[   35.922] -> 55 06 00 C0 F1 B9
[   37.373] <- 55 06 00 C0 F1 B9
[   37.373] -> 55 06 00 C0 F1 B9
В итоге машинку на wifi-управлении REMOTEXY сделать не получается...
 
Сверху Снизу