Merge pull request #42 from ucloud/feature_modify_dev_model_sample
modify dev model sample same as extend sample
This commit is contained in:
commit
34e1be9660
|
@ -86,9 +86,28 @@ int property_post_cb(const char *request_id, const int ret_code){
|
||||||
return SUCCESS_RET;
|
return SUCCESS_RET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int g_set_temp_correct = 0;
|
||||||
int command_cb(const char *request_id, const char *identifier, const char *input, char *output){
|
int command_cb(const char *request_id, const char *identifier, const char *input, char *output){
|
||||||
LOG_INFO("command_cb; request_id: %s; identifier: %s; input: %s", request_id, identifier, input);
|
LOG_INFO("command_cb; request_id: %s; identifier: %s; input: %s", request_id, identifier, input);
|
||||||
HAL_Snprintf(output, 1000, "{\"result\":%d}", 1);
|
int temp = 0;
|
||||||
|
if((strlen(identifier) == strlen("set_temp_correction")) && (0 == strncmp(identifier, "set_temp_correction", strlen("set_temp_correction"))))
|
||||||
|
{
|
||||||
|
char *set_temp_correction_temp_correction = NULL;
|
||||||
|
set_temp_correction_temp_correction = LITE_json_value_of((char *)"temp_correction", (char *)input);
|
||||||
|
temp = atoi(set_temp_correction_temp_correction);
|
||||||
|
HAL_Free(set_temp_correction_temp_correction);
|
||||||
|
}
|
||||||
|
|
||||||
|
if((temp <= 5)
|
||||||
|
&& (temp >= -5))
|
||||||
|
{
|
||||||
|
g_set_temp_correct = temp;
|
||||||
|
HAL_Snprintf(output, 100, "\"effect_temp_correction\":%d, \"correction_result\":%d", g_set_temp_correct, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HAL_Snprintf(output, 100, "\"effect_temp_correction\":%d, \"correction_result\":%d", g_set_temp_correct, 1);
|
||||||
|
}
|
||||||
return SUCCESS_RET;
|
return SUCCESS_RET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,14 +163,22 @@ int main(int argc, char **argv)
|
||||||
IOT_DM_RegisterCallback(PROPERTY_SET , h_dm, property_set_cb);
|
IOT_DM_RegisterCallback(PROPERTY_SET , h_dm, property_set_cb);
|
||||||
IOT_DM_Yield(h_dm, 200);
|
IOT_DM_Yield(h_dm, 200);
|
||||||
|
|
||||||
|
char *property_payload = (char *)HAL_Malloc(100);
|
||||||
|
char *event_payload = (char *)HAL_Malloc(100);
|
||||||
for (i = 0; i < 20; i++) {
|
for (i = 0; i < 20; i++) {
|
||||||
IOT_DM_Property_Report(h_dm, PROPERTY_POST, i * 2, "\"volume\": {\"Value\":50}");
|
HAL_Snprintf(property_payload, 100, "\"humidity\": {\"Value\": %d}, \"temperature\": {\"Value\": %d}", i*5 + g_set_temp_correct, i*3);
|
||||||
IOT_DM_TriggerEvent(h_dm, i * 2 + 1, "low_power_alert", "\"power\": 5");
|
IOT_DM_Property_Report(h_dm, PROPERTY_POST, i * 2, property_payload);
|
||||||
|
if(i * 5 + g_set_temp_correct >= 80)
|
||||||
|
{
|
||||||
|
HAL_Snprintf(event_payload, 100, "\"temperature\": %d", i*5 + g_set_temp_correct);
|
||||||
|
IOT_DM_TriggerEvent(h_dm, i * 2 + 1, "high_temp", event_payload);
|
||||||
|
}
|
||||||
IOT_DM_Yield(h_dm, 200);
|
IOT_DM_Yield(h_dm, 200);
|
||||||
HAL_SleepMs(2000);
|
HAL_SleepMs(2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HAL_Free(property_payload);
|
||||||
|
HAL_Free(event_payload);
|
||||||
//等待属性设置及命令下发
|
//等待属性设置及命令下发
|
||||||
IOT_DM_Yield(h_dm, 60000);
|
IOT_DM_Yield(h_dm, 60000);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue