Работа без подключения к com порту

Добрый день. Собрал датчик который отправляет показания на сервер в интернет. Столкнулся с проблемой. Питание подключено через ноутбук по USB. Если в IDE включен “монитор com порта” то все работает без перерывов. Если не отключая питание закрыть IDE то спустя несколько часов перестают ходить запросы и отключается wifi. Запуск IDE и подключение к com порту решает проблему, но требуется автономная работа от USB. Подскажите в каком направлении может быть проблема, не вижу на первый взгляд.

#include <TroykaMQ.h>
#include <SoftwareSerial.h>
#include "WiFly.h"

#define PIN_MQ2 A1
MQ2 mq2(PIN_MQ2);

#define SSID "ssid-wifi"
#define KEY "password"
#define AUTH WIFLY_AUTH_WPA2_PSK

SoftwareSerial wiflyUart(2, 3);
WiFly wifly(&wiflyUart);

void setup() {
  wiflyUart.begin(9600);
  Serial.begin(9600);
  mq2.heaterPwrHigh();
  Serial.println("Heated sensor start");
  delay(3000);
  wifly.reset();
  Serial.println("Join " SSID);
  if (wifly.join(SSID, KEY, AUTH)) {
    Serial.println("OK");
  } else {
    Serial.println("Failed");
  }
}

void loop() {
  wifly.sendCommand("set ip proto 18\r");
  delay(100);
  wifly.sendCommand("set dns name my.server.ru\r");
  delay(100);
  wifly.sendCommand("set ip address 0\r");
  delay(100);
  wifly.sendCommand("set ip remote 80\r");
  delay(100);
  wifly.sendCommand("set com remote 0\r");
  delay(100);
  wifly.sendCommand("open\r");
  delay(1000);
  String data = "GET /sensors?ratio=" + String(mq2.readRatio()) + "&lpg=" + String(mq2.readRatio()) + "&methane=" + String(mq2.readMethane()) + "&smoke=" + String(mq2.readSmoke()) + "&hydrogen=" + String(mq2.readHydrogen());
  wiflyUart.print(data);
  wifly.reboot();
  delay(5000);
}

у кого отключается?

это просто происходит сброс того, чего вы озвучить забыли.

1 лайк

При включении “монитора порта” происходит сброс Ардуино (рестарт), вы в курсе?

1 лайк

Не в курсе, я ожила это как режим отладки и все работает без этого. Пойду изучать мат часть. Благодарю

Очень многие эмуляторы терминалов это делают, но не все. А там всего лишь не нужно формировать импульс на DTR, который ответственный за сброс Ардуино.