电子说
远程信息处理盒(又名黑盒子)用于记录和记录移动车辆的各种属性。它们主要用于飞机记录飞机的各种属性,例如,空中速度,航向,燃料水平,无线电振动等。它是任何飞机事故的第一个参考点,因为它保存所有飞机数据。对事件。这种监控车辆性能,状况和运动的方法已经转移到汽车,允许保险公司获得更好的驾驶风格估计,以便向他们的客户提供正确的保费。
有些公司要求安装一个额外的费用,其他公司会以降低的保险价格进行。这个讲台旨在逐步说明如何构建用于驾驶车辆的定制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网络,这种网络正逐渐被全球逐步淘汰。我可能需要为此找到另一种解决方案。
全部0条评论
快来发表一下你的评论吧 !