怎样用Arduino和GPS天线创建汽车跟踪系统

网友投稿 306 2022-11-24

怎样用Arduino和GPS天线创建汽车跟踪系统

这个项目是一个简单的跟踪系统,使用相同的GSM和GPS模块,内置于SIM808模块中。在本教程结束时,当您从任何手机发送GSM模块时,您将能够根据模块的GPS位置获得模块的GPS位置响应。

什么是SIM808模块?

SIM808模块的好处

SIM808有68引脚SMT焊盘(单芯片模块无需焊接),提供模块和用户板之间的所有硬件接口。它还具有以下功能:

音频通道,包括麦克风输入和接收器输出

一个SIM卡界面

充电界面

集成TCP/IP协议和扩展TCP/IP AT命令,这对数据传输应用非常有用

支持GPS功能的能力

硬件和软件要求

硬件 的结果,

《升i》 SIM 808模块

Arduino电缆

必要的硬件

软件

Arduino IDE

SIM808库

建立连接

如下图所示连接所有内容。

Rx至引脚10

Tx至引脚11

将SIM808与9V适配器连接

提供通过USB线或9V充电器为Arduino供电

Arduino UNO的连接

Arduino Mega的连接

下图显示正确连接时连接的外观:

上传源代码

上传以下代码。如果您是Arduino的新手,请务必查看Maker Pro的Arduino教育页面以获取更多教程。

#include

#include

#define MESSAGE_LENGTH 160

char message[MESSAGE_LENGTH];

int messageIndex = 0;

char MESSAGE[300];

char lat[12];

char lon[12];

char wspeed[12];

char phone[16];

#define PIN_TX 10

#define PIN_RX 11

SoftwareSerial mySerial(PIN_TX,PIN_RX);

DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,

void setup()

{

mySerial.begin(9600);

Serial.begin(9600);

//******** Initialize sim808 module *************

while(!sim808.init())

{

Serial.print(“Sim808 init error ”);

delay(1000);

}

delay(3000);

if( sim808.attachGPS())

Serial.println(“Open the GPS power success”);

else

Serial.println(“Open the GPS power failure”);

Serial.println(“Init Success, please send SMS message to me!”);

}

void loop()

{

messageIndex = sim808.isSMSunread();

//*********** At least, there is one UNREAD SMS ***********

if (messageIndex 》 0)

{

Serial.print(“messageIndex: ”);

Serial.println(messageIndex);

sim808.readSMS(messageIndex, message, MESSAGE_LENGTH, phone, datetime);

//***********In order not to full SIM Memory, is better to delete it**********

sim808.deleteSMS(messageIndex);

Serial.print(“From number: ”);

Serial.println(phone);

Serial.print(“Datetime: ”);

Serial.println(datetime);

Serial.print(“Recieved Message: ”);

Serial.println(message);

while(!sim808.getGPS())

{

}

Serial.print(sim808.GPSdata.year);

Serial.print(“/”);

Serial.print(sim808.GPSdata.month);

Serial.print(“/”);

Serial.print(sim808.GPSdata.day);

Serial.print(“ ”);

Serial.print(sim808.GPSdata.hour);

Serial.print(“:”);

Serial.print(sim808.GPSdata.minute);

Serial.print(“:”);

Serial.print(sim808.GPSdata.second);

Serial.print(“:”);

Serial.println(sim808.GPSdata.centisecond);

Serial.print(“latitude :”);

Serial.println(sim808.GPSdata.lat);

Serial.print(“longitude :”);

Serial.println(sim808.GPSdata.lon);

Serial.print(“speed_kph :”);

Serial.println(sim808.GPSdata.speed_kph);

Serial.println(sim808.GPSdata.heading);

Serial.println();

float la = sim808.GPSdata.lat;

float lo = sim808.GPSdata.lon;

float ws = sim808.GPSdata.speed_kph;

dtostrf(lo, 6, 2, lon); //put float value of lo into char array of lon

dtostrf(ws, 6, 2, wspeed); //put float value of ws into char array of wspeed

Serial.println(“Sim808 init success”);

Serial.println(“Start to send message 。..”);

Serial.println(MESSAGE);

Serial.println(phone);

sim808.sendSMS(phone,MESSAGE);

//************* Turn off the GPS power ************

sim808.detachGPS();

}

}

全部放在一起

通过Arduino IDE上传代码后,只需以9600波特率打开串口监视器。在这里您将看到以下内容:

因此,每当您将“Hi”或“Hello”字符串发送到已插入的SIM号码时在GSM模块中,Arduino会使用模块位置的经度和纬度信息给你发回信息。

此外,我已经添加了一个链接到Google地图,所以当它发回给你时,它也会来使用Google地图位置,如下图所示:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring之spring
下一篇:大数据安装前期环境准备:JAVA安装,PYTHON安装,SCALA安装
相关文章

 发表评论

暂时没有评论,来抢沙发吧~