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

Arduino UNO не видит AT команды

CodeNameHawk

Moderator
Команда форума
  1. Код:
    void setup() {
      Serial.begin(115200);
      Serial.println("Setup done");
      espSerial.begin(115200);
    Serial.println("Soft done");
    }
  2. Parameters
    speed: the baud rate (long)
 
Последнее редактирование:

sER

New member
Пусто
А если вот так
  1. void setup() {
  2. Serial.begin(115200);
  3. Serial.println("Setup done");
  4. espSerial.begin(115200);
  5. Serial.println("Soft done");
  6. }
Setup done
Soft done
 

sER

New member
Код:
#include <SoftwareSerial.h> //Подключаем библиотеку работы с Последовательным портом
SoftwareSerial mySerial(10, 11); // RX, TX (Создаем виртуальный порт Esp. подключаем на цифровые пины 10 и 11 порты TX, RX от Esp)
void setup()
{// Открываем последовательный порт компьютера, устанавливаем скорость 115200
Serial.begin(115200);
Serial.setTimeout(500);
// set the data rate for the SoftwareSerial port
mySerial.begin(115200); //Открываем последовательный порт Esp, устанавливаем скорость 9600. Внимание!! убедитесь что Esp работает именно на этой скорости!!
mySerial.println("AT"); // Отправляем тестовую команду АТ в созданный порт, если всё работает в ответе должно прийти ОК
}
void loop() // run over and over
{
if (mySerial.available()) //Если есть данные в порте Esp, то передать их в последовательный порт компьютера
Serial.write(mySerial.read());
if (Serial.available()) //Если есть данные в порте компьютера, то передать их в последовательный порт Esp
mySerial.write(Serial.read());
}
А в порту пустота
 

sER

New member
Код:
void loop()
{
mySerial.println("AT");
delay(1000);
Serial.write(mySerial.read());
delay(1000);
//if (Serial.available()) //Если есть данные в порте компьютера, то передать их в последовательный порт Esp
//mySerial.write(Serial.read());
}
В порт каждую секунду приходит
яяяяяяяяяя
 

sER

New member
Код:
Serial.println("AT");
delay(1000);
Serial.write(Serial.read());
delay(1000);
AT
яAT
яAT
яAT
яAT
яAT
 

sER

New member
Код:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
void setup(){
Serial.begin(115200);
Serial.setTimeout(500);

mySerial.begin(115200);
//mySerial.println("AT");
mySerial.println("ATE\r\n");
}
void loop()
{
mySerial.println("AT\n\r");
delay(1000);
Serial.write(mySerial.read());
delay(1000);
//if (Serial.available())
//mySerial.write(Serial.read());
}
яяяяяяяяяяяяяяяяяяяяяяяяяяяя
 

CodeNameHawk

Moderator
Команда форума
Не mySerial.println("ATE\r\n"); а mySerial.println("ATE1\r\n");

И тут поправьте
  1. if (mySerial.available()) //Если есть данные в порте Esp, то передать их в последовательный порт компьютера
  2. Serial.write(mySerial.read());
  3. Резисторный делитель установлен?
 

sER

New member
Код:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
void setup(){
Serial.begin(115200);
Serial.setTimeout(500);
mySerial.begin(115200);
mySerial.println("ATE1\r\n");
}
void loop()
{

if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
Делитель не установлен
 

CodeNameHawk

Moderator
Команда форума
Я обычно ставлю 1,2к и 2к (на 10к больше шанс словить помеху)
Используя Serial.println, \r\n скорее всего не нужны.
 

Victor

Administrator
Команда форума
Сверху Снизу