GPS是全球定位系統的縮寫,是一種全球性的無線電導航系統。為了跟蹤設備的位置,GPS跟蹤系統使用全球導航衛(wèi)星系統(GNSS)網絡。該網絡由一系列衛(wèi)星組成,這些衛(wèi)星使用微波信號傳輸數據,這些數據將被GPS接收器模塊接收。
以前,我們使用GPS與NodeMCU ESP8266建立車輛跟蹤系統和事故警報系統。在這個項目中,我們將使用ESP32構建一個基于物聯網的GPS車輛跟蹤系統,我們將在OLED顯示器以及Blynk應用程序上顯示緯度和經度值,以便可以從世界任何地方進行監(jiān)控。
組件的要求
?ESP32
?GPS模塊
?OLED顯示模塊
?跳線
?電路試驗板
OLED顯示器
OLED顯示器是微控制器中最常見和最容易獲得的顯示器之一。該顯示器可以很容易地使用IIC或SPI通信與微控制器接口,具有良好的視角和像素密度,使其可靠地顯示小級別圖形。它兼容任何3.3V-5V微控制器,如Arduino。OLED顯示屏配備了一個強大的單芯片CMOS OLED驅動控制器- SSD1306,可處理整個RAM緩沖。SSD1306驅動程序內置1KB的圖形顯示數據RAM (GDDRAM)。我們之前將OLED與ESP32接口。
規(guī)格:
?OLED驅動IC: SSD1306
?分辨率:128 x 64
?視角:>160°
?輸入電壓:3.3V ~ 6V
?像素顏色:藍色
?工作溫度:-30℃~ 70℃
Neo 6M GPS模塊
NEO-6M模塊的封裝尺寸為16 x 12.2 x 2.4 mm。它有6個Ublox定位引擎,提供無與倫比的性能。它是一款性能良好的GPS接收機,結構緊湊,功耗低,內存選項可靠??紤]到它的結構和電力需求,它是電池供電的移動設備的理想選擇。首次定位的時間不到1秒,這使得它幾乎可以立即找到衛(wèi)星。輸出是NMEA標準的格式,可以解碼以找到位置的坐標和時間。
?電源:2.8V ~ 5V
?接口:RS232 TTL
?內置EEPROM和外部天線
?默認波特率為9600bps
我們以前使用GPS模塊Neo 6M與NodeMCU,并在網頁上顯示位置坐標,查看所有基于GPS的物聯網項目在這里。
線路圖
ESP32 GPS NEO 6M的電路圖如下:
這里我們是接口ESP32與GPS模塊和OLED顯示器。GPS模塊的Vcc和GND引腳接ESP32的3.3V和GND, RX和TX引腳接ESP32的TX2和RX2引腳。OLED顯示模塊(SSD1306)與ESP32采用I2C模式連接。ESP32與OLED顯示器的連接如下:
配置Blynk應用程序的ESP32 GPS跟蹤器
從b谷歌Play Store下載Blynk應用程序并創(chuàng)建一個新帳戶或登錄到您現有的帳戶。
現在點擊“New Project”開始一個新項目。
現在給你的項目起一個名字。在選擇設備選項中選擇“ESP32 Dev Board”,在連接類型中選擇“Wi-Fi”。然后點擊“創(chuàng)建”。
在此之后,Blynk將向注冊的電子郵件id發(fā)送授權。記下認證令牌代碼。它將在程序中使用。
現在在下一個窗口中,單擊“+”符號來添加小部件。在Widget框中,選擇“Map”小部件。
之后,單擊MAP小部件并選擇虛擬引腳‘ V0 ’作為INPUT。
通過這最后一步,你已經準備好使用你的應用程序了。按下“播放”按鈕,你可以將你的應用程序從編輯模式切換到播放模式,在那里你可以與硬件進行交互。
代碼的解釋
ESP32 GPS跟蹤系統的完整代碼在本頁末尾給出。這里我們將解釋代碼的一些重要部分。
在這個程序中,我們將使用Wire.h、TinyGPS++.h、SH1106.h和BlynkSimpleEsp32.h庫。這些資料庫可從以下連結下載:
?Wire.hTinyGPS + + . h
?SH1106.h
?BlynkSimpleEsp32.h
因此,像往常一樣,通過包含所有必需的庫來開始代碼。SH1106.h是專門為ESP模塊創(chuàng)建的。
然后定義變量來存儲Latitude和Longitude值。
在接下來的幾行中,輸入您的Wi-Fi名稱和密碼,并輸入Blynk授權密鑰。
之后,為OLED顯示器創(chuàng)建一個實例,其中包括連接顯示器的地址和引腳。
在setup()函數中,為了調試目的,以115200的波特率初始化串行監(jiān)視器,并使用begin()方法初始化OLED顯示器、GPS模塊和Blynk。
在loop()函數中,檢查是否有來自GPS模塊的傳入數據。如果數據可用,代碼將對數據進行編碼,并檢查編碼后的數據是否有效,如果數據有效,則進行進一步的計算,將NMEA數據轉換為可理解的數據。
之后,GPS數據被發(fā)送到Blynk應用程序和OLED顯示器。Blynk應用程序使用地圖小部件使用經緯度數據來確定用戶的位置。
ESP32 GPS跟蹤系統的工作原理
一旦硬件和程序準備好,將GPS跟蹤程序上傳到ESP32板。這里使用Arduino IDE將ESP32 GPS NEO 6M代碼上傳到ESP32板,因此使用Micro USB電纜將ESP32連接到筆記本電腦并點擊上傳按鈕。一旦代碼上傳,OLED將顯示緯度和經度值。它還會在地圖上的Blynk應用中顯示位置,如下所示:
本文編譯自iotdesignpro