여기서는 Particle Photon 또는 Electron 장치를 사용하여 Ubidots에 데이터를 보내는 방법을 알아봅니다. Ubidots의 유효한 TOKEN과 함께 보내려는 변수 라벨과 값만 있으면 됩니다. 또한 Ubidots 계정에서 변수의 마지막 값을 얻을 수 있습니다.
이 라이브러리는 기본적으로 새 데이터 소스를 생성합니다. 이 데이터 소스의 이름은 기본적으로 "Particle"이고 레이블은 Particle ID가 됩니다.
기본 방법은 TCP입니다. 이를 변경하려면 기능 섹션으로 이동하여 예제를 따르세요.
Particle Mesh IoT 프로토콜의 지원 중단이 발표된 후, Particle이 더 이상 메시 유닛을 생산하지 않기 때문에 Ubidots는 이 라이브러리에서 즉시 지원을 중단하기로 결정했습니다. 프로젝트에서 Mesh IoT 프로토콜을 당사 라이브러리와 함께 사용해야 하는 경우 이 라이브러리 버전 v3.1.4를 사용하여 Particle CLI를 통해 프로젝트를 컴파일하십시오.
Ubidots(char* token, UbiServer server, IotProtocol iot_protocol)
UBI_INDUSTRIAL
], [기본값] = UBI_INDUSTRIAL
.UBI_HTTP
, UBI_TCP
, UBI_UDP
, UBI_PARTICLE
], [기본값] = UBI_TCP
. 데이터를 보내거나 검색하는 데 사용할 IoT 프로토콜입니다.Ubidots 인스턴스를 생성합니다.
참고 사항
UBI_PARTICLE
웹훅을 사용하여 데이터를 전송하므로 여기에서 웹훅을 올바르게 설정하려면 지침을 따르십시오. void add(char *variable_label, float value, char *context, unsigned long dot_timestamp_seconds, unsigned int dot_timestamp_millis)
add()를 사용하면 특정 데이터 소스로 전송될 관련 값, 컨텍스트 및 타임스탬프와 함께 점을 추가합니다.
중요: 최대 페이로드 길이는 700바이트입니다. 페이로드가 더 크면 제대로 전송되지 않습니다. setDebug(bool debug)
메소드를 호출하고 이에 참값을 전달하면 전송할 페이로드를 직렬 콘솔에서 볼 수 있습니다.
float get(const char* device_label, const char* variable_label)
변수에서 점의 마지막 값을 float로 반환합니다. IotProtocol getCloudProtocol()
std::map<int, float> tcpMap getMultipleValues(const char* deviceLabel, const char* variableLabels)
제공된 변수 레이블에 대해 검색된 값이 포함된 정렬된 맵 목록을 반환합니다. 값은 위치 0부터 시작하여 인덱스를 통해 액세스할 수 있으며 쉼표로 구분된 배열에 설정된 모든 변수 레이블에 매핑됩니다.
void addContext(char *key_label, char *key_value)
새로운 키-값 컨텍스트 키를 로컬 메모리에 추가합니다. 메서드 입력은 char 포인터여야 합니다. 이 방법을 사용하면 최대 10개의 키-값 쌍을 저장할 수 있습니다.
void getContext(char *context)
선택한 프로토콜에 따라 컨텍스트를 구축하고 이를 컨텍스트 char 포인터에 저장합니다.
void setDebug(bool debug);;
직렬 포트를 통해 디버그 메시지를 사용할 수 있도록 합니다.
bool send(const char* device_label, const char* device_name, PublishFlags flags);
PUBLIC
, PRIVATE
, WITH_ACK
, NO_ACK
]. 입자 웹훅 플래그.add() 메소드를 사용하여 추가된 모든 데이터를 보냅니다. 데이터가 전송된 경우 true를 반환합니다.
IotProtocol getCloudProtocol();
메시 게이트웨이에서 데이터를 전송하는 데 사용되는 실제 클라우드 프로토콜을 검색합니다.
예제 폴더를 참조하세요