1

Topic: не подключается к облаку через WIFI ESP8266

Добрый день, форумчане! Нужна помощь:
1. подключение к облаку через wifi esp8266. Модуль подключается к точке, в роутере виден.
2. не выводится информация с датчика температуры и влажности.


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

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

#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 3
#define REMOTEXY_SERIAL_SPEED 9600
#define REMOTEXY_WIFI_SSID "Keenetic"
#define REMOTEXY_WIFI_PASSWORD "1111111"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "1111111111111"
// конфигурация интерфейса 
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,2,0,14,0,95,0,11,24,2,
  2,0,8,22,22,11,7,22,22,11,
  2,26,135,37,79,78,0,79,70,70,
  0,2,0,8,38,22,11,7,35,22,
  11,2,26,136,37,79,78,0,79,70,
  70,0,66,132,67,23,28,22,44,17,
  13,10,92,37,66,132,37,24,26,20,
  44,41,13,10,164,37,67,4,72,14,
  18,5,43,30,20,5,2,26,6,67,
  4,41,14,16,5,42,57,20,5,2,
  26,6 };
 
// структура определяет все переменные и события вашего интерфейса управления
struct {

    // input variables
  uint8_t nasos; // =1 если переключатель включен и =0 если отключен
  uint8_t vvod; // =1 если переключатель включен и =0 если отключен

    // output variables
int8_t tem; // =0..100 положение уровня
int8_t hum; // =0..100 положение уровня

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

/* output variable */
//char text_tem[11];  /* string end zero UNICODE */
//char text_hum[11];  /* string end zero UNICODE */


} RemoteXY;
#pragma pack(pop)

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

#define PIN_NASOS 4
#define PIN_VVOD 5

#include "DHT.h"
#define DHTPIN 6
DHT dht(DHTPIN, DHT11);


void setup()
{
 
 
  RemoteXY_Init ();
 
  pinMode (PIN_NASOS, OUTPUT);
  pinMode (PIN_VVOD, OUTPUT);
 
  // TODO you setup code
 
}

void loop()
{
  RemoteXY_Handler ();
 
  digitalWrite(PIN_NASOS, (RemoteXY.nasos==0)?LOW:HIGH);
  digitalWrite(PIN_VVOD, (RemoteXY.vvod==0)?LOW:HIGH);
 
  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных
  // не используйте функцию delay()
   
  // TODO you loop code
  // use the RemoteXY structure for data transfer
  float tem = dht.readTemperature();
  //float text_tem = dht.readTemperature(); 
  float hum = dht.readHumidity();
  //float text_hum = dht.readHumidity();
  //dtostrf(tem, 0, 1, RemoteXY.text_tem[11]);
  //dtostrf(hum, 0, 1, RemoteXY.text_hum);
  //RemoteXY.text_tem[11] = tem;
  RemoteXY.hum = hum;
  RemoteXY.tem = tem;

 

}

2

Re: не подключается к облаку через WIFI ESP8266

Ваш ESP настроен на работу со скорости 9600 ??

3

Re: не подключается к облаку через WIFI ESP8266

Пробовал разные скорости 9600 и 115200, не подключается.

4

Re: не подключается к облаку через WIFI ESP8266

Software serial не работает на скорости выше 38400, и на этой скорости работает нестабильно. ESP по умолчанию работает на скорости 115200
Для подключения к ESP лучшим решением использовать аппаратный Serial на 115200

5

Re: не подключается к облаку через WIFI ESP8266

т.е если сделаю вот так, то все заработает?

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

// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD



#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 115200
#define REMOTEXY_WIFI_SSID "Keenetic"
#define REMOTEXY_WIFI_PASSWORD "1111111"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "1111111111111"
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,2,0,14,0,95,0,11,24,2,
  2,0,8,22,22,11,7,22,22,11,
  2,26,135,37,79,78,0,79,70,70,
  0,2,0,8,38,22,11,7,35,22,
  11,2,26,136,37,79,78,0,79,70,
  70,0,66,132,67,23,28,22,44,17,
  13,10,92,37,66,132,37,24,26,20,
  44,41,13,10,164,37,67,4,72,14,
  18,5,43,30,20,5,2,26,6,67,
  4,41,14,16,5,42,57,20,5,2,
  26,6 };

// структура определяет все переменные и события вашего интерфейса управления
struct {

    // input variables
  uint8_t nasos; // =1 если переключатель включен и =0 если отключен
  uint8_t vvod; // =1 если переключатель включен и =0 если отключен

    // output variables
int8_t tem; // =0..100 положение уровня
int8_t hum; // =0..100 положение уровня

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

/* output variable */
//char text_tem[11];  /* string end zero UNICODE */
//char text_hum[11];  /* string end zero UNICODE */


} RemoteXY;
#pragma pack(pop)

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

#define PIN_NASOS 4
#define PIN_VVOD 5

#include "DHT.h"
#define DHTPIN 6
DHT dht(DHTPIN, DHT11);


void setup()
{


  RemoteXY_Init ();

  pinMode (PIN_NASOS, OUTPUT);
  pinMode (PIN_VVOD, OUTPUT);

  // TODO you setup code

}

void loop()
{
  RemoteXY_Handler ();

  digitalWrite(PIN_NASOS, (RemoteXY.nasos==0)?LOW:HIGH);
  digitalWrite(PIN_VVOD, (RemoteXY.vvod==0)?LOW:HIGH);

  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных
  // не используйте функцию delay()
   
  // TODO you loop code
  // use the RemoteXY structure for data transfer
  float tem = dht.readTemperature();
  //float text_tem = dht.readTemperature();
  float hum = dht.readHumidity();
  //float text_hum = dht.readHumidity();
  //dtostrf(tem, 0, 1, RemoteXY.text_tem[11]);
  //dtostrf(hum, 0, 1, RemoteXY.text_hum);
  //RemoteXY.text_tem[11] = tem;
  RemoteXY.hum = hum;
  RemoteXY.tem = tem;



}

6

Re: не подключается к облаку через WIFI ESP8266

Я сделал как вы посоветовали, но это результата нет. Модуль также подключается к точке, в роутере устройство есть с присвоенным IP адресом. Подключения к облаку нет. Монитор порта на 115200 молчит, на 74880 только один знак "?".

7

Re: не подключается к облаку через WIFI ESP8266

Да, к UNO лучше подключать так. Проверьте себя по шагам как описано в статье https://remotexy.com/ru/help/start/arduino-esp8266-ss/
1. Проверьте схему подключения из статьи, что RX и TX подключены правильно
2. Для тестов связи уберите весь ваш дополнительный код. Оставьте только тот код который выдает редактор.
3. Посмотрите раздел статьи "Если не подключается..." Вы должны увидеть в мониторе команды которые посылает контроллер к ESP. Даже если ESP не подключена, то в мониторе должны быть строки AT, AT. После верного подключения ESP вы увидите остальные команды. Если вы не видите даже строчек AT, то либо терминал не верно настроен, либо вы не прогрузили контроллер.
4. После того как вы добьетесь связи и появления интерфейса на телефоне, начинайте интегрировать код вашей задачи.

Кроме того я вижу что вы что то изменили сами в структуре RemoteXY. Этого делать ни в коем случае нельзя. Скорее всего в этом ваша главная ошибка.

8

Re: не подключается к облаку через WIFI ESP8266

Спасибо! Все получилось. Нужен очередной совет. на некоторые переключатели необходимо поставить таймер (например:  uint8_t switch_3; поставить таймер "ON" на 7-10мин, чтоб по истечении этого времени переходил в "OFF"


/*
   -- tolko_wifi --
   
   This source code of graphical user interface
   has been generated automatically by RemoteXY editor.
   To compile this code using RemoteXY library 2.4.3 or later version
   download by link http://remotexy.com/en/library/
   To connect using RemoteXY mobile app by link http://remotexy.com/en/download/                   
     - for ANDROID 4.7.12 or later version;
     - for iOS 1.4.7 or later version;
   
   This source code is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.   
*/

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

// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD

#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 115200
#define REMOTEXY_WIFI_SSID "Keenetic"
#define REMOTEXY_WIFI_PASSWORD "11111"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "11111111111111111111111"


// конфигурация интерфейса 
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  {  255,6,0,32,0,214,1,11,24,6,
  67,0,79,13,15,5,6,85,13,5,
  1,2,26,11,67,0,79,26,14,5,
  23,85,11,5,1,2,26,11,2,1,
  7,15,18,8,3,16,17,8,1,2,
  26,135,36,79,78,0,79,70,70,0,
  2,1,7,24,18,8,2,27,18,8,
  1,2,26,135,36,79,78,0,79,70,
  70,0,2,1,7,33,18,8,2,37,
  18,8,1,2,26,135,36,79,78,0,
  79,70,70,0,2,1,7,42,18,8,
  2,48,18,8,1,2,26,135,36,79,
  78,0,79,70,70,0,2,1,7,52,
  18,8,3,59,18,8,1,2,26,135,
  36,79,78,0,79,70,70,0,129,0,
  79,8,9,4,5,79,10,4,1,17,
  209,130,208,181,208,188,208,191,0,129,
  0,79,21,8,4,23,79,9,4,1,
  17,208,178,208,187,208,176,208,182,0,
  2,1,7,6,18,8,3,5,17,8,
  1,2,26,135,36,79,78,0,79,70,
  70,0,129,0,28,8,9,4,22,8,
  9,4,1,17,208,178,208,178,208,190,
  208,180,32,208,178,208,190,208,180,208,
  176,0,129,0,28,17,9,4,24,18,
  9,4,1,17,208,189,208,176,209,129,
  208,190,209,129,0,129,0,28,26,9,
  4,24,30,9,4,1,17,209,130,208,
  181,208,191,208,187,208,184,209,134,208,
  176,0,129,0,28,35,9,4,25,40,
  9,4,1,17,208,189,208,176,209,129,
  208,190,209,129,32,208,184,208,183,32,
  208,177,208,176,208,186,208,176,0,129,
  0,28,44,9,4,26,52,9,4,1,
  17,116,101,109,112,0,129,0,28,53,
  9,4,26,63,9,4,1,17,116,101,
  109,112,0,65,38,81,39,9,9,47,
  88,9,9,1,129,0,76,33,9,4,
  38,79,21,4,1,17,208,178,208,190,
  208,180,208,176,32,208,178,208,178,208,
  190,208,180,0,68,50,1,15,97,47,
  2,2,60,71,2,8,36,135,86,97,
  114,105,97,98,108,101,32,49,0,86,
  97,114,105,97,98,108,101,32,50,0,
  131,1,53,3,20,7,1,91,20,7,
  1,2,31,80,97,103,101,0,131,0,
  74,3,20,7,22,91,20,7,2,2,
  31,80,97,103,101,50,0  };
 
// структура определяет все переменные и события вашего интерфейса управления
struct {
 
// input variables
  uint8_t switch_3; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_4; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_5; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_6; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_7; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_2; // =1 если переключатель включен и =0 если отключен

    // output variables

  char text_1[11];  // =строка UTF8 оканчивающаяся нулем
  char text_2[11];  // =строка UTF8 оканчивающаяся нулем
  uint8_t led_1_r; // =0..255 яркость красного цвета индикатора
  uint8_t led_1_g; // =0..255 яркость зеленого цвета индикатора

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

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////
#include "DHT.h"
#define DHTPIN 13
DHT dht(DHTPIN, DHT11);

#define PIN_SWITCH_3 3
#define PIN_SWITCH_4 4
#define PIN_SWITCH_5 5
#define PIN_SWITCH_6 6
#define PIN_SWITCH_7 7
#define PIN_SWITCH_2 2

void setup()
{
  RemoteXY_Init ();

  pinMode (PIN_SWITCH_3, OUTPUT);
  pinMode (PIN_SWITCH_4, OUTPUT);
  pinMode (PIN_SWITCH_5, OUTPUT);
  pinMode (PIN_SWITCH_6, OUTPUT);
  pinMode (PIN_SWITCH_7, OUTPUT);
  pinMode (PIN_SWITCH_2, OUTPUT);
// pinMode (PIN_SWITCH_12, INPUT);
  // TODO you setup code
 
}

void loop()
{
  RemoteXY_Handler ();

  digitalWrite(PIN_SWITCH_3, (RemoteXY.switch_3==0)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_4, (RemoteXY.switch_4==0)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_5, (RemoteXY.switch_5==0)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_6, (RemoteXY.switch_6==0)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_7, (RemoteXY.switch_7==0)?LOW:HIGH);
  digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH);

 
 
  // TODO you loop code

   // use the RemoteXY structure for data transfer
  float temp = dht.readTemperature(); 
  float hum = dht.readHumidity();
  dtostrf(temp, 0, 1, RemoteXY.text_1);
  dtostrf(hum, 0, 1, RemoteXY.text_2);
   RemoteXY.led_1_g = (digitalRead(12)==HIGH)?255:0;
RemoteXY.onlineGraph_1_var1 = temp;
RemoteXY.onlineGraph_1_var2 = hum;

  // используйте структуру RemoteXY для передачи данных
  // не используйте функцию delay()


}