GPS车辆跟踪系统

本文主要介绍GPS车辆跟踪系统背后的思想和逻辑,通过手机进行远程监控和安全访问。GPS-GSM模块使用单个微控制器进行接口,并使用 SMS功能查询系统的实时 GPS位置。该系统旨在仅由注册用户操作。可以选择实时添加或删除用户。

汽车跟踪系统如何工作?

GSM模块用于通过 SMS功能手动与系统交互。要知道对象的 GPS位置,用户必须使用预定义的模板向系统发送 SMS。系统将读取消息并即时获取 GPS位置。然后,系统向用户发送一条带有 GPS数据(即纬度和经度)的短信。因此,跟踪对象或系统。

车辆跟踪系统如何工作?

要跟踪车辆,需要连续的数据流。因此,通过向带有跟踪模板的汽车发送短信,系统将通过短信不断更新物体的 GPS位置,直到发送停止指示。更新频率与跟踪模板一起发送。该频率以分钟为单位,例如,如果提到的频率为5,则系统将在每5分钟后更新数据(发送 SMS)。该值的范围从1到 10,并且可以在程序中更改为所需的范围。

基于 GPS的车辆跟踪系统是否安全?

是的,系统是安全的。系统将积极响应,仅对从授权联系人号码收到的消息。系统内置用户验证功能,过滤未经授权的联系号码,确保系统安全。因此,即使任何人获得了系统的联系电话,在您授权他们的联系电话之前,他们也无法与他们的手机通信。

是否可以实时添加新的联系电话?

是的,该系统旨在实时添加新用户(联系电话)。此外,可以删除授权用户。通过各自的消息模板,可以添加新的联系号码,并且可以从内存中删除现有的联系号码。所有这些联系号码都存储在微控制器的 EEPROM中(选择包含内置 EEPROM的微控制器)。

添加新用户

为了添加新用户,注册用户必须向系统发送3作为消息,系统将发送模板以添加用户。模板如下,

添加用户(用户名)(10位数字)

编辑用户名最多 10个字母编辑 10位手机号码并发送

不应删除大括号,因为它们在程序代码中用作标识符。新的用户详细信息也将在 EEPROM中更新。

删除用户

为了从系统中删除用户,注册用户必须向系统发送4作为消息,系统将发送模板以删除用户。模板如下,

用户列表1. User1 1234567890 2. User2 0123456789删除 user#1回复RU1

通过发送RU1用户号 1将从系统中永久删除。如果列表中只有一个用户,则系统不接受删除该用户的请求,因为之后系统将无法操作。然而,最好在程序代码中编写用户的联系号码。

同样,如果使用 SMS计划,可以选择了解账户余额和清除消息计数器。

微控制器应该有多少个UART端口?

一个UART端口就足够了。由于系统使用两个模块,即 GSM和 GPS,默认情况下通过每个模块上提供的 UART端口进行接口,因此微控制器中需要两个 UART端口。但是,通过使用基于 AND、OR逻辑门的输入选择器电路,两个模块都可以使用微控制器的一个 UART端口进行连接。

GPS车辆跟踪系统 -电路图

系统应通过 GSM模块监控用户的实时请求。因此,默认情况下,微控制器保持与 GSM模块的连接,即 GSM模块将成为微控制器的 UART终端,每当需要 GPS数据时,微控制器通过逻辑电路选择 GPS模块作为 UART终端。
或者,SIM908等模块同时具有 GSM和 GPS功能。该模块可以选择连接 GPS天线。通过使用这种类型的模块,可以消除逻辑电路。GSM和 GPS数据都可以使用 GSM端口进行处理,即使提供了单独的端口。

汽车跟踪系统 -带有板载 GSM+GPS模块的电路图

程序代码

使用 GPS和 GSM的车辆跟踪系统–下载程序

该程序是使用 C语言使用程序员的记事本“Winavr”软件开发的。在这里,使用的微控制器是 ATMEGA 32,但它可以很容易地修改为具有足够外设的任何其他微控制器。

GPS-GSM模块的初始化

GSM模块必须发送和接收 SMS,而 GPS模块必须提供 GPS位置信息。为此,使用了两个启动功能。这些函数在微控制器上电/复位后调用。以下是初创公司的代码及其操作。

GPS-GSM模块–启动功能

接收和处理 UART数据

模块发送的数据由单片机的 UART端口接收,接收到每个字节后初始化定时器/计数器。当接收到一个字节后有很大的时间间隔时,定时器/计数器会产生一个中断,指示 RX数据结束。现在接收到的数据通过定义为的函数进行处理,

'无效进程_gsm_gps_data(无效);'。

此函数分析接收到的数据以执行特定操作。使用一些可能的选项验证接收数据的前几个字节,如果发生匹配,则执行相应的操作。下面是关键字验证部分,完整的代码在文末提供。

处理 RX数据的函数

验证用户

收到的短信包含发件人详细信息,例如“联系人姓名”和“联系电话”。将此联系号码与注册用户进行比较,如果找到匹配项,则确认发件人为有效用户并处理消息。否则,系统会发送有关失效的通知。下面是验证用户的代码,

验证用户

全球定位系统数据

GPS数据是通过特定的 AT命令从 GPS模块获取的。对于 SIM 908模块,可以使用以下命令获取 GPS位置:

AT + CGPSINF = 2

命令中的“2”是请求 GGA协议中的 GPS数据。
该命令的响应如下所示。

来自 SIM 908的 GPS数据

如果使用单独的 GSM和 GPS模块,选择 GPS模块后,等待接收 GGA,然后获取纬度和经度详细信息。由于该项目的目的是找到系统的 GPS位置,因此只询问纬度和经度的详细信息。但是,通过选择不同的协议,可以获得GPS接收机提供的各种参数。这些命令可在您使用的相应模块的数据表中找到。

追踪与追踪

为了追踪系统,用户必须将T作为消息发送到系统,系统将回复 GPS位置。GPS位置以如下方式发送给请求的用户:

纬度:

1234.123456N经度:

12.123456E

为了跟踪系统,用户必须每隔指定的分钟数发送T以获取 GPS位置,即每 1分钟发送T1以接收 GPS数据。为此,使用了一个 16位定时器/计数器。设置为在 Clear Timer On Compare Match中运行的定时器和比较匹配寄存器加载了一个等于 1秒时间间隔的值。因此,每秒都会产生一个中断,并且 seconds变量会递增。当“秒”计数等于 60时,“分钟”变量递增,并将该值与用户发送的跟踪模板中的更新频率进行比较。如果再次找到匹配项,则请求 GPS数据并将 SMS发送给用户。
请记住,在请求的用户或其他用户停止跟踪之前,一次只有一个用户可以跟踪系统。为了停止跟踪,任何用户都可以发送 S作为消息,跟踪将停止。跟踪的程序代码如下所示,

基于 GPS的车辆跟踪系统 -程序代码