把esp8266上的日期時間找出,然後傳送到Blynk 顯示
1.如何製造正確時間
(1)上網連線NTP 校正時間,不然都會有誤差
import network
sta_if = network.WLAN(network.STA_IF)
sta_if.connect(‘cef’, ‘0912882881’)
from ntptime import settime
settime()
(2)時間加上八小時
utc_epoch=time.mktime(time.localtime())
Y,M,D,H,m,S,ms,W=time.localtime(utc_epoch + 28800)
t=str(Y) + ‘-’
if M<10:
t += ‘0’ + str(M)
else:
t += str(M)
t += ‘-’
if D<10:
t += ‘0’ + str(D)
else:
t += str(D)
t += ’ ’
if H<10:
t += ‘0’ + str(H)
else:
t += str(H)
t += ‘:’
if m<10:
t += ‘0’ + str(m)
else:
t += str(m)
t += ‘:’
if S<10:
t += ‘0’ + str(S)
else:
t += str(S)
print(t)
2.產生一個python 程式
import BlynkLib
import time
from machine import RTC
BLYNK_AUTH = ‘hHOqA_BzqkT4ItQiaQt3RAauPLqtUjaG’ #要跟blynk 取得
#Initialize Blynk
blynk = BlynkLib.Blynk(BLYNK_AUTH)
#internet NTP
import network
sta_if = network.WLAN(network.STA_IF)
sta_if.connect(‘cef’, ‘0912882881’)
from ntptime import settime
settime()
#Register virtual pin handler
@blynk.on(“readV2”)
def v2_read_handler():
utc_epoch=time.mktime(time.localtime())
Y,M,D,H,m,S,ms,W=time.localtime(utc_epoch + 28800)
t=str(Y) + ‘-’
if M<10:
t += ‘0’ + str(M)
else:
t += str(M)
t += ‘-’
if D<10:
t += ‘0’ + str(D)
else:
t += str(D)
t += ’ ’
if H<10:
t += ‘0’ + str(H)
else:
t += str(H)
t += ‘:’
if m<10:
t += ‘0’ + str(m)
else:
t += str(m)
t += ‘:’
if S<10:
t += ‘0’ + str(S)
else:
t += str(S)
print(t)
# This widget will show some time in seconds…
blynk.virtual_write(2, t)
while True:
blynk.run()
3.用putty 進行測試
(1) ctrl + E 編輯
按下 “滑鼠右鍵”
(2) ctrl + D 執行
備註:有時候沒動作,按一下 esp8266 上面的 RST
4.用Blynk 畫個面
這樣就接上了