今日热门

4

回答

在淘宝买了一个很便宜的esp8266开发板,准备接入机智云,应该从哪里入手呢,第一次使用

liulishiyi 2020-10-13 阅读:489

12

回答

用onenent开发吧,如果开发板温度数据超过一定值把数据发送到手机的微信上,怎么操作

yhj416606438 2019-01-23 阅读:1313

9

回答

机智云开发板 二维码丢失了,怎么绑定APP?

cgd 2018-10-18 阅读:1347

11

回答

机智云的联网和中国移动物联网麒麟座的联网有什么异同

96542f61c2353d8c 2018-09-30 阅读:1295

15

回答

​如题

haxxzyl 2018-08-30 阅读:6482

8

回答

机智云添加支持语音控制如何实现

辛迪可乐 2018-05-30 阅读:1347

2

回答

机智云短按控制继电器代码这样写上报正常吗​bool SWFlag; /**@} */ /**@name Key related definitions * @{ */ #define GPIO_KEY_NUM 1 ///< Defines the total number of key members #define KEY_0_IO_MUX PERIPHS_IO_MUX_GPIO0_U ///< ESP8266 GPIO function #define KEY_0_IO_NUM 0 ///< ESP8266 GPIO number #define KEY_0_IO_FUNC FUNC_GPIO0 ///< ESP8266 GPIO name LOCAL key_typedef_t * singleKey[GPIO_KEY_NUM]; ///< Defines a single key member array pointer LOCAL keys_typedef_t keys; ///< Defines the overall key module structure pointer /**@} */LOCAL void ICACHE_FLASH_ATTR key1ShortPress(void){ if(SWFlag) { GPIO_OUTPUT_SET(GPIO_ID_PIN(2) 1); SWFlag=0; currentDataPoint.valueswitchcontrol = 0; } else { GPIO_OUTPUT_SET(GPIO_ID_PIN(2) 0); SWFlag=1; currentDataPoint.valueswitchcontrol = 1; }}LOCAL void ICACHE_FLASH_ATTR keyInit(void){    singleKey[0] = keyInitOne(KEY_0_IO_NUM KEY_0_IO_MUX KEY_0_IO_FUNC                                key1LongPress key1ShortPress);    keys.singleKey = singleKey;    keyParaInit(&keys); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U FUNC_GPIO2);}static void gpio_interrup_1(void){    uint32_t gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS);    GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS gpio_status);    ETS_GPIO_INTR_DISABLE();    GIZWITS_LOG("inter interrup GPIO!\r\n");    if(currentDataPoint.valueswitchcontrol == 0x00)    {        currentDataPoint.valueswitchcontrol = 0;        GPIO_OUTPUT_SET(GPIO_ID_PIN(2) 1);    }    else    {        currentDataPoint.valueswitchcontrol == 0x01;        GPIO_OUTPUT_SET(GPIO_ID_PIN(2) 0);    }    ETS_GPIO_INTR_ENABLE();}void ICACHE_FLASH_ATTR gizwitsUserTask(os_event_t * events){    uint8_t i = 0;    uint8_t vchar = 0;    if(NULL == events)    {        GIZWITS_LOG("!!! gizwitsUserTask Error \n");    }    vchar = (uint8)(events->par);    switch(events->sig)    {    case SIG_UPGRADE_DATA:        gizwitsHandle((dataPoint_t *)&currentDataPoint);        break;    default:        GIZWITS_LOG("---error sig! ---\n");        break;    }}​​​

辛迪可乐 2018-05-15 阅读:1300

4

回答

机智云里面使用userQueueLen和userTaskQueue的作用是什么 设置多少比较好

辛迪可乐 2018-05-14 阅读:1114

3

回答

#include <stdio.h> #include <string.h> #include "gizwits_product.h" #include "driver/hal_key.h" /* LOCAL os_timer_t time_low_sz; ///< 用户定时器结构 //关闭定时器 //参数一:要关闭的定时器 os_timer_disarm(&time_low_sz); //设置定时器 //参数一:要设置的定时器;参数二:定时器到时间要执行的回调函数;参数三:回调函数的参数 os_timer_setfn(&time_low_sz (os_timer_func_t *)time_low NULL); //使能(启动)定时器 //参数一:要使能的定时器;参数二:定时时间(单位:ms);参数三:是否重复执行,即执行完1次 os_timer_arm(&time_low_sz 1000 1); //倒计时函数 void ICACHE_FLASH_ATTR time_low(void) { currentDataPoint.valuecountdown = time_data[2];//上报当前剩余时间 } */ /** 用户区域当前设备状态结构 */ dataPoint_t currentDataPoint; bool STA[5]={0}; //用于存储5个开关的状态 uint32_t time_data[5]={0};//用于存储定时数据 0.定时时 1.定时分 2.倒计时(分钟)3.定时开:ON 定时关关:OFF 4。需要定时的开关01234 _tm ntptimeStr;//时间结构体返回临时值 /**@name Gizwits 用户界面 * @{ */ /** * @brief 事件处理接口 * 描述: * 1. 用户可以自定义wifi模块状态的变化 * 2. 用户可以在事件处理逻辑中添加数据点,比如调用相关硬件外设操作界面。 * @param [in] info: 事件队列 * @param [in] data: 协议数据 * @param [in] len: 协议数据长度 * @return NULL * @ref gizwits_protocol.h */ int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info uint8_t *data uint32_t len) { uint8_t i = 0; dataPoint_t * dataPointPtr = (dataPoint_t *)data; moduleStatusInfo_t * wifiData = (moduleStatusInfo_t *)data; if((NULL == info) || (NULL == data)) { GIZWITS_LOG("!!! gizwitsEventProcess Error \n"); return -1; } for(i = 0; i < info->num; i++) { switch(info->event[i]) { case EVENT_sw1 : currentDataPoint.valuesw1 = dataPointPtr->valuesw1; GIZWITS_LOG("Evt: EVENT_sw1 %d \n" currentDataPoint.valuesw1); if(0x01 == currentDataPoint.valuesw1) { STA[0]=1;//用户处理 } else { STA[0]=0;//用户处理 } break; case EVENT_sw2 : currentDataPoint.valuesw2 = dataPointPtr->valuesw2; GIZWITS_LOG("Evt: EVENT_sw2 %d \n" currentDataPoint.valuesw2); if(0x01 == currentDataPoint.valuesw2) { STA[1]=1;//用户处理 } else { STA[1]=0;//用户处理 } break; case EVENT_sw3 : currentDataPoint.valuesw3 = dataPointPtr->valuesw3; GIZWITS_LOG("Evt: EVENT_sw3 %d \n" currentDataPoint.valuesw3); if(0x01 == currentDataPoint.valuesw3) { STA[2]=1;//用户处理 } else { STA[2]=0;//用户处理 } break; case EVENT_sw4 : currentDataPoint.valuesw4 = dataPointPtr->valuesw4; GIZWITS_LOG("Evt: EVENT_sw4 %d \n" currentDataPoint.valuesw4); if(0x01 == currentDataPoint.valuesw4) { STA[3]=1;//用户处理 } else { STA[3]=0;//用户处理 } break; case EVENT_ok : currentDataPoint.valueok = dataPointPtr->valueok; GIZWITS_LOG("Evt: EVENT_ok %d \n" currentDataPoint.valueok); if(0x01 == currentDataPoint.valueok) { STA[4]=0;//用户处理 } else { STA[4]=1;//用户处理 } break; case EVENT_sw: currentDataPoint.valuesw = dataPointPtr->valuesw; GIZWITS_LOG("Evt: EVENT_sw %d\n" currentDataPoint.valuesw); switch(currentDataPoint.valuesw) { case sw_VALUE0://开关1 time_data[4]=0;//用户处理 break; case sw_VALUE1://开关2 time_data[4]=1;//用户处理 break; case sw_VALUE2://开关3 time_data[4]=2;//用户处理 break; case sw_VALUE3://开关4 time_data[4]=3;//用户处理 break; case sw_VALUE4://所有开关 time_data[4]=4;//用户处理 break; default: break; } break; case EVENT_mode: currentDataPoint.valuemode = dataPointPtr->valuemode; GIZWITS_LOG("Evt: EVENT_mode %d\n" currentDataPoint.valuemode); switch(currentDataPoint.valuemode) { case mode_VALUE0: time_data[3]=1;//用户处理 break; case mode_VALUE1: time_data[3]=0;//用户处理 break; default: break; } break; case EVENT_hour: currentDataPoint.valuehour= dataPointPtr->valuehour; GIZWITS_LOG("Evt:EVENT_hour %d\n"currentDataPoint.valuehour); time_data[0]=currentDataPoint.valuehour;//用户处理 break; case EVENT_minute: currentDataPoint.valueminute= dataPointPtr->valueminute; GIZWITS_LOG("Evt:EVENT_minute %d\n"currentDataPoint.valueminute); time_data[1]=currentDataPoint.valueminute;//用户处理 break; case EVENT_countdown: currentDataPoint.valuecountdown= dataPointPtr->valuecountdown; GIZWITS_LOG("Evt:EVENT_countdown %d\n"currentDataPoint.valuecountdown); time_data[2]=currentDataPoint.valuecountdown * 60;//用户处理,转换成秒钟 break; case WIFI_SOFTAP://WIFI处于SOFTAP模式,热点模式,Access Point,提供无线接入服务,允许其它无线设备接入,提供数据访问,一般的无线路由/网桥工作在该模式下。AP和AP之间允许相互连接 Sta模式; break; case WIFI_AIRlink://WIFI处于AIRlink模式,广播模式 break; case WIFI_STATION://WIFI处于STATION模式,类似于无线终端,sta本身并不接受无线的接入,它可以连接到AP,一般无线网卡即工作在该模式。 break; case WIFI_CON_ROUTER://wifi连接路由器 GIZWITS_LOG("@@@@ connected router\n"); break; case WIFI_DISCON_ROUTER://WiFi断开路由器 GIZWITS_LOG("@@@@ disconnected router\n"); break; case WIFI_CON_M2M://WIFI连接M2M GIZWITS_LOG("@@@@ connected m2m\n"); setConnectM2MStatus(0x01); break; case WIFI_DISCON_M2M://WIFI断开M2M GIZWITS_LOG("@@@@ disconnected m2m\n"); setConnectM2MStatus(0x00); break; case WIFI_RSSI://wifi接收信号的强度 GIZWITS_LOG("@@@@ RSSI %d\n" wifiData->rssi); break; case TRANSPARENT_DATA://透明数据传输 GIZWITS_LOG("TRANSPARENT_DATA \n"); //用户处理 读取数据 [data] 大小 [len] break; case MODULE_INFO://模块信息 GIZWITS_LOG("MODULE INFO ...\n"); break; default: break; } } system_os_post(USER_TASK_PRIO_2 SIG_UPGRADE_DATA 0); return 0; } /** * 用户网络时间获取与数据处理 * 这里用户除了需要获取网络时间以外,还要创建相应的任务 * @参数 无 * @返回 无 */ void ICACHE_FLASH_ATTR getntpTimerFunc(void) { //倒计时缓存数据 bool swls1[2] = {0};//临时缓存倒计时 bool swls2[2] = {0};//临时缓存定时 uint32_t swls[4] = {0};//缓存需要设置的开关标志 /******************倒计时************************ ******倒计时处理定时器可以实现掉网情况下也能执行,还可****************** ******以通过网络时间判定,触发了之后保存现在时间,计算出****************** ******要相应的时间,然后判断当前时间是否达到了控制的时间****************** ******网络处理方法请自行参考上述流程写*************************/ if((time_data[2]!=0) && (STA[4]==1) && (swls1[0]==0)) { swls1[0]=1; swls1[1]=1; STA[4]=0;//确定开关也要进行清位上报 } if((time_data[2]!=0) && (swls1[0]==1))//如果倒计时值大于0而起OK开关按下,倒计时不创建多任务,创建多任务之后无法看到剩余时间 { if(swls1[1]==1) { swls[0]=time_data[4];//缓存要使用的开关标志 swls[1]=time_data[3];//缓存需要设置的开关标志 time_data[4]=0;//云端清位 time_data[3]=0;//云端清位 swls1[1]=0; } time_data[2]--;//由于此函数是1秒执行一次,所以每秒减1就行了 } else//倒计时结束了 { swls1[0]=0; //开关控制 switch(swls[0]) { case 0 : { if(swls[1]==0) STA[0]=0;//设置第一个开关的状态 else STA[0]=1;//设置第一个开关的状态 } break; case 1 : { if(swls[1]==0) STA[1]=0;//设置第二个开关的状态 else STA[1]=1;//设置第一个开关的状态 } break; case 2 : { if(swls[1]==0) STA[2]=0;//设置第三个开关的状态 else STA[2]=1;//设置第一个开关的状态 } break; case 3 : { if(swls[1]==0) STA[3]=0;//设置第四个开关的状态 else STA[3]=1;//设置第一个开关的状态 } break; case 4 : { if(swls[1]==0) //设置全部开关的状态 { STA[0]=0; STA[1]=0; STA[2]=0; STA[3]=0; } else { STA[0]=1; STA[1]=1; STA[2]=1; STA[3]=1; } } break; default: break; } } /******************倒计时处理结束************************/ /******************定时预约处理*************************/ /*currentDataPoint.valuehour = time_data[0]; currentDataPoint.valueminute = time_data[1];*/ gagentGetNTP(&ntptimeStr); os_printf("gagentntp secon: %d"ntptimeStr.second);//打印时间 if(((time_data[0] != 0) || (time_data[1] != 0)) && (STA[4]==1) && (swls2[0]==0)) { swls2[0]=1; swls2[1]=1; STA[4]=0;//确定开关也要进行清位上报 currentDataPoint.valuehour = 0;//云端清除 currentDataPoint.valueminute = 0;//云端清除 } if(((time_data[0] != 0) || (time_data[1] != 0)) && (swls2[0]==1) ) { if(swls2[1]==1) { swls[2]=time_data[4];//缓存要使用的开关标志 swls[3]=time_data[3];//缓存需要设置的开关标志 time_data[4]=0;//云端清位 time_data[3]=0;//云端清位 swls2[1]=0; } if(ntptimeStr.hour == time_data[0])//时 { if(ntptimeStr.minute == time_data[1])//分 { swls2[0]=0; //开关控制 switch(swls[0]) { case 0 : { if(swls[1]==0) STA[0]=0;//设置第一个开关的状态 else STA[0]=1;//设置第一个开关的状态 } break; case 1 : { if(swls[1]==0) STA[1]=0;//设置第二个开关的状态 else STA[1]=1;//设置第一个开关的状态 } break; case 2 : { if(swls[1]==0) STA[2]=0;//设置第三个开关的状态 else STA[2]=1;//设置第一个开关的状态 } break; case 3 : { if(swls[1]==0) STA[3]=0;//设置第四个开关的状态 else STA[3]=1;//设置第一个开关的状态 } break; case 4 : { if(swls[1]==0) //设置全部开关的状态 { STA[0]=0; STA[1]=0; STA[2]=0; STA[3]=0; } else { STA[0]=1; STA[1]=1; STA[2]=1; STA[3]=1; } } break; default: break; } } } } } /** * 用户数据采集 * 这里用户除了需要实现数据点采集以外的数据采集外,还可以自定义采集频率和设计数据滤波算法。 * @参数 无 * @返回 无 */ void ICACHE_FLASH_ATTR userHandle(void) { //GPIO开关控制,此处为低电平有效控制,若改为高电平,则不需要取反 GPIO_OUTPUT_SET(GPIO_ID_PIN(12) !STA[0]); GPIO_OUTPUT_SET(GPIO_ID_PIN(13) !STA[1]); GPIO_OUTPUT_SET(GPIO_ID_PIN(14) !STA[2]); GPIO_OUTPUT_SET(GPIO_ID_PIN(15) !STA[3]); //数据上报,可适当增加定时上报时间,节约芯片上传产生不必要的负荷 currentDataPoint.valuesw1 = STA[0]; currentDataPoint.valuesw2 = STA[1]; currentDataPoint.valuesw3 = STA[2]; currentDataPoint.valuesw4 = STA[3]; currentDataPoint.valueok = STA[4]; if(time_data[2]<60 && time_data[2]>0) currentDataPoint.valuecountdown =1;//不到1分钟按照1分钟计算 else currentDataPoint.valuecountdown = time_data[2]/60;//秒钟转换成分钟 system_os_post(USER_TASK_PRIO_2 SIG_UPGRADE_DATA 0); } /** * 数据点初始化功能 * 在函数中完成初始用户相关数据 * @参数 无 * @返回 无 * @note 开发人员可以在这个函数中添加一个数据点状态初始化值。 */ void ICACHE_FLASH_ATTR userInit(void) { gizMemset((uint8_t *)¤tDataPoint 0 sizeof(dataPoint_t)); /** 警告!!!因变量的初始化,必须在数据范围 **/ //以下数据点都不具备掉电存储的初始化 currentDataPoint.valuesw1 = 0; currentDataPoint.valuesw2 = 0; currentDataPoint.valuesw3 = 0; currentDataPoint.valuesw4 = 0; currentDataPoint.valueok = 0; currentDataPoint.valuesw = 0; currentDataPoint.valuemode = 0; currentDataPoint.valuehour = 0; currentDataPoint.valueminute = 0; }

辛迪可乐 2018-05-04 阅读:2255

2

回答

机智云定时预约可以不新建定时节点而直接在手机端APP实现吗

辛迪可乐 2018-04-30 阅读:1217

0

回答

下面代码定时器存在什么问题 然后加入星期选项/********************************************************** * @file user_main.c * @brief 程序入口文件 ***********************************************************/ #include "ets_sys.h" #include "osapi.h" #include "user_interface.h" #include "gagent_soc.h" #include "user_devicefind.h" #include "user_webserver.h" #include "gizwits_product.h" #include "driver/hal_key.h" #if ESP_PLATFORM #include "user_esp_platform.h" #endif #ifdef SERVER_SSL_ENABLE #include "ssl/cert.h" #include "ssl/private_key.h" #else #ifdef CLIENT_SSL_ENABLE unsigned char *default_certificate; unsigned int default_certificate_len = 0; unsigned char *default_private_key; unsigned int default_private_key_len = 0; #endif #endif /**@name 用户定时器相关参数 * @{ */ #define USER_TIME_MS 50 ///< 50毫秒时间 LOCAL os_timer_t userTimer; ///< 用户定时器结构 #define NTP_TIME_1000MS 1000 ///< 1000毫秒时间 LOCAL os_timer_t ntpTimer1000ms; ///< 用户定时器结构 /**@} */ /**@name 按键的相关定义 * @{ */ #define GPIO_KEY_NUM 4 ///< 定义按键成员的总数。 #define KEY_0_IO_MUX PERIPHS_IO_MUX_GPIO2_U ///< ESP8266 GPIO 功能 #define KEY_0_IO_NUM 2 ///< ESP8266 GPIO 数 #define KEY_0_IO_FUNC FUNC_GPIO2 ///< ESP8266 GPIO 名称 #define KEY_1_IO_MUX PERIPHS_IO_MUX_GPIO0_U ///< ESP8266 GPIO 功能 #define KEY_1_IO_NUM 0 ///< ESP8266 GPIO 数 #define KEY_1_IO_FUNC FUNC_GPIO0 ///< ESP8266 GPIO 名称 #define KEY_2_IO_MUX PERIPHS_IO_MUX_GPIO4_U ///< ESP8266 GPIO 功能 #define KEY_2_IO_NUM 4 ///< ESP8266 GPIO 数 #define KEY_2_IO_FUNC FUNC_GPIO4 ///< ESP8266 GPIO 名称 #define KEY_3_IO_MUX PERIPHS_IO_MUX_GPIO5_U ///< ESP8266 GPIO 功能 #define KEY_3_IO_NUM 5 ///< ESP8266 GPIO 数 #define KEY_3_IO_FUNC FUNC_GPIO5 ///< ESP8266 GPIO 名称 LOCAL key_typedef_t * singleKey[GPIO_KEY_NUM]; ///< 定义单个按键成员数组指针 LOCAL keys_typedef_t keys; ///< 定义总体按键模块结构指针。 /**@} */ /*key1按键短按处理*/ LOCAL void ICACHE_FLASH_ATTR key1ShortPress(void) { STA[1]=!STA[1]; } /*key1按键长按处理*/ LOCAL void ICACHE_FLASH_ATTR key1LongPress(void) { gizwitsSetMode(WIFI_SOFTAP_MODE); //gizwitsSetMode(WIFI_AIRlink_MODE); } /*key2按键短按处理*/ LOCAL void ICACHE_FLASH_ATTR key2ShortPress(void) { STA[2]=!STA[2]; } /* key2按键长按处理*/ LOCAL void ICACHE_FLASH_ATTR key2LongPress(void) { gizwitsSetMode(WIFI_SOFTAP_MODE); } /*key3按键短按处理*/ LOCAL void ICACHE_FLASH_ATTR key3ShortPress(void) { STA[3]=!STA[3]; } /*key3按键长按处理*/ LOCAL void ICACHE_FLASH_ATTR key3LongPress(void) { gizwitsSetMode(WIFI_SOFTAP_MODE); } //key4按键短按处理* LOCAL void ICACHE_FLASH_ATTR key4ShortPress(void) { STA[4]=!STA[4]; } //key4按键长按处理* LOCAL void ICACHE_FLASH_ATTR key4LongPress(void) { gizwitsSetMode(WIFI_SOFTAP_MODE); } /** * 按键初始化 * @参数 无 * @返回 无 */ LOCAL void ICACHE_FLASH_ATTR keyInit(void) { singleKey[0] = keyInitOne(KEY_0_IO_NUM KEY_0_IO_MUX KEY_0_IO_FUNC key1LongPress key1ShortPress); singleKey[1] = keyInitOne(KEY_1_IO_NUM KEY_1_IO_MUX KEY_1_IO_FUNC key2LongPress key2ShortPress); singleKey[2] = keyInitOne(KEY_2_IO_NUM KEY_2_IO_MUX KEY_2_IO_FUNC key3LongPress key3ShortPress); singleKey[3] = keyInitOne(KEY_3_IO_NUM KEY_3_IO_MUX KEY_3_IO_FUNC key4LongPress key4ShortPress); keys.singleKey = singleKey; keyParaInit(&keys); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U FUNC_GPIO12);//开关1 PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U FUNC_GPIO13);//开关2 PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U FUNC_GPIO14);//开关3 PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U FUNC_GPIO15);//开关4 } /** * @brief user_rf_cal_sector_set * 在Flash中使用第636扇区的(2544k ~ 2548k)存储rf_cal参数 * @参数 无 * @返回 无 */ uint32_t ICACHE_FLASH_ATTR user_rf_cal_sector_set() { return 636; } /** * @brief 程序的入口函数 * 在函数中完成与用户相关的初始化 * @参数 无 * @返回 无 */ void ICACHE_FLASH_ATTR user_init(void) { uint32_t system_free_size = 0; wifi_station_set_auto_connect(1); wifi_set_sleep_type(NONE_SLEEP_T);//设置无休眠模式 espconn_tcp_set_max_con(10); uart_init_3(9600115200); UART_SetPrintPort(1); GIZWITS_LOG( "---------------SDK version:%s--------------\n" system_get_sdk_version()); GIZWITS_LOG( "system_get_free_heap_size=%d\n"system_get_free_heap_size()); struct rst_info *rtc_info = system_get_rst_info(); GIZWITS_LOG( "reset reason: %x\n" rtc_info->reason); if (rtc_info->reason == REASON_WDT_RST || rtc_info->reason == REASON_EXCEPTION_RST || rtc_info->reason == REASON_SOFT_WDT_RST) { if (rtc_info->reason == REASON_EXCEPTION_RST) { GIZWITS_LOG("Fatal exception (%d):\n" rtc_info->exccause); } GIZWITS_LOG( "epc1=0x%08x epc2=0x%08x epc3=0x%08x excvaddr=0x%08x depc=0x%08x\n" rtc_info->epc1 rtc_info->epc2 rtc_info->epc3 rtc_info->excvaddr rtc_info->depc); } if (system_upgrade_userbin_check() == UPGRADE_FW_BIN1) { GIZWITS_LOG( "---UPGRADE_FW_BIN1---\n"); } else if (system_upgrade_userbin_check() == UPGRADE_FW_BIN2) { GIZWITS_LOG( "---UPGRADE_FW_BIN2---\n"); } keyInit(); userInit(); gizwitsInit(); //使用定时 os_timer_disarm(&userTimer); os_timer_setfn(&userTimer (os_timer_func_t *)userHandle NULL); os_timer_arm(&userTimer USER_TIME_MS 1); //定时获取网络时间以及处理函数 os_timer_disarm(&ntpTimer1000ms); os_timer_setfn(&ntpTimer1000ms (os_timer_func_t *)getntpTimerFunc NULL); os_timer_arm(&ntpTimer1000ms NTP_TIME_1000MS 1); GIZWITS_LOG("--- system_free_size=%d ---\n" system_get_free_heap_size()); }

辛迪可乐 2018-04-30 阅读:1304

1

回答

机智云SOC接入设置定时器使用星期如何设置

辛迪可乐 2018-04-28 阅读:1207

2

回答

机智云中KEY_LONG_TIMER是什么 设置3是代表什么

辛迪可乐 2018-04-27 阅读:998

3

回答

机智云云平台日志显示tcp_closed错误是什么原因

辛迪可乐 2018-04-27 阅读:1126

7

回答

手上买了一块GO3  MCU版本的   但是机智云的教程貌似前后不对啊  官方给的库无法配套网站生成的代码  即使是论坛里的也是几年前的老教程了  我该怎么办 

13060939415 2018-04-26 阅读:1194

10

回答

ESP8266使用SOC方式连接机智云后换MCU方式需要把ESP8266重新烧写AT固件吗

辛迪可乐 2018-04-22 阅读:1370

10

回答

机智云的安卓应用SDK如何编译

辛迪可乐 2018-04-17 阅读:1160

3

回答

机智云枚举功能如何修改代码实现多开关预约定时打开和关闭功能

辛迪可乐 2018-04-15 阅读:1328

2

回答

机智云SOC模式控制四路开关分别定时控制的事件控制如何写

辛迪可乐 2018-03-21 阅读:1397

5

回答

机智如何实现定时任务的上报

辛迪可乐 2018-03-19 阅读:1272
  • 帮助人数
  • 0
  • 获得赞数
  • 0
  • 一周积分
  • 0

问题达人换一批

本月问答

排名
用户名
问答积分
< >