diff --git "a/board/TencentOS_tiny_EVB_G0/KEIL/mqtt_iot_explorer_tc_pm25/demo/PM2D5\347\251\272\346\260\224\350\264\250\351\207\217\347\233\221\346\265\213.json" "b/board/TencentOS_tiny_EVB_G0/KEIL/mqtt_iot_explorer_tc_pm25/demo/PM2D5\347\251\272\346\260\224\350\264\250\351\207\217\347\233\221\346\265\213.json" new file mode 100644 index 0000000000000000000000000000000000000000..c6dfa788dd2f7412bf0ab99cece5a18909f24983 --- /dev/null +++ "b/board/TencentOS_tiny_EVB_G0/KEIL/mqtt_iot_explorer_tc_pm25/demo/PM2D5\347\251\272\346\260\224\350\264\250\351\207\217\347\233\221\346\265\213.json" @@ -0,0 +1 @@ +{"version":"1.0","profile":{"ProductId":"XOEHGW66ZD","CategoryId":"22"},"properties":[{"id":"a","name":"PM1浓度_CF1","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"μ g/m3"},"required":false},{"id":"b","name":"PM2d5浓度_CF1","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"μ g/m3"},"required":false},{"id":"c","name":"PM10浓度_CF1","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"μ g/m3"},"required":false},{"id":"d","name":"PM1浓度","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"μ g/m3"},"required":false},{"id":"e","name":"PM2d5浓度","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"μ g/m3"},"required":false},{"id":"f","name":"PM10浓度","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"μ g/m3"},"required":false},{"id":"g","name":"颗粒物个数_0d3","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"个"},"required":false},{"id":"h","name":"颗粒物个数_0d5","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"个"},"required":false},{"id":"i","name":"颗粒物个数_1","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"个"},"required":false},{"id":"j","name":"颗粒物个数_2d5","desc":"","mode":"rw","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"个"},"required":false},{"id":"k","name":"颗粒物个数_5","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"个"},"required":false},{"id":"l","name":"颗粒物个数_10","desc":"","mode":"r","define":{"type":"int","min":"0","max":"65535","start":"0","step":"1","unit":"个"},"required":false},{"id":"m","name":"版本号","desc":"","mode":"r","define":{"type":"int","min":"0","max":"255","start":"0","step":"1","unit":""},"required":false},{"id":"n","name":"错误代码","desc":"","mode":"r","define":{"type":"int","min":"0","max":"255","start":"0","step":"1","unit":""},"required":false}],"events":[],"actions":[]} \ No newline at end of file diff --git a/board/TencentOS_tiny_EVB_G0/KEIL/mqtt_iot_explorer_tc_pm25/demo/mqtt_iot_explorer_tc_pm25_oled.c b/board/TencentOS_tiny_EVB_G0/KEIL/mqtt_iot_explorer_tc_pm25/demo/mqtt_iot_explorer_tc_pm25_oled.c index 380f7a813b7b0b86c0d3c372d5a6d0e9e982bc9b..70f60f6e908a25a32b468863f7aaa77c257ea5ee 100644 --- a/board/TencentOS_tiny_EVB_G0/KEIL/mqtt_iot_explorer_tc_pm25/demo/mqtt_iot_explorer_tc_pm25_oled.c +++ b/board/TencentOS_tiny_EVB_G0/KEIL/mqtt_iot_explorer_tc_pm25/demo/mqtt_iot_explorer_tc_pm25_oled.c @@ -5,31 +5,44 @@ #include "oled.h" #include "math.h" -#define WIFI_SSID "CMCC-Quq4" -#define WIFI_PASSWD "c66trb8d" -#define PRODUCT_ID "7WLPW5Z48Q" -#define DEVICE_NAME "dev001" -#define DEVICE_KEY "5SEZMc2+Ts1FMCwoU6hV6Q==" +#define WIFI_SSID "MYMi11" +#define WIFI_PASSWD "13975428888" +#define PRODUCT_ID "XOEHGW66ZD" +#define DEVICE_NAME "pm2d5001" +#define DEVICE_KEY "ucAiCMvMdafJ4xgdFLdhiw==" -#define REPORT_DATA_TEMPLATE1 "{\"method\":\"report\",\"clientToken\":\"%s\"," \ - "\"params\":{\"PM1_CF1\":%d," \ - "\"PM2d5_CF1\":%d," \ - "\"PM10_CF1\":%d," \ - "\"PM1\":%d," \ - "\"PM2d5\":%d," \ - "\"PM10\":%d" \ - "}}" +//#define REPORT_DATA_TEMPLATE1 "{\"method\":\"report\",\"clientToken\":\"%s\"," \ +// "\"params\":{\"PM1_CF1\":%d," \ +// "\"PM2d5_CF1\":%d," \ +// "\"PM10_CF1\":%d," \ +// "\"PM1\":%d," \ +// "\"PM2d5\":%d," \ +// "\"PM10\":%d," \ +// "\"particles_0d3\":%d," \ +// "\"particles_0d5\":%d," \ +// "\"particles_1\":%d," \ +// "\"particles_2d5\":%d," \ +// "\"particles_5\":%d," \ +// "\"particles_10\":%d," \ +// "\"version\":%d," \ +// "\"Error\":%d" \ +// "}}" -#define REPORT_DATA_TEMPLATE2 "{\"method\":\"report\",\"clientToken\":\"%s\"," \ - "\"params\":{" \ - "\"particles_0d3\":%d," \ - "\"particles_0d5\":%d," \ - "\"particles_1\":%d," \ - "\"particles_2d5\":%d," \ - "\"particles_5\":%d," \ - "\"particles_10\":%d," \ - "\"version\":%d," \ - "\"Error\":%d" \ +#define REPORT_DATA_TEMPLATE "{\"method\":\"report\",\"clientToken\":\"%s\"," \ + "\"params\":{\"a\":%d," \ + "\"b\":%d," \ + "\"c\":%d," \ + "\"d\":%d," \ + "\"e\":%d," \ + "\"f\":%d," \ + "\"g\":%d," \ + "\"h\":%d," \ + "\"i\":%d," \ + "\"j\":%d," \ + "\"k\":%d," \ + "\"l\":%d," \ + "\"m\":%d," \ + "\"n\":%d" \ "}}" void default_message_handler(mqtt_message_t* msg) @@ -156,39 +169,16 @@ void mqtt_demo_task(void) /* 显示PM2.5的值 */ OLED_Clear(); - sprintf(str, "PM1.0:%4d ug/m3", pm2d5_value.pm2d5_data.data4); + sprintf(str, "PM2.5:%4d ug/m3", pm2d5_value.pm2d5_data.data2); OLED_ShowString(0,0,(uint8_t*)str,16); /* 上报值 */ generate_client_token(client_token, sizeof(client_token)); memset(payload, 0, sizeof(payload)); - snprintf(payload, sizeof(payload), REPORT_DATA_TEMPLATE1, client_token, + snprintf(payload, sizeof(payload), REPORT_DATA_TEMPLATE, client_token, pm2d5_value.pm2d5_data.data1, pm2d5_value.pm2d5_data.data2, pm2d5_value.pm2d5_data.data3, pm2d5_value.pm2d5_data.data4, - pm2d5_value.pm2d5_data.data5, pm2d5_value.pm2d5_data.data6); - - if (tos_tf_module_mqtt_publ(report_topic_name, QOS0, payload) != 0) { - report_error_count++; - printf("module mqtt publ fail, count: %d\n", report_error_count); - sprintf(str, "1# report fail"); - OLED_ShowString(0,2,(uint8_t*)str,16); - } else { - report_error_count = 0; - printf("module mqtt publ success\n"); - sprintf(str, "1# report ok"); - OLED_ShowString(0,2,(uint8_t*)str,16); - } - - tos_sleep_ms(5000); - - OLED_Clear(); - sprintf(str, "PM2.5:%4d ug/m3", pm2d5_value.pm2d5_data.data5); - OLED_ShowString(0,0,(uint8_t*)str,16); - - /* 上报值 */ - generate_client_token(client_token, sizeof(client_token)); - memset(payload, 0, sizeof(payload)); - snprintf(payload, sizeof(payload), REPORT_DATA_TEMPLATE2, client_token, + pm2d5_value.pm2d5_data.data5, pm2d5_value.pm2d5_data.data6, pm2d5_value.pm2d5_data.data7, pm2d5_value.pm2d5_data.data8, pm2d5_value.pm2d5_data.data9, pm2d5_value.pm2d5_data.data10, pm2d5_value.pm2d5_data.data11, pm2d5_value.pm2d5_data.data12, @@ -197,26 +187,23 @@ void mqtt_demo_task(void) if (tos_tf_module_mqtt_publ(report_topic_name, QOS0, payload) != 0) { report_error_count++; printf("module mqtt publ fail, count: %d\n", report_error_count); - sprintf(str, "2# report fail"); + sprintf(str, "# report fail"); OLED_ShowString(0,2,(uint8_t*)str,16); } else { report_error_count = 0; printf("module mqtt publ success\n"); - sprintf(str, "2# report ok"); + sprintf(str, "# report ok"); OLED_ShowString(0,2,(uint8_t*)str,16); } - if (report_error_count >= 6) { - HAL_NVIC_SystemReset(); - } - tos_sleep_ms(5000); + } } void application_entry(void *arg) { - char *str = "TencentOS-tiny"; + char *str = "TencentOS-Tiny"; /* 初始化OLED */ OLED_Init();