Невозможно получить выходные данные по последовательной связи Arduino с RFID-считывателем ESP8266 и M6E.

Мне не удается получить выходные данные по последовательному порту NODEMCU. NODEMCU подключен к Arduino Uno, а Uno подключен к RFID-считывателю M6E Nano. В настоящее время я не могу понять, делаю ли я какую-то ошибку. Пожалуйста, дайте мне знать, если вам понадобится что-то еще.

Конфигурация контактов NodeMCU и RFID-считывателя M6E Nano с Arduino Uno

NodeMCU         UNO         
Vin             Vin
GND             GND         
D2              2
D3              3

Код для считывателя RFID Arduino Uno+M6E Nano

#include <SoftwareSerial.h> 
SoftwareSerial softSerial(2, 3); 

#include "SparkFun_UHF_RFID_Reader.h"
RFID nano;

void setup()
{
  Serial.begin(115200);
  softSerial.begin(115200);

  while (!Serial);
  Serial.println();
  Serial.println("Initializing...");
}

void loop()
{
  byte response;
  byte myTID[20]; //TID составляют 20 байт
  char str[sizeof(myTID) * 2 + 1]; 
  const char* hex = "0123456789ABCDEF";

  //Читаем уникальный идентификатор тега
  response = nano.readTID(myTID, sizeof(myTID));
  if (response == RESPONSE_SUCCESS)
  {
    for (int i = 0; i < sizeof(myTID); i++)
    {
      str[i * 2] = hex[(myTID[i] >> 4)];
      str[i * 2 + 1] = hex[(myTID[i] & 0x0F)];    
      }
    str[sizeof(str)] = 0;
    Serial.println(str);
   }
  else
    Serial.println("Failed read");
}

Код для NODEMCU

#include <ESP8266WiFi.h>
#include <SoftwareSerial.h>
SoftwareSerial NodeMCU(D3,D2);

void setup()
{
  Serial.begin(9600);
  NodeMCU.begin(4800);
  pinMode(D2,OUTPUT);
  pinMode(D3,INPUT);
}

void loop(){
  String str = 0;        // сохраняем полученный байт

  if(NodeMCU.available())
  {
    // получаем байт из последовательного порта USB
    str = Serial.read();
    NodeMCU.write(str);
  }
delay(30);
}

Не могу найти, где я делаю ошибку! Заранее спасибо

, 👍0


1 ответ


Лучший ответ:

0
  1. У вас разная скорость передачи данных на обоих концах.
  2. SoftwareSerial ненадежен на скорости 115200. используйте 9600 бод.
  3. SoftwareSerial на esp8266 ненадежен.

удалить Uno из проекта и подключить читалку к NodeMcu

,