色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ESP8266的基礎(chǔ)知識(shí),怎么獲取網(wǎng)絡(luò)同步時(shí)間(北京時(shí)間)

嵌入式單片機(jī) ? 來源:未知 ? 作者:李倩 ? 2018-05-09 14:33 ? 次閱讀

本文需要讀者有一點(diǎn)ESP8266的基礎(chǔ)知識(shí),比如ESP8266的模式設(shè)置,AP連接,聯(lián)網(wǎng)。

1.提供網(wǎng)絡(luò)時(shí)間的網(wǎng)站

要想獲取網(wǎng)絡(luò)時(shí)間首先要有提供網(wǎng)絡(luò)時(shí)間的網(wǎng)站,免費(fèi)提供網(wǎng)絡(luò)時(shí)間的網(wǎng)站有很多,

這里以http://api.k780.com為例子獲取網(wǎng)絡(luò)時(shí)間。

2.ESP8266的工作模式

ESP8266的工作模式設(shè)置為:STA。傳輸協(xié)議選擇TCP,配置為Client(客戶端)。

工作的方式是ESP8266連接到一個(gè)可以連上Internet的路由器,通過這個(gè)路由器連接到Internet,

訪問http://api.k780.com以獲取網(wǎng)絡(luò)時(shí)間。

3.從http://api.k780.com獲取的數(shù)據(jù)中提取時(shí)間

先來看一下這個(gè)網(wǎng)站給ESP8266提供的數(shù)據(jù)是什么。

400 B<a href="https://bbs.elecfans.com/zhuti_1472_1.html" target="_blank"><u>ad</u></a> Request

400 Bad Request


nginx

Apr 2018 09:11:18 GMT

Content-Type: text/html

Content-Length: 166

Connection: close

從這些數(shù)據(jù)中可以看出紅色字體的就是我們想要的數(shù)據(jù)。而且這個(gè)時(shí)間是中央時(shí)區(qū)的時(shí)間,

要轉(zhuǎn)換成北京時(shí)間需要+8,以上面的時(shí)間為例子09:11:18 等于北京時(shí)間17:11:18。

提取的方法是利用strstr函數(shù)找到GMT的位置,然后將指針調(diào)整到時(shí)間的十位數(shù)字上,接著一個(gè)

獲取時(shí)間的ascll碼然后轉(zhuǎn)換成數(shù)字,再轉(zhuǎn)換成北京時(shí)間。

獲取網(wǎng)站數(shù)據(jù)的方法是:開啟透傳模式后,發(fā)送"http://api.k780.com:88/?app=life.time&appkey=10003

&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"。

M4平臺(tái)上的代碼實(shí)現(xiàn)

主函數(shù)

int main()
{
SDErrEnum_Typ sderr;
u32 t = 0;
u16 i = 0;
//u16 *pgbk = (u16*)g_sdcard_rcv_send_buff_5k;
u8 *ssid = (u8*)"SP3-20171119FAU-72970";//這里是你路由器的SSID(名字)
u8 *password = (u8*)"xxxxxx";//這里是你的路由器密碼
u8 cmdbuff[100];
u8 *p = cmdbuff;
NetWorkTime_TypeDef nwt;//保存網(wǎng)絡(luò)時(shí)間的結(jié)構(gòu)體
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);//復(fù)位esp8266
delay_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 GOT IP",300))
{
;
}
while(EspSendCmd((u8*)"AT+CWJAP?",(u8*)"OK",50))
{
;
}
EspSendCmd((u8*)"AT+CIPMUX?",(u8*)"OK",50);
while(EspSendCmd((u8*)"AT+CIPSTART=?",(u8*)"OK",50))
{
;
}
GetNetWorkTime(&nwt,(u8*)"GMT",200);//獲取網(wǎng)絡(luò)時(shí)間
printf("%d:%d:%d\r\n",nwt.hour,nwt.min,nwt.sec); //打印獲取到的網(wǎng)絡(luò)時(shí)間
LCDInit();
LCDFill(0,0,100,100,0);
while(1)
{
t++;
if(t%50 == 0)
{
LED1 = !LED1;
}
key_delay();
}
}

獲取網(wǎng)絡(luò)時(shí)間的函數(shù)

u8 QuitTrans()
{
delay_ms(200);
UART3Printf("+++");
delay_ms(200);//必須加延時(shí)否則無法退出透傳
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)) //連接網(wǎng)站
{
;
}
EspSendCmd((u8*)"AT+CIPMODE=1",(u8*)"OK",50);//開啟透傳模式
EspSendCmd((u8*)"AT+CIPSEND",(u8*)"OK",50);
UART3Printf("http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json");
if(resp && overtime_10ms)
{
while(overtime_10ms--)
{
delay_ms(10);
if(g_uart3_rx_sta & 0x8000)
{
g_uart3_rx_buff[g_uart3_rx_sta & 0x7ff] = 0;
printf("%s\r\n",g_uart3_rx_buff);
if(strstr((char*)g_uart3_rx_buff,(char*)resp)) //時(shí)間轉(zhuǎn)換
{
pend = (u8*)strstr((char*)g_uart3_rx_buff,(char*)resp);
p = pend - 9;
nwt->hour = ((*p - 48)*10 + (*(p+1) - 48) + 8) % 24;
nwt->min = ((*(p+3) - 48)*10 + (*(p+4) - 48)) % 60;
nwt->sec = ((*(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("send cmd ot\r\n"); //測試用
}
}
QuitTrans();
EspSendCmd((u8*)"AT+CIPMODE=0",(u8*)"OK",50);//退出透傳模式回到正常模式
EspSendCmd((u8*)"AT+CIPCLOSE",(u8*)"OK",50);//關(guān)閉TCP連接
return res;
}

連接網(wǎng)站成功

獲取到的網(wǎng)絡(luò)時(shí)間

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7553

    瀏覽量

    88731
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    44964

原文標(biāo)題:利用ESP8266獲取網(wǎng)絡(luò)同步時(shí)間(北京時(shí)間)

文章出處:【微信號(hào):qrsworld,微信公眾號(hào):嵌入式單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ESP8266簡易WIFI天氣時(shí)鐘

    本篇介紹了http獲取網(wǎng)絡(luò)天氣的基本原理,并通過實(shí)踐,使用ESP8266連網(wǎng)獲取網(wǎng)絡(luò)天氣和網(wǎng)絡(luò)
    的頭像 發(fā)表于 06-06 09:31 ?7499次閱讀
    <b class='flag-5'>ESP8266</b>簡易WIFI天氣時(shí)鐘

    如何利用STM32+ESP8266獲取北京時(shí)間

    如何利用STM32+ESP8266獲取北京時(shí)間呢?如何使用GET B站的服務(wù)器對(duì)其進(jìn)行測試呢?
    發(fā)表于 12-02 06:26

    請(qǐng)問STM32+ESP8266如何獲取網(wǎng)絡(luò)時(shí)間

    請(qǐng)問STM32+ESP8266如何獲取網(wǎng)絡(luò)時(shí)間
    發(fā)表于 01-19 06:15

    ESP8266獲取網(wǎng)絡(luò)時(shí)間的方法

    ESP8266獲取網(wǎng)絡(luò)時(shí)間1、注意事項(xiàng):本文用到了我自己的阿里云服務(wù)器,請(qǐng)各位使用的時(shí)候頻率稍微低一點(diǎn),不然壓力很大哈。2、登錄可以用esp8266
    發(fā)表于 01-25 07:17

    ESP8266使用AT指令獲取網(wǎng)絡(luò)時(shí)間的步驟

    再優(yōu)化一下,恰巧有一個(gè)正在吃灰的裝了AT固件庫的esp8266,可以讓stm32去獲取網(wǎng)絡(luò)時(shí)鐘從而校正本地時(shí)間網(wǎng)絡(luò)時(shí)鐘用淘寶的API,它返
    發(fā)表于 08-26 15:27

    esp8266如何獲取上傳固件的日期和時(shí)間

    用每個(gè)esp8266固件都是*.bin文件,如果我沒理解錯(cuò)的話。每個(gè)文件都有創(chuàng)建時(shí)間。問題是 - esp8266 是否存儲(chǔ)固件的日期和時(shí)間,通過 OTA(或更新)上傳,是否有任何 Ar
    發(fā)表于 02-22 06:05

    使用STM32和ESP8266獲取網(wǎng)絡(luò)天氣的源代碼程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32和ESP8266獲取網(wǎng)絡(luò)天氣的源代碼程序免費(fèi)下載。
    發(fā)表于 01-18 08:00 ?12次下載
    使用STM32和<b class='flag-5'>ESP8266</b><b class='flag-5'>獲取</b><b class='flag-5'>網(wǎng)絡(luò)</b>天氣的源代碼程序免費(fèi)下載

    正點(diǎn)原子ESP8266獲取網(wǎng)絡(luò)天氣適配戰(zhàn)艦V3

    正點(diǎn)原子ESP8266獲取網(wǎng)絡(luò)天氣適配戰(zhàn)艦V3
    發(fā)表于 04-06 14:36 ?25次下載
    正點(diǎn)原子<b class='flag-5'>ESP8266</b><b class='flag-5'>獲取</b><b class='flag-5'>網(wǎng)絡(luò)</b>天氣適配戰(zhàn)艦V3

    基于STM32的ESP8266天氣時(shí)鐘(2)--------MCU獲取天氣數(shù)據(jù)

    stm32通過ESP8266模塊獲取天氣,時(shí)間
    發(fā)表于 11-18 18:36 ?38次下載
    基于STM32的<b class='flag-5'>ESP8266</b>天氣時(shí)鐘(2)--------MCU<b class='flag-5'>獲取</b>天氣數(shù)據(jù)

    ESP8266獲取網(wǎng)絡(luò)時(shí)間獲取天氣

    ESP8266獲取網(wǎng)絡(luò)時(shí)間1、注意事項(xiàng):本文用到了我自己的阿里云服務(wù)器,請(qǐng)各位使用的時(shí)候頻率稍微低一點(diǎn),不然壓力很大哈。2、登錄可以用esp8266
    發(fā)表于 11-30 16:21 ?12次下載
    <b class='flag-5'>ESP8266</b><b class='flag-5'>獲取</b><b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>時(shí)間</b>、<b class='flag-5'>獲取</b>天氣

    使用ESP8266從NTP服務(wù)器獲取時(shí)間并在OLED顯示器上顯示

    在本教程中,我們將使用 ESP8266 NodeMCU 從 NTP 服務(wù)器獲取當(dāng)前時(shí)間和日期,并將其顯示在 OLED 顯示屏上。
    的頭像 發(fā)表于 09-01 16:09 ?1.9w次閱讀
    使用<b class='flag-5'>ESP8266</b>從NTP服務(wù)器<b class='flag-5'>獲取</b><b class='flag-5'>時(shí)間</b>并在OLED顯示器上顯示

    閃爍的LED和低代碼:Arduino/ESP8266和Hackeet基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《閃爍的LED和低代碼:Arduino/ESP8266和Hackeet基礎(chǔ)知識(shí).zip》資料免費(fèi)下載
    發(fā)表于 12-12 10:46 ?0次下載
    閃爍的LED和低代碼:Arduino/<b class='flag-5'>ESP8266</b>和Hackeet<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    使用ESP8266基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《使用ESP8266基礎(chǔ)知識(shí).zip》資料免費(fèi)下載
    發(fā)表于 02-07 14:21 ?4次下載
    使用<b class='flag-5'>ESP8266</b>的<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    使用SNTP協(xié)議獲取ESP8266網(wǎng)絡(luò)時(shí)間

    NTP是網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol),用來同步網(wǎng)絡(luò)設(shè)備(如PC、手機(jī))的時(shí)間的協(xié)議
    的頭像 發(fā)表于 04-18 15:07 ?1889次閱讀
    使用SNTP協(xié)議<b class='flag-5'>獲取</b><b class='flag-5'>ESP8266</b><b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>時(shí)間</b>

    使用ESP8266 OLED和Visuino從NIST TIME服務(wù)器獲取日期和時(shí)間

    電子發(fā)燒友網(wǎng)站提供《使用ESP8266 OLED和Visuino從NIST TIME服務(wù)器獲取日期和時(shí)間.zip》資料免費(fèi)下載
    發(fā)表于 06-28 09:55 ?0次下載
    使用<b class='flag-5'>ESP8266</b> OLED和Visuino從NIST TIME服務(wù)器<b class='flag-5'>獲取</b>日期和<b class='flag-5'>時(shí)間</b>
    主站蜘蛛池模板: 三级黄色网| 免费人妻AV无码专区五月| 欧美另类摘花hd| 亚洲无线码一区在线观看| 动漫成年美女黄漫网站| 男人天堂黄色| 伊人国产视频| 果冻传媒我的女老板| 色欲AV色欲AV久久麻豆| 99久久亚洲| 久久精品国产亚洲精品2020| 小莹的性荡生活| 国产成人在线视频免费观看| 欧美日韩在线成人看片a| 6080伦理久久亚洲精品| 久久嫩草影院网站| 伊人影院久久| 久久精品观看影院2828| 亚洲视频中文字幕在线| 混乱家庭电影完整版在线看| 亚洲 欧美 视频 手机在线| 国产精品免费一区二区三区四区| 手机在线播放成人亚洲影院电影| av在线观看网站免费| 欧美互交人妖247| 成人1000部免费观看视频| 日韩欧美1区| 国产精品青草久久福利不卡 | 亚洲高清视频在线观看| 狠狠色狠狠色综合| 在线不卡日本v二区| 麻豆国产精品久久人妻| 99热这里只有的精品| 日本无码专区亚洲麻豆| 国产成人精品电影| 亚洲国产欧美在线人成aaaa20| 精品一区二区三区免费毛片| 最新国产av.在线视频| 欧美又粗又大AAAA片| 国产成人自产拍免费视频| 亚洲人成电影网站色2017|