Encoding JSON – Generate JSON string, JSON 인코딩 – JSON 문자열 생성
다음 JSON 문자열을 인코딩 / 생성하는 방법을 알아 보겠습니다.
{"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}
여기에서 enconding에 대한 문서를 읽을 수 있습니다. ArduinoJson 라이브러리를 가져옵니다.
#include <ArduinoJson.h>
Arduino JSON은 사전 할당 된 메모리 풀을 사용하여 객체 트리를 저장하며, 이는 StaticJsonBuffer에 의해 수행됩니다. ArduinoJson Assistant를 사용하여 정확한 버퍼 크기를 계산할 수 있지만, 이 예에서는 200이면 충분합니다.
StaticJsonBuffer<200> jsonBuffer;
데이터를 보관할 root라는 JsonObject를 만듭니다. 그런 다음 gps 및 1351824120 값을 센서 및 시간 키에 각각 할당합니다.
JsonObject& root = jsonBuffer.createObject();
root["sensor"] = "gps";
root["time"] = 1351824120;
그런 다음 데이터 키 안에 배열을 유지하려면 다음을 수행합니다.
JsonArray& data = root.createNestedArray("data");
data.add(48.756080);
data.add(2.302038);
디버깅을 위해 생성 된 JSON을 직렬 모니터에 인쇄해야 할 가능성이 매우 높습니다.
root.printTo(Serial);
정보를 JSON 문자열로 인코딩 한 후 다음 예제와 같이 다른 장치 또는 웹 서비스에 게시 할 수 있습니다.
Arduino 및 Node-RED를 사용한 인코딩 예제
이 예에서는 Node-RED 또는 HTTP POST 요청을 수신 할 수있는 유사한 소프트웨어가 필요합니다. 컴퓨터에 Node-RED를 설치할 수 있지만, Raspberry Pi에서 Node-RED를 실행하는 것이 좋습니다.
프로젝트와 관련이 없어 보이고 Node-RED 에 대해 잘 알지도 못한 이유로 여기부터는 안하기로 합니다. ㅠ.ㅠ 중단한 부분은 라즈베리파이 교육에서 완성되면 보기로 하겠습니다. 고생하셨습니다.
'개발자 > Arduino' 카테고리의 다른 글
nano 33 iot 보드 타이머 인터럽트 예제 (0) | 2020.10.20 |
---|---|
스마트 팩토리 연결도와 소스코드 20201018 (0) | 2020.10.18 |
Nano 33 IoT 데이터 서버 전송 Get 방식 (0) | 2020.10.13 |
openweathermap 온도 데이터를 섭씨온도로 변환 (0) | 2020.10.13 |
Decoding and Encoding JSON with Arduino Nano 33 IoT 1 (0) | 2020.10.10 |
Decoding and Encoding JSON with Arduino Nano 33 IoT 2 (0) | 2020.10.09 |
ArduinoJson 데이터의 Decoding / Ecoding 예제 (0) | 2020.10.08 |
format을 가진 출력을 위한 sprintf( ), dtostrf( ) (0) | 2020.10.07 |
더욱 좋은 정보를 제공하겠습니다.~ ^^