远程信息处理盒的制作教程

电子说

1.3w人已加入

描述

远程信息处理盒(又名黑盒子)用于记录和记录移动车辆的各种属性。它们主要用于飞机记录飞机的各种属性,例如,空中速度,航向,燃料水平,无线电振动等。它是任何飞机事故的第一个参考点,因为它保存所有飞机数据。对事件。这种监控车辆性能,状况和运动的方法已经转移到汽车,允许保险公司获得更好的驾驶风格估计,以便向他们的客户提供正确的保费。

有些公司要求安装一个额外的费用,其他公司会以降低的保险价格进行。这个讲台旨在逐步说明如何构建用于驾驶车辆的定制Telematics箱。

免责声明:此定制黑匣子可能并非始终是有效的证据。法庭。除非经过批准的安装团队授权,否则某些国家/州/当地法律可能不允许将自定义监控单元安装到移动车辆中。由于这些原因以及任何其他与篡改OBD端口相关的原因,本文和网站的作者对您的驾驶,您的汽车,汽车的电子设备(包括车载电脑)以及任何其他设备的结果不承担任何责任。安装了定制监控装置时发生了其他事故。

更新/警告:我离开了一个星期,但离开了所有的电子设备插电。我没有意识到OBD端口始终供电。由于OBD端口使用蓝牙端口且蓝牙消耗相当大的功率,因此汽车电池将耗尽。..。..

步骤1:获取材料!

信息处理

信息处理

信息处理

信息处理

信息处理

对于这个项目,你需要:

1x ELM327 OBDII蓝牙适配器 

1x Arduino Mega *

1x HC-05蓝牙模块**

1x SD卡读卡器模块 

1x Neo-6M GPS模块 

1x GPS天线(带SMA接头)

20x Male-女性10厘米跨接线 

1x UFL迷你适配器 

1x 3D打印盒 - (设计)SketchUp,(打印)3D集线器

6x 5mm垫片

4x M3 10mm螺母和螺栓

6x M3 12-16mm螺母和螺栓 

1x SD 8GB卡 

1x车载USB适配器 

谢天谢地!有关某些模块的更多信息将在接下来的步骤中详细介绍。

*有一个参数可以使用Uno,但由于我需要多个串口,并且程序空间有限,我选择退出Uno。还有一个论据要使用Due,因为它更强大。 Due使用3V3作为其IO引脚,可能会被其他5V组件损坏。因此,请使用Mega。

**不要将HC-05误认为是HC-06! HC-06是仅奴隶模块,不能配置为主设备。获得HC-05! 重要:确保HC-05模块有一个 Key 引脚才能切换到AT模式,否则整个项目将无效!

第2步:它是如何工作的?

信息处理

我们如何从汽车中读取数据? 2003年之后的大多数汽车(如果不是全部汽车)必须有OBD端口与发动机通信(购买前检查!)。 OBD代表On Board Diagnostics,主要用于确定汽车的任何故障。例如,当您的发动机灯亮起时,会记录故障代码。当你把它带到车库时,机械师会有一个读取故障代码的OBD读卡器,这样他们就会知道要修理什么。

从OBD端口,你也可以读取实时数据。可用的实时数据取决于汽车到汽车,但大多数汽车应该允许您读取基本的东西,如速度,转速,行驶距离等。为了这个项目的目的,我选择读取车速,发动机的RPM ,油门压低。

当你拿到ELM327时,找到你的OBD端口。每个汽车制造商都会有所不同。对于我的福特嘉年华,它位于方向盘和驾驶员车门之间。如果您找不到它,请在Google上查找 [汽车品牌] [汽车型号] obd端口,其中应该有一些视频/图片显示您的OBD端口所在的位置。找到后,将ELM327插入。

如果您有Android手机,可以轻松测试OBD端口。转到Play商店,下载名为Torque的应用程序。有付费版和免费版。免费版本足以用于演示目的。只需通过蓝牙连接到您的ELM327,选择您想要读取的所需PID,然后开启您的汽车。你应该立即在屏幕上看到读数。

第3步:制作一个盒子!

信息处理

信息处理

信息处理

所需材料:

盒子模型

结果:3D打印盒子和底座

----------

在开始使用电子设备之前,我建议使用自己的安装孔3D打印盒子(或制作自己的盒子!)。在没有所有组件的情况下修复Arduino会更容易!

我设计了一个简单的案例(* .skp文件)来保存所有内容。该模型在SketchUp中制作,设计使用3D Hubs的3D打印服务进行3D打印,他们将以相当便宜的质量打印您的模型。

打印此框,以便您可以将电子设备放入其中。

步骤4:组装基座

信息处理

信息处理

材料必需:

Arduino Mega

3D打印底座

3x垫片

3x M3螺母

3x M3垫圈

3x M3 12mm螺栓

结果:组装基座

-----------

从1号安装孔(6针ICSP插头和Comms插针之间的安装孔,见图)开始,在电路板顶部放置一个垫圈,在电路板和底座之间放置一个垫片。将螺钉穿过垫圈,板安装孔,垫片,并穿过底座。在底座下面有六角形的开口,以便安装螺母。拧紧,但留出足够的空间放置其他垫片。

重复每个安装孔。

全部完成三个安装孔,拧紧螺钉,使板与底座牢固固定。其他安装孔不是必需的。我无法安装其他螺丝,因为它们会与销/组件放置发生冲突。这三个应足以使董事会保持原状。

第5步:连线!

信息处理

信息处理

信息处理

信息处理

此步骤的材料:

组装基础

HC-05

Neo-6M

UFL迷你适配器

SD卡读卡器

16x跨接线

结果:基础电子组件

----------

第一步是将所有内容连接到Arduino Mega。您将在其中一张图片中找到基本连接图。我们将使用串行端口,SPI总线和一些IO引脚。

如果您想知道每个模块的工作原理,可以单独连接每个模块以测试它们。否则,如果您确信一切正常,请将所有内容连接起来。

SD卡读卡器

连接以下内容:

CS - 针脚53

SCK - 针脚52

MOSI - 针脚51

MISO - 针脚50

Vcc - 引脚22附近的5V引脚

引脚52附近的接地引脚

GPS

连接以下内容:

GPS TX - 针脚15

GPS RX - 针脚14

GPS Gnd - 接地针最近连接电源插座

GPS Vcc - 5V引脚最近连接电源插座

将UFL迷你适配器连接到模块的天线引脚

(可选)GPS PPS - 针脚2

蓝牙

连接以下内容:

蓝牙TX - 针脚17

蓝牙RX - 针脚16

蓝牙钥匙 - 针脚3

蓝牙Vcc - 针脚19

蓝牙Gnd - 针脚18

步骤6:压缩它!

信息处理

信息处理

信息处理

所需材料:

基础电子组件

------- ---

现在所有东西都已接线,扭转模块,使它们都适合Mega的边界,但不要断开电线。您可能希望用电气胶带覆盖裸露的引脚和电气元件,以避免短路。小心!

GPS

扭转电线,直到GPS模块顶部朝向Mega的通信引脚

SD读卡器

基本上,将电线弯曲/折叠,使SD卡读卡器模块的顶部朝下重置按钮。

蓝牙

蓝牙模块将自行“包裹”在GPS模块周围,并最终在电路板的另一侧,模拟引脚。

第7步:装配盒子

信息处理

信息处理

信息处理

信息处理

所需材料:

组装电子基座

3D打印盒

4x M3螺母

4x M3垫圈

4x M3 10mm螺栓

结果:完全组装的盒子

----------

获取UFL迷你适配器的另一端并插入盒子上的孔,用螺母将其固定到位。确保它很紧,因为我们不希望天线扭曲它!

将两个组件合并在一起,确保没有任何电线断开连接。对齐四个角孔,将M3螺母安装到底座下方的六角孔中。将M3螺母穿过孔并将盒子拧在一起。

第8步:ELM327

信息处理

信息处理

所需材料:

完整装配

ELM327蓝牙OBD适配器

便携式计算机

----------

在GitHub上,您会找到一个简短的程序( BluetoothScanner ),它将扫描一些最近的蓝牙设备。它将显示每个设备的MAC地址和SSID(名称)。它还允许您手动向汽车发送命令。

MAC地址

用于HC-05自动发送连接到ELM327,您需要找到适配器的MAC地址。对于每个模块,这通常是不同的。这是为了避免连接到错误的设备!

只需将代码上传到Mega,开启汽车,然后运行代码。在终端输出上,您应该看到结果。代码尝试自动将模块绑定到所选的MAC地址,但有时这不起作用。只需确保您获得正确的MAC地址即可。地址应该类似于 1D,A5,68988B 。您的MAC地址可能不同,但格式应相同。保存以供下一步使用!

响应偏移

您还需要确定从OBDII适配器发出的数据的结果格式。使用您刚刚上传的代码(在此步骤中),向下发送字符 0100 。这是确定您的汽车可以发送给您的数据的命令。维基百科上提供了完整的命令列表。

您需要检查返回数据的格式。在我的福特嘉年华(2012)中,命令在结果之前得到了回应:

命令发送:0100

收到的响应:0100BE1FA813

但是,在雷诺Clio(2006)中,该命令未得到回应:

命令发送:0100

收到响应:BE1FA813

根据汽车的不同,响应可能会有所不同。您需要从响应中删除任何前面的字符。理想情况下,您的响应应该类似于上面的Clio示例。如果您有其他字符,请记住响应之前的字符数。您将在下一步中使用它!

步骤9:上传代码

所需材料:

来源代码

汇编框

结果:已完成框。

----------

完整的源代码可以在GitHub上找到(项目名称: SimpleArduinoObd ),在那里您将看到许多标题(* .h)文件。下载文件,然后在Arduino IDE中打开它们。

还记得您之前保存的MAC地址吗?打开 ObdHelper.h 并在第34行(变量名称 obdMacAddress )更改您在步骤4中保存的MAC地址。地址应为逗号 - 分离并采用与 1D,A5,68988B 相同的格式。

还记得您在步骤4中保存的响应偏移吗?打开ObdHelper.h并在第23行(定义 RESPONSE_PREFIX_OFFSET )将偏移量更改为应该的偏移量。

步骤10:隐藏框

信息处理

信息处理

信息处理

信息处理

信息处理

信息处理

信息处理

所需材料:

已完成框

Arduino USB线

GPS天线

车载USB适配器

结果:已完成项目

----------

现在盒子已经完成,我们可以将它放入车内!

找到放置盒子的位置。理想情况下它应该隐藏在某个地方。我把它放在我的乘客座位下面。 记住:它必须足够接近,以便USB线可以到达汽车点火器插座!

解开你的GPS天线并将其塞入外壳与内体之间的间隙中,在橡胶密封下。尾随天线电缆可以塞在乘客座椅下面或地毯下面。

将GPS天线“头部”放置在可以轻松看到天空的位置。我把它放在前挡风玻璃下面。

将USB电缆插入盒中,然后将电缆插入车载USB适配器。

将汽车USB适配器插入打火机插座。

您现在已准备好将其用于试驾!

步骤11:结果

信息处理

信息处理

不幸的是,要查看SD卡的内容,您必须打开包装盒并手动将SD卡插入计算机以进行读取。然而,文件将存储在其上。文件名的格式为 [年] [月] [日] [小时] 。文件数据的格式为 [日期],[时间],[纬度],[经度],[转速],[速度],[加速器] 。

以下是存储内容的示例:

25/05/18,12:41:06,51.569889,-2.658524,01819,0037,0041

25/05/18 ,12:41:07,51.569817,-2.658419,01841,0038,0043

25/05/18,12:41:08,51.569736,-2.658341,01867,0038,0043

重要:

速度可能是 KPH(公里/小时),具体取决于您的车辆。

加速器抑制以百分比(%)表示,并且可以从高于0%的值开始。

时间是 UTC 。

步骤12:常见问题解答

GPS获取GPS信号需要多长时间?

通常,大约30秒。这取决于位置。

SD卡已满多长时间?

8GB SD卡有大约7.67 GB的内存空间。文件的每个条目长度为55个字节。每个条目都是GPS活动的每一秒。假设平均每天驾驶2小时,您有以下公式:

([可用内存空间]/([每个条目的字节数] * [每天的条目数]))/365 =存储卡已满的时间(年)。

假设如下:

内存空间为7GB(7,000,000,000字节)

每个条目的字节数为55字节

条目数为60秒* 60分钟* 2小时= 396,000

(7,000,000,000/(55 * 396,000))/365 = 48。4年

简而言之,很长一段时间!

可以发送到服务器吗?

要发送到服务器,你‘我需要一个调制解调器。我已经尝试了SIM808,它在一个芯片组中有GPS,GSM和蓝牙(并且比这个项目中使用的硬件略低)。 SIM808依赖于2G网络,这种网络正逐渐被全球逐步淘汰。我可能需要为此找到另一种解决方案。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分