Arduino Serial Protocol, SoftwareSerial Json

핀 세팅

Send(송신 아두이노)Reception(수신 아두이노)
GNDGND
5D0(6)
6D1(5)

저는 송신을 Uno, 수신을 ESP8266 으로 사용했습니다.
보드마다 지원되는 Serial 핀을 찾아 핀번호를 변경하시기 바랍니다

#include <ArduinoJson.h>
#include <SoftwareSerial.h>

SoftwareSerial B_Serial(5,6);

void setup() {
  Serial.begin(115200);
    B_Serial.begin(115200);
}

void loop() {

    String json = "";
    json.concat("{'sensors':[{'plant':'ChamberA','humi':");
    json.concat(strHumi);i
    json.concat(",'temp':");
    json.concat(strTemp);
    json.concat(",'moisture':");
    json.concat(strMoisture);
    json.concat(",'illumi':");
    json.concat(strilluminance);
    json.concat("},{'plant':'ChamberB','humi':");
    json.concat(strHumi2);
    json.concat(",'temp':");
    json.concat(strTemp2);
    json.concat(",'moisture':");
    json.concat(strMoisture2);
    json.concat(",'illumi':");
    json.concat(strilluminance2);
    json.concat("}]}");
    Serial.println(json);
     B_Serial.println(json);
  delay(1000);
}
#include <ArduinoJson.h>
#include <SoftwareSerial.h>
SoftwareSerial A_Serial(5,6);
String valuePara = "";
void setup(){
  Serial.begin(115200);
  A_Serial.begin(115200);
}
void loop(){
  if(A_Serial.available()){
  
      // Serial.println(data)/;
      StaticJsonBuffer<2000> jsonBuffer;
      JsonObject& root = jsonBuffer.parseObject(data);
      JsonArray& prefs = root["sensors"].as<JsonArray>();
      for (JsonObject& ar : prefs) {

      String PLANT = "";
      String strHumi ="";
      String strTemp = "";
      String strMoisture = "";
      String strilluminance = "";
       const char* plant = ar["plant"];
        PLANT.concat(plant);
       const char* humi = ar["humi"];
        strHumi.concat(humi);
       const char* temp = ar["temp"];
        strTemp.concat(temp);
       const char* moisture = ar["moisture"];
        strMoisture.concat(moisture);
       const char* illumi = ar["illumi"];
        strilluminance.concat(illumi);
    }
  }
}

Leave a Comment