Сбой последовательной связи между Arduino Nano и NodeMCU с использованием ArduinoJson

Я новичок во встроенных системах. Я пытаюсь отправить данные / значения в NodeMCU и обнаружил, что могу использовать библиотеку ArduinoJSON. Я пробую то же самое, что и в руководстве, но не знаю, почему у меня это не работает. Может кто-нибудь сказать мне, почему? А как исправить?

Это сценарий Arduino Nano:

#include <SoftwareSerial.h>
#include <ArduinoJson.h>
SoftwareSerial s(5,6);

void setup() {
  s.begin(9600);
}

void loop() {
  StaticJsonBuffer<1000> jsonBuffer;
  JsonObject& root = jsonBuffer.createObject();
  root["data1"] = 100;
  root["data2"] = 200;

  if(s.available()>0){
    root.printTo(s);
  }
}

А это скрипт NodeMCU:

#include <SoftwareSerial.h>
SoftwareSerial s(D6,D5); //RX,TX
#include <ArduinoJson.h>

void setup() {
  Serial.begin(9600);
  s.begin(9600);
  while(!Serial)continue;
}

void loop() {
  StaticJsonBuffer<1000> jsonBuffer;
  JsonObject& root = jsonBuffer.parseObject(s);
  if(root == JsonObject::invalid())
  return;

  Serial.println("Json received and parsed");
  root.prettyPrintTo(Serial);
  Serial.print("Data 1 ");
  Serial.println("");
  int data1=root["data1"];
  Serial.println(data1);
  Serial.print("Data 2 ");
  int data2=root["data2"];
  Serial.print(data2);
  Serial.println("");
  Serial.println("---------------------xxxxx---------------------");
}

Когда я проверяю серийный номер, он не показывает данные, отправленные Nano, но это отображается на серийном мониторе.

⸮$r$rlp⸮n⸮⸮8⸮⸮⸮

Кстати извините за мой плохой английский.

0 ответов

Другие вопросы по тегам