int SensorData_Upload(char *dataPoint, void* value, unsigned char datatype) { int ret = 0; EdpPacket* update_pkg; switch (datatype) { default: case DATATYPE_INT: update_pkg = PacketSavedataInt(kTypeFullJson, SRC_DEVID, dataPoint, *(int*)value, 0, EDP_TOKEN); break; case DATATYPE_DOUBLE: update_pkg = PacketSavedataDouble(kTypeFullJson, SRC_DEVID, dataPoint, *(double*)value, 0, EDP_TOKEN); break; case DATATYPE_STRING: update_pkg = PacketSavedataString(kTypeFullJson, SRC_DEVID, dataPoint, (const char*)value, 0, EDP_TOKEN); break; } OSTimeDly(10); /* 发送转存数据到OneNet并转发到Dev2设备 */ ret = Socket_TCPClientSendData((char*)update_pkg->_data, update_pkg->_write_pos); if (ret <= 0) { log_info("Save and transmit full json data failed(ret:%d).\n", ret); } else { log_notice("Save and transmit full json data success.\n"); } DeleteBuffer(&update_pkg); return 0; }
/* * @brief EDP协议向Onenet上传湿度信息,数据点格式TYPE=3 */ void Save_HumToOneNet(void) { EdpPacket* send_pkg; uint16_t hum[1]; SHT20_read_user_reg(); mDelay(200);//延迟,设备没有那么快的响应时间,否则总线处理忙等待 SHT2x_MeasureHM(SHT20_Measurement_RH_NHM, hum); printf("%s %d hum:%d\n", __func__, __LINE__, (uint32_t)hum[0]); send_pkg = PacketSavedataInt(kTypeSimpleJsonWithoutTime, NULL, "hum", (uint32_t)hum[0], 0, NULL); DoSend(0, (const uint8_t *)send_pkg->_data, send_pkg->_write_pos); DeleteBuffer(&send_pkg); mDelay(1000); }