diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/ali_device.c b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/ali_device.c index 3994266..ee9f79d 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/ali_device.c +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/ali_device.c @@ -42,7 +42,7 @@ extern int HAL_GetDeviceSecret(char device_secret[IOTX_DEVICE_SECRET_LEN + 1]); extern int HAL_SetDeviceSecret(char* device_secret); extern int hum_threshold; extern int tem_threshold; -extern int time_alarm; +extern char time_alarm[]; typedef struct { const char *topic_filter; @@ -182,7 +182,7 @@ static void ali_mqtt_rgb_ctrl_msg_arrive (void *pcontext, void *handle, iotx_mqt rgb_red->valueint,rgb_green->valueint,rgb_blue->valueint,humidity->valueint,temperatyre->valueint,time->valuestring ); hum_threshold = humidity->valueint; tem_threshold= temperatyre->valueint; - time_alarm = atoi(time->valuestring); + strncpy(time_alarm, time->valuestring,strlen(time->valuestring)); if(rgb_red->valueint){ rt_pin_write(LED_RED_PIN, PIN_LOW); } @@ -300,7 +300,7 @@ static void mqtt_period_task() cJSON_AddItemToObject(root, "params", js_params); cJSON_AddNumberToObject(js_params, "humidity", sht30_device->humidity); cJSON_AddNumberToObject(js_params, "temperature", sht30_device->temperature); - cJSON_AddNumberToObject(js_params, "airquality", rt_pin_read(MQ135_PIN)); + cJSON_AddNumberToObject(js_params, "airquality", 0); cJSON_AddStringToObject(root, "method", "thing.event.property.post"); char *msg_pub = cJSON_PrintUnformatted(root); if (msg_pub) @@ -407,7 +407,7 @@ int ali_mqtt_init(void) { rt_thread_t tid; - tid = rt_thread_create("ali.main", mqtt_thread_main_thread, RT_NULL, 6 * 1024, RT_THREAD_PRIORITY_MAX / 2, 10); + tid = rt_thread_create("ali.main", mqtt_thread_main_thread, RT_NULL, 8 * 1024, RT_THREAD_PRIORITY_MAX / 2, 10); if (tid != RT_NULL) rt_thread_startup(tid); return 0; diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/uart_Alarm.c b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/uart_Alarm.c index 142d714..d0210e2 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/uart_Alarm.c +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/uart_Alarm.c @@ -9,21 +9,24 @@ #include #include #include +#include #include #include #define SAMPLE_UART_NAME "uart2" static rt_device_t serial; -char str[] = "你好!\r\n"; -char str1[] = "humidity alarm!\r\n"; -char str2[] = "temperature alarm!\r\n"; -char str3[] = "MQ135 alarm!!\r\n"; +char str[] = "你好\r\n"; +char str1[] = "湿度大\r\n"; +char str2[] = "高温\r\n"; +char str3[] = "开窗户\r\n"; +char str4[] = "起床了\r\n"; struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; /* 配置参数 */ extern sht3x_device_t sht3x_device; int hum_threshold=30; int tem_threshold=60; -int time_alarm = 0; +char time_alarm[8]; +char time_setalarm[8]; /* 接收数据回调函数*/ static rt_err_t uart_input(rt_device_t dev, rt_size_t size) { @@ -32,9 +35,21 @@ static rt_err_t uart_input(rt_device_t dev, rt_size_t size) static void serial_thread_entry(void *parameter) { + time_t now; /* 保存获取的当前时间值 */ while (1) { + /* 获取时间 */ + now = time(RT_NULL); + strncpy(time_setalarm,ctime(&now)+11,5); + rt_kprintf("time_setalarm = %s\r\n",time_setalarm); + if (strcmp(time_alarm, time_setalarm) == 0) + { + /* 发送字符串 */ + rt_device_write(serial, 0, str4, (sizeof(str4) - 1)); + rt_kprintf("time alarm!\r\n"); + } + if(sht3x_device->humidity > hum_threshold) { /* 发送字符串 */ @@ -57,7 +72,7 @@ static void serial_thread_entry(void *parameter) rt_kprintf("MQ135 alarm!\r\n"); } } - rt_kprintf("hum_threshold = %d,tem_threshold=%d,time_alarm = %d\r\n",hum_threshold,tem_threshold,time_alarm); + rt_kprintf("hum_threshold = %d,tem_threshold=%d,time_alarm = %s\r\n",hum_threshold,tem_threshold,time_alarm); rt_thread_mdelay(5000); } } diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.c b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.c index d7874cd..12196fd 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.c +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.c @@ -27,7 +27,7 @@ char *gfxvalue; #define URL_LEN_MAX 2048 #define GET_LOCAL_URI "http://api.seniverse.com/v3/weather/daily.json?key=S97hL3kj6EbnjEmyC&location=%s&language=zh-Hans&unit=c&start=0&days=5" -#define LOCAL_CITY "luoyang" +#define LOCAL_CITY "tianshui" static weather_t gfx_weather[3]; @@ -84,52 +84,52 @@ static void weather_data_parse(char* data) if((list = cJSON_GetObjectItem(item,"date")) != NULL) { rt_kprintf("date: %s\r\n",list->valuestring); - gfx_weather[i].date = list->valuestring; + strncpy(gfx_weather[i].date, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"text_day")) != NULL) { rt_kprintf("text_day: %s\r\n",list->valuestring); - gfx_weather[i].text_day = list->valuestring; + strncpy(gfx_weather[i].text_day, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"code_day")) != NULL) { rt_kprintf("code_day: %s\r\n",list->valuestring); - gfx_weather[i].code_day = list->valuestring; + strncpy(gfx_weather[i].code_day, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"text_night")) != NULL) { rt_kprintf("text_night: %s\r\n",list->valuestring); - gfx_weather[i].text_night = list->valuestring; + strncpy(gfx_weather[i].text_night, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"high")) != NULL) { rt_kprintf("high: %s\r\n",list->valuestring); - gfx_weather[i].high = list->valuestring; + strncpy(gfx_weather[i].high, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"low")) != NULL) { rt_kprintf("low: %s\r\n",list->valuestring); - gfx_weather[i].low = list->valuestring; + strncpy(gfx_weather[i].low, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"wind_direction")) != NULL) { rt_kprintf("wind_direction: %s\r\n",list->valuestring); - gfx_weather[i].wind_direction = list->valuestring; + strncpy(gfx_weather[i].wind_direction, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"wind_speed")) != NULL) { rt_kprintf("wind_speed: %s\r\n",list->valuestring); - gfx_weather[i].wind_speed = list->valuestring; + strncpy(gfx_weather[i].wind_speed, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"rainfall")) != NULL) { rt_kprintf("rainfall: %s\r\n",list->valuestring); - gfx_weather[i].rainfall = list->valuestring; + strncpy(gfx_weather[i].rainfall, list->valuestring,strlen(list->valuestring)); } if((list = cJSON_GetObjectItem(item,"humidity")) != NULL) { rt_kprintf("humidity: %s\r\n",list->valuestring); - gfx_weather[i].humidity = list->valuestring; + strncpy(gfx_weather[i].humidity, list->valuestring,strlen(list->valuestring)); } rt_kprintf("\n"); } diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.h b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.h index 0440655..7a2444f 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.h +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/applications/weather_httpclient.h @@ -2,16 +2,16 @@ #define __WEATHER_H_ #include typedef struct weather { - char *date; - char *text_day; - char *code_day; - char *text_night; - char *high; - char *low; - char *wind_direction; - char *wind_speed; - char *rainfall; - char *humidity; + char date[8]; + char text_day[8]; + char code_day[8]; + char text_night[8]; + char high[8]; + char low[8]; + char wind_direction[8]; + char wind_speed[8]; + char rainfall[8]; + char humidity[8]; } weather_t; diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/assets/texts/texts.xlsx b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/assets/texts/texts.xlsx index 9160a35..aaf41b0 100644 Binary files a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/assets/texts/texts.xlsx and b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/assets/texts/texts.xlsx differ diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/include/gui_generated/main_screen/mainViewBase.hpp b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/include/gui_generated/main_screen/mainViewBase.hpp index e217ab6..794230e 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/include/gui_generated/main_screen/mainViewBase.hpp +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/include/gui_generated/main_screen/mainViewBase.hpp @@ -20,6 +20,7 @@ public: mainViewBase(); virtual ~mainViewBase() {} virtual void setupScreen(); + virtual void handleKeyEvent(uint8_t key); protected: FrontendApplication& application() { diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/src/main_screen/mainViewBase.cpp b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/src/main_screen/mainViewBase.cpp index 938c1d8..14345ca 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/src/main_screen/mainViewBase.cpp +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/gui_generated/src/main_screen/mainViewBase.cpp @@ -199,3 +199,20 @@ void mainViewBase::setupScreen() { } + +//Handles when a key is pressed +void mainViewBase::handleKeyEvent(uint8_t key) +{ + if(0 == key) + { + //Interaction1 + //When hardware button 0 clicked change screen to Screensaver + //Go to Screensaver with no screen transition + application().gotoScreensaverScreenNoTransition(); + + //Interaction2 + //When hardware button 0 clicked change screen to set + //Go to set with screen transition towards East + application().gotosetScreenSlideTransitionEast(); + } +} diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/cache/TextsCpp.cache b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/cache/TextsCpp.cache index ccd972a..69c318f 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/cache/TextsCpp.cache +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/cache/TextsCpp.cache @@ -1 +1 @@ -{"remap":"yes","languages":["Gb"],"characters":[2,47,2,8451,0,48,48,48,48,45,48,48,45,48,48,0,2,37,0,2,0,22478,24066,58,27931,38451,0,48,48,46,48,32,0,48,48,46,48,0,28287,24230,38408,20540,0,28201,24230,38408,20540,0,48,48,48,0,83,117,110,0,21518,22825,0,40644,28783,0,32418,28783,0,32511,28783,0,26126,22825,0,20170,22825,0,20248,0]} \ No newline at end of file +{"remap":"yes","languages":["Gb"],"characters":[2,47,2,8451,0,48,48,48,48,45,48,48,45,48,48,0,2,37,0,2,0,22478,24066,58,22825,27700,0,48,48,46,48,32,0,48,48,46,48,0,28287,24230,38408,20540,0,28201,24230,38408,20540,0,48,48,48,0,83,117,110,0,21518,22825,0,40644,28783,0,32418,28783,0,32511,28783,0,26126,22825,0,20170,22825,0,20248,0]} \ No newline at end of file diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/src/Texts.cpp b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/src/Texts.cpp index a1db527..80a8b87 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/src/Texts.cpp +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/board/CubeMX_Config/Src/generated/texts/src/Texts.cpp @@ -24,7 +24,7 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA 0x30, 0x30, 0x30, 0x30, 0x2d, 0x30, 0x30, 0x2d, 0x30, 0x30, 0x0, // @5 "0000-00-00" 0x2, 0x25, 0x0, // @16 "<>%" 0x2, 0x0, // @19 "<>" - 0x57ce, 0x5e02, 0x3a, 0x6d1b, 0x9633, 0x0, // @21 "??:??" + 0x57ce, 0x5e02, 0x3a, 0x5929, 0x6c34, 0x0, // @21 "??:??" 0x30, 0x30, 0x2e, 0x30, 0x20, 0x0, // @27 "00.0 " 0x30, 0x30, 0x2e, 0x30, 0x0, // @33 "00.0" 0x6e7f, 0x5ea6, 0x9608, 0x503c, 0x0, // @38 "????" diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvoptx b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvoptx index b3976f8..8f585fc 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvoptx +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvoptx @@ -459,7 +459,7 @@ 0 0 0 - .\applications\uart_Alarm.c + applications\uart_Alarm.c uart_Alarm.c 0 0 @@ -468,7 +468,7 @@ Drivers - 0 + 1 0 0 0 @@ -620,7 +620,7 @@ TouchGFX_app - 1 + 0 0 0 0 diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvprojx b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvprojx index 34f7010..0a25054 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvprojx +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/project.uvprojx @@ -495,7 +495,7 @@ uart_Alarm.c 1 - .\applications\uart_Alarm.c + applications\uart_Alarm.c diff --git a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/rtconfig.h b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/rtconfig.h index 383df57..b12f0aa 100644 --- a/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/rtconfig.h +++ b/demo/3_STM32F767_RTThread_TouchGFX/5_rtthread_TouchGFX/stm32f767-fire-challenger/rtconfig.h @@ -195,8 +195,8 @@ #define AT_DEVICE_USING_ESP8266 #define AT_DEVICE_ESP8266_INIT_ASYN #define AT_DEVICE_ESP8266_SAMPLE -#define ESP8266_SAMPLE_WIFI_SSID "xgld1" -#define ESP8266_SAMPLE_WIFI_PASSWORD "xgld64627816" +#define ESP8266_SAMPLE_WIFI_SSID "ChinaNet-ssssss" +#define ESP8266_SAMPLE_WIFI_PASSWORD "SQHWLK9394" #define ESP8266_SAMPLE_CLIENT_NAME "uart3" #define ESP8266_SAMPLE_RECV_BUFF_LEN 512 #define PKG_USING_AT_DEVICE_LATEST_VERSION