51微控制器驅動esp8266獲取網路時間

2021-10-04 21:53:03 字數 1574 閱讀 1646

第一次使用esp8266做玩具。

使用了stc89c52,ds1302,lcd1602,esp8266.

先使用了ds1302實現了本地走時的功能。

在通過esp8266獲取網路時間將獲取到的時間寫入ds1302中。

再開啟ds1302走時即可。

**關鍵部分在於esp8266建立連線的部分。現把esp8266初始化並進入透傳**貼出。

建議在使用前自己用串列埠裝置電腦直連esp8266除錯at指令!!!

esp8266連線wifi的指令為

at+cwjap=「ssid」,「password」

uart_send_data

("at+cwjap=\"ssid\",\"password\"\r\n"

,sizeof

("at+cwjap=\"ssid\",\"password\"\r\n"))

;//輸入路由器的ssid和密碼

void

esp8266_cmd_init()

透傳中發起get指令

;//乙個回車換行

uart_send_data

("host:192.168.91.66\r\n\r\n"

,sizeof

("host:192.168.91.66\r\n\r\n"))

;//這裡一定要兩個!!!注意:

host傳送結尾一定要兩個回車換行!!!

這裡遇到乙個有趣的問題,在直接使用上述get指令將其通過串列埠寫入esp8266時,會提示400錯誤,伺服器沒有理解發出的請求類似的提醒。

而同樣的語句將其轉為16進製制數依次輸出即可正常輸出。

u8 code get=

;

上述問題可能是host句最後的\r\n\r\n被串列埠輸出時並不是十六進製制的0x0d,0x0a,0x0d,0x0a導致的。如果有小夥伴知道這個問題的原因,請告訴我,謝謝。

退出透傳時只需傳送+++,無換行!

uart_send_data

("+++"

,sizeof

("+++"))

;

串列埠輸出**如下

void

uart_send_data

(u8 *c,u8 count)

ea =1;

}

我使用的是家中電腦作為伺服器。伺服器只用了乙個php檔案顯示時間。

<?php

date_default_timezone_set

('prc');

echo

date

('y-m-d h:i:s');

?>

工程檔案在

51微控制器使用 ESP8266獲取網路天氣

esp8266在硬體區域中是很常見的一款外設,而對於初學者來說,使用esp8266是比較困難的,但熟悉了它的at指令就會簡單很多 本文章主要介紹51微控制器使用esp8266進行獲取網路資訊 在使用之前,必須先在串列埠進行相關除錯 連線網路後傳送 at cipstart tcp api.senive...

esp8266手機端app ESP8266配網思路

1 連線裝置接的模組esp8266生成的熱點 2 給裝置熱點傳送要連線的路由器的名字和密碼 配網流程 1 裝置讓esp8266進入ap模式 裝置mcu通過串列埠給esp8266傳送at cwmode 2,讓esp8266進入ap模式。如果進入ap模式成功,用手機可以搜尋到esp8266模組的熱點資訊...

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...