亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

自制一个汽车远程跟踪控制系统

发布时间:2022-10-29
分享到:

自制一个汽车远程跟踪控制系统

发布时间:2022-10-29
分享到:

实际上,我们许多人都遭受过被偷车的风险,遇上这种事情总像是一种无妄之灾。所以为了避免这种情况的发生,在这个项目中,我将尝试帮助您保护您的汽车,甚至远程控制它们。

基本上,您必须将手机留在车内,当汽车开始移动时,它会使用其传感器检测到这一点,并会在您的手机上向您发送消息,无论您身在何处。然后,您可以发送一条消息立即停止汽车,这样小偷就无法再次打开它,您也可以发送另一条消息以使用 GPS 从那里获取它的位置以了解其位置。

所有这些都可以很容易地实现,并且不需要编码经验。您只需要Arduino,任何Android智能手机和1Sheeld,通过蓝牙连接手机和Arduino并使用其移动应用程序,因此无需Android编码。

第 1 步:组件

  • Arduino
  • 1Sheeld
  • 继电器 (12V-40A) 或 4X 继电器 (10A)
  • 汽车保险丝
  • 安卓手机
  • 电线和焊料
  • 电池

第 2 步:操作概念
通过拆下连接车钥匙和发动机的汽车电源部分中的保险丝,您可以关闭发动机。所以,我决定在这个节点上放一个继电器来控制我是否要关闭引擎。

但是你必须小心,因为保险丝最大值的电流传递约为 40 A。它太高了,所以你必须得到正确的继电器。

我在附近的任何电子商店都找不到 40A 继电器,所以我决定买一个继电器套件(4 个继电器),每个继电器可以承载 10A,并并联使用它们来分配它们的总电流。

第 3 步:硬件实现

  • 我买了一个汽车保险丝并断开它。
  • 使用这 2 个端子并将它们连接到继电器。
  • 将继电器板连接到 Arduino。
  • 将 1Sheeld 放在 Arduino 上

电路图

第 4 步:Arduino 移动应用程序
 

如果这是您第一次处理 1Sheeld,您必须下载移动应用程序和 Arduino 库。同样,最好尝试文档中的任何其他代码,以便随意使用。

基本上,代码总体来说比较简单易行。它基于使用智能手机的加速度计传感器感应汽车是否移动,然后在汽车移动时向您发送短信作为通知。当您收到该短信时,您有两个选择:

  • 首先,将“gps”作为短信发送给车内的手机,以获取汽车的位置(经纬度)。
  • 其次,通过切换我们放置的继电器而不是保险丝,向车内的手机发送“停止”作为短信停止汽车。

第 5 步:测试
在Arduino上上传代码并将其与1Sheeld和车内的保险丝盒连接。您所要做的就是在我们的手机中打开应用程序,找一个防护罩(加速度计、GPS、SMS)。尽量将手机藏在一个秘密的地方,以免被小偷看到。

第 6 步:进一步的步骤(未来的可能拓展)

当然,我们可以添加许多其他功能,例如使用手机中的摄像头拍摄图像并将其发送到我的邮箱以检查汽车的驾驶情况,或者使用 Skype 为小偷发送视频流,或者我们可以控制车内的音响系统播放警报,让小偷感到害怕等。

不过有个小缺陷,我们必须始终打开移动数据以通过互联网发送图像或视频,这会降低电池寿命。

然而,我认为我们可以通过使用Tasker 应用程序以更好的技巧来节省电量。我们可以关闭移动数据和 GPS,并且在传感器(比如加速度计)的特定条件下,手机同时打开 GPS 和移动数据以使用它们。或者,使用 Tasker 内部的 1Sheeld 作为插件来打开或关闭它们。

code:

#include <OneSheeld.h>
char* gps = "gps";
char* stopp = "stop";
float lat ;                           
float lon ;
int lock = 12;
char charlat [12];
char charlon [12];
char readings [80];
boolean flag1 = false;
boolean flag2 = false;
boolean flag3 = false;
void setup()
{
  OneSheeld.begin();
  pinMode(lock,OUTPUT);
}
void loop() {  
  if(abs(AccelerometerSensor.getY()) > 1.5 )
  {
    if(!flag1)
    {   
      SMS.send("01004078579","The car is moving !!");
      flag1 = true;  
    }
  }
   if(!strcmp(SMS.getSms(),stopp)) 
  {
    if(!flag2)  
    {
      digitalWrite(lock,HIGH);
      flag2 = true;
    }
  }
  if(!strcmp(SMS.getSms(),gps)) 
  {
    if(!flag3)  
    {
      lat = GPS.getLatitude(); 
      lon = GPS.getLongitude(); 
      dtostrf(lat, 11, 7, charlat); 
      dtostrf(lon, 11, 7, charlon); 
      strcat(readings,"latitude is : ");   
      strcat (readings,charlat);  
      strcat(readings,"\nLongitude is : "); 
      strcat (readings,charlon);
      SMS.send("01004078579",readings);                             
      flag3 = true;
    }                                        
  } 
}

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:Ashraf Nabil,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论