很多朋友对ESP8266的基础知识,怎么获取网络同步时间,北京时间不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。x;
很多朋友对ESP8266的基础知识,怎么获取网络同步时间,北京时间不是很了解,六月小编刚好整理了这方面的知识,今天就来带大家一探究竟。
x';//这里是你的路由器密码u8 cmdbuff[100];u8 *p=cmdbuff;NetWorkTime_TypeDef nwt;//结构FATFS fs 以节省网络时间;FRESULT fres;sderr=sderr;SystickInit(21);LedInit () ;KeyInit();UartInit(115200);UART3Init(115200);t=QuitTrans();printf('%d\r\n',t);EspSendCmd((u8*)'AT',(u8* )' OK',50);EspSendCmd((u8*)'AT+CWMODE=1',(u8*)'OK',50);EspSendCmd((u8*)'AT+RST',(u8*)'OK' ,50);//重置esp8266delay_ms(3000);EspSendCmd((u8*)'AT+CWMODE?',(u8*)'OK',50);sprintf((char*)p,'AT+CWJAP=\ '%s\',\'%s\'', ssid,password);//连接路由器//sprintf((char*)p,'AT+CWLAP');while(EspSendCmd(p,(u8 *) 'WIFI 获取IP',300)){;}while(EspSendCmd((u8*)'AT+CWJAP?',(u8*)'确定',50)){;}EspSendCmd((u8*)' AT+ CIPMUX?',(u8*)'确定',50);while(EspSendCmd((u8*)'AT+CIPSTART=?',(u8*)'确定',50)){;}GetNetWorkTime(nwt ,( u8*)'GMT',200);//获取网络时间printf('%d:%d:%d\r\n',nwt.hour,nwt.min,nwt.sec); //打印获得的网络时间LCDInit();LCDFill(0,0,100,100,0);while(1){t++;if(t%50==0){LED1=!LED1;}key_delay();}}获取网络时间的函数
u8 QuitTrans(){delay_ms(200);UART3Printf('+++');delay_ms(200);//必须加延迟,否则无法退出透传return EspSendCmd((u8*)'AT',( u8*) 'OK',50);//测试是否退出透传(AT命令退出才生效)}u8 GetNetWorkTime(NetWorkTime_TypeDef *nwt,u8 *resp,u16 overtime_10ms){u8 res=0xFF;u8 temp[100 ]={0};u8 *p=temp;u8 *pend;sprintf((char*)p,'AT+CIPSTART=\'%s\',\'%s\', 80','TCP',\'api.k780.com'); while(EspSendCmd((u8*)p,(u8*)'OK',50)) //连接网站{;}EspSendCmd((u8*)'AT+CIPMODE=1 ',(u8*)'OK ',50);//开启透传模式EspSendCmd((u8*)'AT+CIPSEND',(u8*)'OK',50);UART3Printf('http://api.k780.com:88 /?app=life.timeappkey=10003sign=b59bc3ef6191eb9f747dd4e83c99f2a4format=json');if(resp overtime_10ms){while(overtime_10ms--){delay_ms(10);if(g_uart3_rx_sta0x8000){g_uart3_rx_b uff[g_uart3_rx_sta0x 7ff]=0; printf( '%s\r\n',g_uart3_rx_buff);if(strstr((char*)g_uart3_rx_buff,(char*)resp)) //时间转换{pend=(u8*)strstr((char*)g_uart3_rx_buff, (char *)resp);p=挂起- 9;nwt-小时=((*p - 48)*10 + (*(p+1) - 48) + 8) % 24;nwt-min=((* (p +3) - 48)*10 + (*(p+4) - 48)) % 60;nwt-秒=((*(p+6) - 48)*10 + (*(p+7) - 48 )) % 60;res=0;g_uart3_rx_sta=0;break;}g_uart3_rx_sta=0;}}if(overtime_10ms==0){printf('发送cmd ot\r\n'); //用于测试}}QuitTrans ();EspSendCmd((u8*)'AT+CIPMODE=0',(u8*)'OK',50);//退出透传模式,返回普通模式EspSendCmd((u8) *)'AT+CIPCLOSE', (u8*)'OK',50);//关闭TCP连接return res;}连接网站成功
获取的网络时间
以上知识分享希望能够帮助到大家!
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们