0 有用
0 下载

车队监控设计

文件列表(压缩包大小 870.14K)

免费

概述

车队监控

通过Hologram的蜂窝网络来监控车辆,使用了OBDII、Raspberry Pi、GPS和GSM。

工程使用到的器件

硬件部分

名称 数量
Raspberry Pi 3 Model B × 1
Hologram Nova × 1
OBDII ELM327 Reader × 1
GPS Module (Generic)(OPTIONAL) × 1
Jumper wires (generic) × 1

软件应用程序和在线服务

Adafruit.io

内容

什么是车队监控?

监视车队有许多理由。有些只想跟踪位置(本质上就是资产跟踪),而另一些想要监视车辆的运行状况。当需要确保您的车辆得到所需的维护时,这很有帮助。监控车队提高了安全性,并为改进操作提供了思路。它还有助于将车辆部署到最适合它的地方。

怎么能造出如此复杂的东西呢?

很简单!在接下来的几周里,我将记录我的过程,因为我开始使用现成的、对制造商友好的硬件来建立一个DIY解决方案。我已经列出了所需的最低成本部件。

硬件

我将使用一个USB OBDII适配器(见上面的链接)连接到树莓派,标准GPS模块连接到GPIO管脚。有了Hologram Nova,一个USB GSM调制解调器,我就能在车辆追踪器上增加远程连接。Hologram.io在很大范围内提供了一个非常友好的价格。最棒的是,可以把它变成一个准备部署的产品。

软件

第一个是运行的代码片段,从OBDII阅读器定期收集相关信息,并将其与GPS数据耦合,然后通过Hologram.io网络发送数据消息。 出于透明性的考虑,我正在nodejs中构建它,但是OBD-II库似乎非常过时,所以第一个障碍是使用node-serialport库编写一个可用的实现。如果node不能工作,这部分可能会用python构建!如果有人读到这碰巧有这方面的经验,请联系! 第二部分是web应用程序,它将用于查看带有车辆数据的实时地图。随着这个项目的进展,我希望建立一个方法,以便很容易为新的车辆提供服务。这个web应用程序将使用React编写,这是一个用于构建渐进式web应用程序的javascript框架。

我能做什么?

如果你想一直阅读本文,甚至可能帮助贡献,你可以订购准确的零件,并贡献到GitHub项目! https://github.com/HologramEducation/hologram-vehicle-monitor

在我们开始之前,先说几句外话。

Node.JS没有成功。我花了很多时间试图让节点库工作,并发现很多节点库已经被忽视了很长一段时间,而由于node的版本更改如此之多,有一些东西不能有效地工作。所以我转向了Python,我认为它更适合初学者,因为它有较少的依赖性。 我一开始没有意识到一个山寨的USB ScanTool OBDII阅读器。这导致了一些兼容性问题,因为它没有固件支持。 我推荐使用这个https://www.amazon.com/gp/product/B005ZWM0R4/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 那里有一些OBD-II模拟器,在开发中会非常有用。我有一辆94年的Land Cruiser,但是它没有OBD-II接口。 我没有创建我们自己的MQTT代理并从头创建仪表板,而是使用了Adafruit.IO——它提供了一个物联网消息传递代理以及一个仪表板平台。 我们不用GPS模块,而是用全息图新星模块定位最近的手机信号塔的位置。 好的,清楚了以上这些之后,让我们开始!

指南中最重要的部分

准备好你的硬件

• Raspberry Pi 3 • Hologram Nova USB Modem • ScanTool USB OBD-II Reader • FTDI Cable (Optional if you just want to use a Monitor and Keyboard) • USB Powersupply (with a car adapter if you intend to use it in your car)

开启一个树莓派

烧写树莓派的最新树莓镜像。我推荐Etcher.io -这是一个轻量级的工具,它可以把镜像烧到SD卡上。你可以在这里找到最新的镜像,选择你最适合的版本。 https://www.raspberrypi.org/downloads/raspbian/ 在你的树莓派上插入ScanTool和Nova 这需要精通USB接口,不适合胆小的人。

打开Adafruit.io账户和控制面板

  • 转到Adafruit.io官网并创建一个帐户。
  • 转到Feeds -> Actions -> Create A New Feed,并将其命名为fleet。
  • 转到Dashboards,并创建一个新的控制面板。
  • 首先添加一个地图视图。为GPS位置的完整历史视图设置历史时间为9999。
  • 对刻度盘模块重复此步骤。使用相同的feed,我们在相同的消息中发送传感器值和GPS位置,它获取发送的第一个值并显示它,在我们的示例中是速度。
  • 获取您的AIO密钥并将其保存起来,以便我们运行代码时使用。主页上有一个链接。 如果您对API或指示板更感兴趣,请访问这些链接 https://learn.adafruit.com/adafruit-io/mqtt-api https://cdnlearn.adafruit.com/downloads/pdf/adafruit-io-basics-gps.pdf

    为你的树莓派安装shell

    有几种途径 • 显示器和键盘 • SSH • 串口TTY 我更喜欢串口,因为当你在车里工作,没有无线网络时,它更容易操作。Adafruit对此有很好的指导https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/ ProTip:在Pi 3上,当蓝牙被启用时,它会干扰串行引脚。在计算机上挂载SD卡,编辑config.txt文件并添加这一行。 dtoverlay=pi3-disable-bt

    让代码跑起来!

    终于到了这一步! 所有的代码和指令都可以在这个github存储库中找到https://github.com/HologramEducation/hologram-vehicle-monitor

    安装

    在终端中运行以下程序,它将安装Hologram, Adafruit-IO和OBD Python SDKs以及Hologram CLI curl -L hologram.io/python-install | bash curl -L hologram.io/python-update | bash sudo pip install adafruit-io sudo pip install obd

    运行实例

    克隆这个存储库 git clone https://github.com/HologramEducation/hologram-vehicle-monitor 用下面的代码创建一个adafruitConfig.py文件 ADAFRUIT_IO_KEY = 'YOUR ADAFRUIT IO KEY' ADAFRUIT_IO_USERNAME = 'YOUR ADAFRUIT IO USERNAME' 通过NOVA启动网络连接 sudo hologram network connect OBD ScanTool的另一端连接活动的车辆。

    启动脚本

    sudo python

    哇!

    现状你会注意到每两分钟就有数据被发送到Adafruit云。您可以通过编辑main.py脚本底部的休眠时间来更改这个间隔。 现在去你的adafruit控制面板,你应该会看到地图上你的位置和表盘应该显示你的汽车的速度! 我希望你喜欢这个项目,我希望你将帮助贡献和分享你做什么!这是我第一次创建Python项目,所以我确信它可以得到改进。

    OBD-II命令-你还能做什么?!

    主要示例发送SPEED命令返回的值。下面是如何使用OBD python库的一个基本示例。 下面是所有支持的命令的链接https://github.com/brendan-w/python-OBD/blob/master/docs/Command%20Tables.md 试试不同的方法,看看你是否能从你的车里找到更有用的数据。
import obd
connection = obd.OBD() # auto-connects to USB or RF port
cmd = obd.commands.STATUS # select an OBD command (sensor)
response = connection.query(cmd) # send the command, and parse the response

print(response.value) # returns unit-bearing values thanks to Pint

代码

https://github.com/HologramEducation/hologram-vehicle-monitor

本文转载自https://www.hackster.io/virgilvox/vehicle-fleet-monitoring-810940

理工酷提示:

如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈

评论(0)

0/250