• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 сделать не получается...
 
Сверху Снизу