使用Visuino備份GPS時(shí)間和互聯(lián)網(wǎng)時(shí)間
在這個(gè)Visuino項(xiàng)目中,確保精確計(jì)時(shí)與雙源系統(tǒng)!
NEO-6M GPSIf如果GPS信號(hào)丟失,板自動(dòng)切換到Wi-Fi,并從NTP服務(wù)器獲取準(zhǔn)確的日期和時(shí)間。這使得它成為實(shí)時(shí)應(yīng)用程序的完美備份解決方案!
步驟1:你需要什么
?ESP8266-D1 Arduino兼容開(kāi)發(fā)板(或任何其他帶WiFi的板)
?帶有天線(xiàn)的NEO-6M GPS分離模塊
?電路試驗(yàn)板
?LCD i2c 16x2
?跳線(xiàn)
?Visuino軟件
步驟2:電路
?連接LCD引腳[SCL]至ESP8266-D1引腳[SCL]
?連接LCD傳感器引腳[SDA]到ESP8266-D1引腳[SDA]
?連接LCD傳感器引腳[VCC]至ESP8266-D1引腳[5v]
?連接LCD傳感器引腳(GND)至ESP8266-D1引腳(GND)
?連接NEO-6M GPS模塊引腳[VCC]至ESP8266-D1引腳[5v]
?連接NEO-6M GPS模塊引腳[GND]至esp8266 - d1引腳[GND]
?連接NEO-6M GPS模塊引腳[TX]至ESP8266-D1引腳[RX]
步驟3:?jiǎn)?dòng)Visuino,選擇“WeMos D1 / R2 Board Type”
還需要安裝Visuino,下載免費(fèi)版本或注冊(cè)免費(fèi)試用。
如圖1所示啟動(dòng)Visuino,在Visuino中點(diǎn)擊Arduino組件(圖1)上的“Tools”按鈕,出現(xiàn)對(duì)話(huà)框時(shí),選擇圖2所示的“WeMos D1 / R2”
步驟4:WiFi設(shè)置
?選擇WeMos D1 / R2板,在編輯器模塊>WiFi>接入點(diǎn),點(diǎn)擊[…]按鈕,“接入點(diǎn)”窗口將打開(kāi)。在這個(gè)編輯器中,將WiFi接入點(diǎn)拖到左側(cè)。
?在屬性窗口下的“SSID”,把你的WiFi網(wǎng)絡(luò)的名稱(chēng)
?在“密碼”下輸入WiFi網(wǎng)絡(luò)的接入密碼
?關(guān)閉“接入點(diǎn)”窗口
?在編輯器左側(cè)選擇模塊>Wifi>插座,點(diǎn)擊[…]按鈕,使“套接字”窗口將打開(kāi)從右側(cè)拖動(dòng)TCP/IP客戶(hù)端到左側(cè),然后在屬性窗口下設(shè)置端口:37和主機(jī):time-c . g.nist.gov
?關(guān)閉“Sockets”窗口
步驟5:在Visuino中添加和設(shè)置組件
?增加“液晶顯示器(LCD) - I2C”組件
?雙擊“LiquidCrystalDisplay1”,在“Elements”窗口中拖動(dòng)“Text Field”到左側(cè)
?在Elements窗口中拖動(dòng)另一個(gè)“Text Field”到左側(cè),在屬性窗口中設(shè)置“Row”為1,“Initial Value”為------
?關(guān)閉“元素”窗口
?增加“串行GPS”組件
?添加“數(shù)字多源”組件,并在屬性窗口中設(shè)置“輸出引腳”為4
?增加“數(shù)字(布爾)逆變器(非)”組件
?添加2X“日期/時(shí)間開(kāi)/關(guān)開(kāi)關(guān)”組件,并在屬性窗口中設(shè)置“Send On Enable”為T(mén)rue
?添加2X“檢測(cè)邊緣(數(shù)字到時(shí)鐘)”組件,并在屬性窗口中設(shè)置第一個(gè)“On Rising/True”為False
?增加“Internet時(shí)間協(xié)議”組件
?增加“日期/時(shí)間多源合并”組件
?添加“文本值”組件
?雙擊“TextValue1”,在元素窗口中拖動(dòng)“Set Value”到左側(cè),在屬性窗口中設(shè)置“Value”為Internet時(shí)間
?拖動(dòng)另一個(gè)“設(shè)置值”到左側(cè),在屬性窗口中設(shè)置“值”為GPS時(shí)間
?關(guān)閉“元素”窗口
步驟6:在Visuino中連接組件
?連接“GPS1”引腳[Out]到WeMos D1 / R2串行[0]引腳[In]
?連接“GPS1”引腳[日期時(shí)間]到“Switch1”引腳[輸入]
?連接“GPS1”引腳[無(wú)效]到“MultiSource1”引腳[In]
?連接“MultiSource1”引腳[0]到“Inverter1”引腳[內(nèi)]
?連接“MultiSource1”引腳[1]到“Switch2”引腳[啟用]
?連接“MultiSource1”引腳[2]到“DetectEdge1”引腳[輸入]
?連接“MultiSource1”引腳[3]到“DetectEdge2”引腳[內(nèi)]
?將“Inverter1”引腳[Out]連接到“Switch1”引腳[Enable]
?連接Switch1引腳[Out]到DateTimeMultiMerger1引腳[0]
?連接Switch2引腳[Out]到DateTimeMultiMerger1引腳[1]
?連接“DetectEdge1”引腳[Out]到"TextValue1" > "Set Value2"引腳[In]
?連接“DetectEdge2”引腳[Out]到"TextValue1" > "Set Value1"引腳[In]
?連接“DetectEdge2”引腳[Out]到“InternetTime1”引腳[Clock]
?連接“InternetTime1”引腳[Out]到“Switch2”引腳[In]
?連接“InternetTime1”引腳[Socket]到"WeMos D1 / R2" >TCP Client1引腳[In]
?連接“DateTimeMultiMerger1”引腳[Out]到"LiquidCrystalDisplay1" > "Text Field2"引腳[In]
?連接“TextValue1”引腳[Out]到"LiquidCrystalDisplay1" > "Text Field2"引腳[In]
?連接“LiquidCrystalDisplay1”引腳I2C控制到“WeMos D1 / R2”I2C In
步驟7:生成、編譯和上傳代碼
上傳前先斷開(kāi)單板上的RX引腳,上傳后再連接。
在Visuino中,在底部單擊“Build”選項(xiàng)卡,確保選擇了正確的端口,然后單擊“Compile/Build and Upload”按鈕。
本文編譯自hackster.io