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