본문 바로가기

개발자/Arduino

Decoding and Encoding JSON with Arduino Nano 33 IoT 3

반응형

 

 

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 에 대해 잘 알지도 못한 이유로 여기부터는 안하기로 합니다. ㅠ.ㅠ 중단한 부분은 라즈베리파이 교육에서 완성되면 보기로 하겠습니다. 고생하셨습니다.

 

 

Node-RED는 새롭고 흥미로운 방식으로 하드웨어 장치, API 및 온라인 서비스를 연결하기위한 프로그래밍 도구입니다. 한 번의 클릭으로 런타임에 배포 할 수있는 팔레트의 광범위한 노드를 사용하여 흐름을 쉽게 연결할 수있는 브라우저 기반 편집기를 제공합니다. https://nodered.org/

 

 

 

 

 

 

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

귀사가 성공하기까지의 긴 고난의 시간을 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩