Сбой последовательной связи между 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⸮⸮⸮
Кстати извините за мой плохой английский.