艾巴生活网

您现在的位置是:主页>科技 >内容

科技

如何自制定位追踪器_自制实时GPS追踪器的教程

2024-05-12 12:19:52科技帅气的蚂蚁
步骤1:先决条件GSM模块-SIM800L非常紧凑,易于使用。能够使用移动互联网(GPRS)便宜的GPS模块-Ublox NEO6M而且非常小。把工作处理好微控制

如何自制定位追踪器_自制实时GPS追踪器的教程

步骤1:先决条件

GSM模块-SIM800L

非常紧凑,易于使用。

能够使用移动互联网(GPRS)

便宜的

GPS模块-Ublox NEO6M

而且非常小。

把工作处理好

微控制器——任何东西——你可以使用著名的Arduino Uno或Nano来释放一些空间。

电池——我用18650电池作为主电源,只有电源(标称3.7V)。

电池座。-为什么?-因为焊接18650电池会发热,非常危险。

DC-DC升压转换器5V升压模块-必须有它,因为我的Arduino需要5V。

工具,所以你可以很容易地使用一些基本的东西:

电线、烙铁、测试用面包板。

步骤2:主要概念

主要概念如下:

它由三部分组成:

设备-具有正确的GPS坐标,可以远程连接到服务器并向其发送数据。

Web服务器-可以接收传入的数据-存储它-并为其他客户端提供服务。

平台——我们可以查看坐标的地方——理想情况下,现在应该是一个移动应用程序或网站。

第三步:SIM 800L模块

我在模块上有麻烦。

我想从一些特性和参考开始。

根据数据表:

它在3.4V和4.4V之间工作。

它可以发送短信,用其他电话打语音电话,甚至可以连接到互联网!

我们可以通过at命令和它交流!

它可以使用高达2A电流在高峰时间!注意:由于其低采样率,您可能无法用万用表测量。

我的经验是3.8V以下的SIM800L不能。

欲了解更多信息,请访问:数据手册。

因此,你的工作是提供至少3.8V连接到模块(理想的是4V),这至少可以输出2A。

在最终设备中使用该模块之前,建议您与您的设备、SIM800L和您的计算机建立通信,以确保您的设备正常运行。

首先,插入SIM卡,如上图所示。

要将其连接到PC,您可以使用USB到TTL转换器或Arduino。

现在,我选择Arduino。

连接SIM800L VCC和GND连接到电源端子。

将TX连接到arduino的第10个数字引脚,将RX连接到Arduino的第11个数字引脚。

下载代码,我已经完成了这一步的链接。

有了这个代码,你可以在串行监视器上发送命令并检索它们。

一些简单的命令:

AT-如果连接正常,返回OK。

ATD 123456789——“拨打给定的电话号码。注意:不要忘记以分号结束。

在CPIN?-"返回SIM卡状态(锁定或未锁定)

如果你想发送一条短消息,你需要用一个特殊字符结束输入,这可以通过使用“$”符号来完成。

对于其他有趣的命令,我建议您阅读它们。

有各种各样的命令。请熟悉他们。它们真的很有用。

有一个红色状态LED告诉你SIM800L正在做什么。

64毫秒开-800毫秒关-SIM800L未注册到网络。

64毫秒开-3000毫秒关-SIM800L已注册。

64毫秒开-300毫秒关-SIM800l处于GPRS模式。

如果SIM800L在大约8-10次闪烁后仍保持重启状态,则可能是由于缺乏有效的电源。

如果AT后仍不能正常工作,请检查接线!如果你有万用表,请检查电线的连续性。

检查电线和焊点的连接!该模块仅在闪烁时工作。

第四步:ublox neo 6m

某些特征

最大电压:3.6V——我用Arduino的3.3V管脚给它供电。

最大电流消耗是67mA,所以你可以通过arduino供电。

温度范围:-40-85摄氏度(我觉得会适合你)

我订购的设备有图中所示的天线,我只是把它插到相应的插槽上。

当设备上出现信号时,蓝色LED将闪烁。

首先,如果你不知道,请在这里查看GPS是如何工作的。

在打开设备并找到三颗卫星后,它会像上面一样向Arduino发送许多逗号分隔的值。

为了帮助我们完成工作,我们可以使用一些外部库来解析数据,使其更容易阅读。

您可以使用TinyGps库或NeoGPS库。我用第二个,因为它比较轻。

要进行测试,您必须将电源引脚连接到arduino 3.3V和GND。

下载此代码并与GPS一起使用。RX-"数字引脚10,TX-"数字引脚11。

注意:不要忘记在户外使用这个模块,最好是在没有云的时候。

半分钟后,设备应该会闪烁,输出GPS坐标!)

一旦您知道您的SIM800L和GPS模块可以正常工作,您就可以进行下一步。

第五步:电路

电路如图所示。

所以3.4V-4.2V的18650电池是主要供电。Sim800L直接从中获取能量。为了提高电路的稳定性,应该在它们之间并联一个电容。

选择电容时,应选择低ESR电容。

5V升压转换器将电池电压提升至5V(需要ir,因为Arduino使用5V)。

5V电源轨在这里连接到Nano。如图,Sim800L和Neo6m接Nano。(Sim Tx-D10,SimRx-D11;NeoTX-D3,NeoRX-D4)

D12连接到RST,所以我们可以通过编程重启系统(SIM800L除外)。注意:这种重启方法可能不是最佳实践)

最后,两个led连接到NANO,因此我们可以告诉用户是否有任何错误。

第六步:编码

此代码已附加到Instructables,或检查github。

您可以根据自己的需要对其进行修改,

waitUntilResponse();或者用别人的代码。辅助功能来自于他的代码。

总之,在设置功能中,我们需要启用SIM800L模块的GPRS连接。如果LED快速闪烁,我们就知道它是否成功。(setupGPRSConnection())

在循环函数中——每15秒调用一次sendData()函数——请求有一个HTTP请求。

我使用查询字符串将数据推送到Web服务器,格式如下:

Ip地址/file.php?Key=valuekey=value例如,http://xxx.xxx.xxx.xxx/log.php?纬度=xylon=xy

如果出现任何错误,相应的LED将会亮起。(SIM卡,全球定位系统)

步骤7: Web服务器

对我们来说,简单的轻量级Web服务器就足够了。

您可以选择以下选项:

你可以使用公司的远程服务器,你可能需要定期支付费用。

你可以用你自己的电脑。我只建议用于测试。因为能源浪费和安全问题,它不是全天候运行的。

可以用小电脑,比如树莓派。重量轻,价格便宜,不会太耗电。

我尝试了第二个和第三个选项,效果不错。嗯,主要目标不是这个教学的服务器,但是我给你一些建议。

如果你使用PC,你可以使用Windows。如果你是我,我会在上面安装阿帕奇或XAMPP服务器。

XAMPP已经包含了PHP,它还附带了HTML、Perl和数据库管理系统。使用PHP,您可以创建动态服务器。如果你想使用世界各地制造的本地服务器,你需要给PC分配静态IP并做一些端口转发。关于静态IP的实用教程:

和整个端口转发内容:

如果你有覆盆子,用它是个好习惯。可以熟悉Linux命令,24/7运行自己的服务器。

操作系统是Raspbian Jessie,无头设置(无键盘,无显示器)——我在电脑上通过SSH连接控制的。

我用Putty登录了覆盆子。别忘了修改你的账号密码,让别人无法登录你的Pi。默认值为pi,密码为raspberry。

我使用sqlite3安装了lighttpd Web服务器。在这里找到一个好的教程:

我主要在服务器代码中使用PHP。使用PHP,您可以接收数据,读/写数据库——将查询编码成json格式等等。本教程将为你提供很多关于如何使用PHP管理数据库的帮助。

你可以在github或者server_files文件夹下查看我的代码。

当然,如果您想要远程访问,您必须在路由器上启用到Pi的端口转发。

第八步:结束/体验

一个底盘还没有完成。

我的经验是系统运行良好。但稳定性有待提高。

如果追踪器不能使用我附上的代码,请不要担心。尝试确保SIM800L和NEO 6M工作正常。你可以随意修改我的代码或者寻找更好的代码。我只是希望我可以给你看一个如何完成这个项目的例子。