ESP32 GPS跟踪器-基于物联网的车辆跟踪系统
扫描二维码
随时随地手机看文章
GPS是全球定位系统的缩写,是一种全球性的无线电导航系统。为了跟踪设备的位置,GPS跟踪系统使用全球导航卫星系统(GNSS)网络。该网络由一系列卫星组成,这些卫星使用微波信号传输数据,这些数据将被GPS接收器模块接收。
以前,我们使用GPS与NodeMCU ESP8266建立车辆跟踪系统和事故警报系统。在这个项目中,我们将使用ESP32构建一个基于物联网的GPS车辆跟踪系统,我们将在OLED显示器以及Blynk应用程序上显示纬度和经度值,以便可以从世界任何地方进行监控。
组件的要求
•ESP32
•GPS模块
•OLED显示模块
•跳线
•电路试验板
OLED显示器
OLED显示器是微控制器中最常见和最容易获得的显示器之一。该显示器可以很容易地使用IIC或SPI通信与微控制器接口,具有良好的视角和像素密度,使其可靠地显示小级别图形。它兼容任何3.3V-5V微控制器,如Arduino。OLED显示屏配备了一个强大的单芯片CMOS OLED驱动控制器- SSD1306,可处理整个RAM缓冲。SSD1306驱动程序内置1KB的图形显示数据RAM (GDDRAM)。我们之前将OLED与ESP32接口。
规格:
•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秒,这使得它几乎可以立即找到卫星。输出是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应用程序并创建一个新帐户或登录到您现有的帐户。
现在点击“New Project”开始一个新项目。
现在给你的项目起一个名字。在选择设备选项中选择“ESP32 Dev Board”,在连接类型中选择“Wi-Fi”。然后点击“创建”。
在此之后,Blynk将向注册的电子邮件id发送授权。记下认证令牌代码。它将在程序中使用。
现在在下一个窗口中,单击“+”符号来添加小部件。在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模块创建的。
然后定义变量来存储Latitude和Longitude值。
在接下来的几行中,输入您的Wi-Fi名称和密码,并输入Blynk授权密钥。
之后,为OLED显示器创建一个实例,其中包括连接显示器的地址和引脚。
在setup()函数中,为了调试目的,以115200的波特率初始化串行监视器,并使用begin()方法初始化OLED显示器、GPS模块和Blynk。
在loop()函数中,检查是否有来自GPS模块的传入数据。如果数据可用,代码将对数据进行编码,并检查编码后的数据是否有效,如果数据有效,则进行进一步的计算,将NMEA数据转换为可理解的数据。
之后,GPS数据被发送到Blynk应用程序和OLED显示器。Blynk应用程序使用地图小部件使用经纬度数据来确定用户的位置。
ESP32 GPS跟踪系统的工作原理
一旦硬件和程序准备好,将GPS跟踪程序上传到ESP32板。这里使用Arduino IDE将ESP32 GPS NEO 6M代码上传到ESP32板,因此使用Micro USB电缆将ESP32连接到笔记本电脑并点击上传按钮。一旦代码上传,OLED将显示纬度和经度值。它还会在地图上的Blynk应用中显示位置,如下所示:
本文编译自iotdesignpro