Здравствуйте. У меня такой вопрос. Устройство подключается к "Облаку" только на 3 минуты, потом устройство отключается и пока не перезагрузишь его. Но при этом если подключиться с телефона к устройству через "Облако"время работы не ограничено. Мое устройство - Arduino UNO + Ethernet W5100
// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ETHERNET_LIB_CLOUD
#include <Ethernet.h>
/* Ethernet shield used pins: 10(SS) */
#include <SPI.h>
/* SPI interface used pins: 11(MOSI), 12(MISO), 13(SCK) */
#include <RemoteXY.h>
// настройки соединения
// настройки соединения
#define REMOTEXY_ETHERNET_MAC "DE:AD:BE:EF:EF:ED"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "23bb9cdae4cd94ee1c3ac95cd14e1f0f"
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,3,0,2,0,52,0,6,5,0,
3,3,6,8,19,52,2,2,0,56,
40,41,21,1,79,78,0,79,70,70,
0,2,0,60,10,27,14,2,79,78,
0,79,70,70,0,65,2,29,10,14,
14,2,65,1,29,44,14,14,2 };
// структура определяет все переменные вашего интерфейса управления
struct {
// input variable
uint8_t select_1; // =0 если переключатель в положении A, =1 если в положении B, =2 если в положении C, ...
uint8_t switch_1; // =1 если переключатель включен и =0 если отключен
uint8_t switch_2; // =1 если переключатель включен и =0 если отключен
// output variable
uint8_t led_1_g; // =0..255 яркость зеленого цвета индикатора
//uint8_t led_2_g; // =0..255 яркость зеленого цвета индикатора
uint8_t led_3_b; // =0..255 яркость синего цвета индикатора
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
const int dthPin = 8;
const int nasosPin = 2;
int dthState = 0;
#define PIN_SWITCH_2 3
void setup()
{
RemoteXY_Init ();
pinMode (PIN_SWITCH_2, OUTPUT);
// TODO you setup code
// выбираем режим пина для насоса
pinMode(nasosPin, OUTPUT);
// выбираем режим пина и подтягиваем встроенный резистор
pinMode(dthPin, INPUT);
digitalWrite(dthPin, HIGH);
}
void loop()
{
RemoteXY_Handler ();
// TODO you loop code
// используйте структуру RemoteXY для передачи данных
dthState = digitalRead(dthPin);
//if (digitalRead(8) == HIGH) // если на пин 5 подан высокий уровень
// RemoteXY.led_2_g = 0; // тогда включаем красный цвет индикатора
//else // иначе
// RemoteXY.led_2_g = 255; // выключаем красный цвет
if (digitalRead(2) == HIGH) // если на пин 5 подан высокий уровень
RemoteXY.led_1_g = 255; // тогда включаем красный цвет индикатора
else // иначе
RemoteXY.led_1_g = 0; // выключаем красный цвет
if (digitalRead(3) == HIGH) // если на пин 5 подан высокий уровень
RemoteXY.led_3_b = 255; // тогда включаем красный цвет индикатора
else // иначе
RemoteXY.led_3_b = 0; // выключаем красный цвет
switch (RemoteXY.select_1) {
case 0:
if (dthState == LOW) {
// насос вкл
digitalWrite(nasosPin, HIGH);
} else {
// насос выкд
digitalWrite(nasosPin, LOW);
}
break;
case 1:
digitalWrite(nasosPin, HIGH);
break;
case 2:
digitalWrite(nasosPin, LOW);
break;
}
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH);
if (RemoteXY.switch_1 == 0) {
// насос выкл
RemoteXY.select_1 = 2 ;
RemoteXY.switch_2 = 0 ;
}
}