핀 세팅
Send(송신 아두이노) | Reception(수신 아두이노) |
GND | GND |
5 | D0(6) |
6 | D1(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);
}
}
}