Esempio n. 1
0
	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);
}