如何自制定位追踪器_自制实时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工作正常。你可以随意修改我的代码或者寻找更好的代码。我只是希望我可以给你看一个如何完成这个项目的例子。
推荐阅读
- 什么是射频同轴连接器(射频同轴连接器的基本结构)
- 字体加阴影效果,PS教程7:[1]如何给字体加阴影效果
- 如何在word简历中插入照片 图片
- 卫冕冠军是什么意思世界杯,卫冕冠军是什么意思
- 佰耐立出名吗?想买他家的产品,不知道售后怎么样怎么办
- 独特新蒙迪欧,售价21.88万元,新一代蒙迪欧科技旗舰!
- 2020年江苏省高考英语试卷有泄密吗?(江苏高考英语试卷)
- 网易云音乐怎么查看歌手列表,网易云音乐如何查看歌手榜
- 雨伞的支撑坏了怎么修,雨伞支撑端坏了如何修复
- 电信怎么查通话记录对方电话号码,电信怎么查通话记录
- 海信音乐阅读器用的是什么样的音箱?
- 超级搞笑的幽默笑话(爆笑笑话集)
- 兰州近期车展,2022兰州车展,即将开启,你想看的
- 梦幻西游仙玉怎么换钱划算,梦幻西游仙玉怎么换钱
- 淘宝怎么查买过东西的订单,如何查看淘宝上购买过的商品及其订单信息
- 金属和塑料超声波焊接_超声波塑料焊接机的焊接方法以及它的优点介绍
- 谁听说过WotoHub?被誉为海外网络名人营销神器?
- 中国总共有多少金牌,中国一共有多少金牌
- 怎样给微信头像加文字,如何给微信头像加字