曾几何时,大约在90年代中期,奔腾Pro处理器问世期间,英特尔Gordon Moore的一位创始人指出:“如果汽车产业以半导体产业的发展速度发展,那么今天的罗尔斯·罗伊斯可以推动500万辆汽车的发展。每加仑汽油英里数,扔掉它比付停车费要便宜。” 但是,也许,当今汽车行业已经朝着燃料类型的根本变化和汽车技术的发展方向迈出了巨大的一步。 几乎在最近,出现了商用电动汽车和氢动力汽车,而自动驾驶仪正成为汽车电子“加油”的理想组件。 在很大程度上,由于基于智能电子技术的可靠,安全的解决方案在汽车车载控制系统中的出现,汽车行业的快速突破才得以实现。 但是,汽车在日常生活中的互联网在哪里,物联网(IoT)的技术在哪里,以及汽车与网络相连的著名概念(Connected Car)在哪里?
劳斯莱斯103EX。 -Royce推出劳斯莱斯无人驾驶,说明电动概念车,有座位的完整的丝绸爱- 电报 。实际上,所有上述技术已经存在并且仅在足够独立的解决方案中使用。 原因是在运输中启动任何新技术或解决方案时必须严格执行严格的安全要求。 因此,不能说当您使用智能手机开车时,可以自动获得IoT或联网汽车解决方案。 在大多数国家,这非常合乎逻辑,在开车时禁止使用智能手机或其他小工具,而且如果我们谈论语音助手,在大多数情况下,它们现在困扰着驾驶员和乘客,分散了他们的注意力。 反过来,媒体中心,附加的视频屏幕和出色的音响效果当然是现代汽车非常吸引人的组件。 但是我想听一听,请注意,消音音乐,只是看着窗外的街道或大自然掠过是很好的。 当然,这里会出现交通拥堵的情况,但是在本出版物中,其目的不是要注意一些道德因素,也不是要考虑道路用户信息过多的问题,而是要考虑已经在车辆中使用并可以广泛使用的IoT技术的那些``不可见''部分。
如今,Mojio的开放式互联汽车平台是一种有趣且非常有前途的汽车物联网解决方案。 具有开放接口(API)的该平台为“联网”汽车提供云服务,并且已经有商业报价。 例如,基于此平台的电信巨头T-Mobile提供SyncUP DRIVE服务。 这种基于经由诊断插头连接到汽车的便携式设备上的硬件和软件解决方案
的OBD-II ,以及相应的移动应用。 借助这种方法,可以有效地连续监控汽车的运行参数,并随时获取其当前位置。 该应用程序可以讨论驾驶风格,警告预防性维护,还可以通知车主有关车辆的问题。 此外,SyncUP DRIVE使用通过移动LTE标准的高速协议进行的访问在汽车中部署Wi-Fi接入点。
开放平台的联网汽车- Mojio标准的OBD-II诊断连接器用于连接到车辆。 1996年以后生产的大多数量产车已经具有此连接器。 尽管这种诊断连接器已标准化,但它支持IoT通信模块必须知道的各种引擎控制系统的多种协议(物理上使用了连接器上的不同触点)。 因此,在不同的汽车品牌中,可能会有不同的内部总线,用于从发动机控制单元(ECU-电子控制单元)获取诊断数据。 为了使用SyncUP DRIVE服务,提供了基于ZTEWelink VM6200S模块的解决方案。
VM6200S模块支持通过LTE移动协议进行连接,包含集成的3轴加速度传感器和3轴陀螺仪,GPS信号接收器,OBD-II芯片,并支持ISO 15765-4(CAN),ISO 14230-4 KWP协议(关键字协议2000),ISO 9141-2(克莱斯勒,欧洲和亚洲的汽车),SAE J1850 PWM(福特汽车),SAE J1850 VPW(通用汽车)。 因此,该模块允许您部署Wi-Fi接入点802.11 b / g / n /,在行驶过程中注册事件,执行发动机诊断,评估燃油经济性等。 由于Mojio的合作伙伴是Amazon Alexa项目,IFTTT服务以及其他项目,因此,所有解决方案的开发者和集成商都可以打开解决方案,以建立基于“互联”汽车的社交IoT(作为此类基础架构的一部分)。
VM6200S4G OBD设备-中兴通讯股份有限公司但是,不仅SyncUP DRIVE现在已经投放市场,例如,许多公司都提供类似的产品。 当然,最近推出的Samsung Connect自动设备是将汽车变成连接设备的有趣建议之一。 三星的解决方案以相同的方式使用4G LTE一代移动网络,并在车内部署Wi-Fi接入点:802.11 a / b / g / n。 Connect auto设备支持Bluetooth v4.1,包含GPS接收器,加速度传感器,陀螺仪,并且基于频率为1.2GHz的4核处理器和Tizen操作系统。 应该注意的是,韩国电子巨头三星通过使用三星Knox(一种具有企业级保护的移动解决方案)来谈论系统的安全性。 实际上,三星Knox是一种软件和硬件解决方案,可以增强对Android操作系统的保护。
三星Connect自动因此,通过读取数据的装置获得的信息
OBD-II ,一个GPS接收器的位置的当前坐标和车辆运动的动态特性的参数,在当前时间与所述陀螺仪传感器获得的,并且事实上,已经成为任何车辆的,在转换的基础上物联网设备。 此外,您可以考虑使用从汽车接收的汇总信息的方案,应用各种大数据处理技术,并且您不应忘记将此类数据与智能道路基础设施中的信息相结合的前景。 但占用了数据的处理之前,他们需要先得到,所以在这个publication'll重点工作情况下,在诊断OBD-II连接器的一级执行的硬件组件上。
这种或那种方式,但所有前面所讨论的解决方案-更先进的工业产品相比,基于芯片的常规诊断读码器
ELM327加拿大公司榆树电子。
ELM327是 -它是在诊断轮胎的车辆,例如RS-232串行协议中使用的通用协议转换器。
ELM327 v2.2芯片的框图-Elm Electronics通过芯片支持的标准AT命令与ELM327进行交互。 你只需要整理文字信息的交换,已经成为经典,协议
RS-232 (或者更准确
的UART ,因为我们对数据流只谈论,而不是信号电平)。 通过USB,蓝牙或Wi-Fi进行的低级物理连接本身可以使用串行转换协议UART芯片轻松实现。 事实证明,要把汽车变成物联网设备,就足够了,不要忘记协调电压水平,将ELM327芯片连接到OBD-II诊断连接器,例如在该芯片的输出端将串行接口转换器插入蓝牙或Wi-Fi。 然后,您可以从智能手机“读取”车辆的诊断信息。 但是,市场上有很多这种现成的模块或模块。 它们在速卖通上的价格从2.50美元到10美元不等。 尽管该模块不应消耗太多功率,但是如果已经有电源关闭按钮,它将非常方便。 顺便说一句,从安全角度来看-这也不错。
迷你ELM327蓝牙OBD-II汽车诊断适配器V1.5现在您可以连接标准的Mini ELM327蓝牙OBD-II V1.5模块(有趣的是,建议在许多来源中使用旧固件版本为1.5的模块,而不是使用2.2版本的新固件,即,作为一个论据,该模块在旧固件上的运行更稳定固件和对更多汽车的支持,但这是非常主观的),并尝试将智能手机连接到所选模块,例如,对于Android平台,您可以使用最受欢迎的诊断程序之一Torque Lite(OBD2和Car)或Torque Pro(OBD 2和Car)以及任何东西 使用更方便,或者他们的成就。
Torque Pro应用程序可在Android上运行。顺便说一句,我想指出一个非常方便的服务
MockUPhone用免费的模拟式的现代小工具,这是工作计划截图扭矩的准备是非常有用的。 但这与出版主题略有不同。 应当注意,在大多数情况下,诊断模块所连接的OBD-II连接器位于汽车的转向柱下方。
OBD-II入门-SparkFun Electronics显然,有许多现成的解决方案。 但是,如果我们正在谈论开发基于物联网或更具体的服务-已实现互联汽车概念,那么使用汽车的车载信息网络仿真器会很方便,这样就不会每次都跑到汽车上。 例如,Mojio与它的API提供网上汽车模拟器,并在文章中使用云服务IBM沃森物联网平台工作的例子作品:«
发送软件的车辆数据的IBM沃森物联网平台-在IBM developerWorks的食谱 »被邀请与交通数据云发送手段来使用移动应用,例如,«
IBM的物联网汽车-的OBDII车队管理应用程序的所有Android »,这与解析云服务交互«
的IBM物联网汽车(Bluemix) -车队管理的初级应用 »,但如果你没有得到这些项目分心能只需使用一个仿真器的数据:«
汽车模拟器 »。 的确,所有这些解决方案基本上都可以模拟已经接收到的数据,我们对车载信息网络的仿真器很感兴趣。 最有名的是解决方案 - 它ECUsim 2000年,其成本开始为US $ 200取决于仿真支持的协议的数量。
ECUsim 2000 OBD模拟器-ScanTool当然,不能替代专业的仿真器,但是发烧友和极客可能会对在Arduino或Raspberry Pi上独立实施一个不太复杂的项目感兴趣。 例如,您可以限制自己使用最常见的CAN(控制器局域网)接口。 有一段时间,标准
的CAN ,由博世公司提出,在系统开发的汽车电子已取得显著的进展。 如果互联网上的汽车只是最近才出现,那么汽车内部网络的概念自80年代中期以来就已经存在。 这个想法非常简单,随着以太网在计算机网络中取得突破,CAN成为了车内可靠通信的基础。
基于Arduino的CAN总线网络-Henry's Bench以前,通常在汽车中,各种连接的模块和设备的总线和电线“流入”中央发动机控制单元。 串行两线CAN总线使实现已经独立的智能模块成为可能,例如,中央控制单元实际上只是通过网络协议相互“通信”的那些模块之一。 这大大减少了车内的布线量。
与以太网不同,CAN网络更加可靠,这不仅使它在汽车工业中得到使用,而且在工业自动化系统,智能家居解决方案等中也得到了使用。 在物理级别,CAN使用两线线路CAN Lo和CAN Hi,它们按位传输打包在数据包中的数据。 在总线的末端有匹配的120欧姆电阻,还应使用线束来抑制干扰。 数据传输速率可以达到1 Mbps。
控制器局域网(CAN总线)数据传输到CAN总线有点让人想起发布者-订阅者模型,在该模型中,总线上的每个设备都有唯一的标识符,当一个设备传输数据时,其他每个人都在侦听并根据此标识符做出决定-他们是否特别需要这些标识符?是否接收和处理数据。 通常,该协议非常复杂,但是对于微控制器或微处理器,不太可能必须编写CAN实现并考虑物理数据传输介质的功能。 为了解决这些问题,已经有现成的硬件总线控制器,并且为了进行电平匹配,通常使用集成转换器。 例如,带有SPI的MCP2515控制器和收发器(匹配级芯片)MCP2551。 正是基于这些芯片和拟建项目的Arduino OBD2模拟器,在网站上公布的
造说明 。 要实现它,您只需要Arduino UNO板和CAN-BUS Shield,例如Seeed Technology。
使用Arduino OBD2模拟器进行实验原则上,对于开发OBD-II数据仿真器,ELM327模块的DC 12V电源以及OBD-II连接器不会受到伤害。 但是,无名称转换器DC-DC-USB-TO-12V可以很好地解决此问题,因为 也许任何物联网开发人员不仅可以使用几种5V电源。 要连接到OBD-II,将需要两条信息线CAN_H和CAN_L,以及存在12 V电源,但是如前所述,仅12 V是确保ELM327模块可操作性所必需的。
CAN-BUS Shield V1.2-Seeed开发有限公司Wiki在CAN-BUS Shield扩展板上,不使用D-SUB连接器,而仅使用两个触点(CAN_H,CAN_L)的端子排,非常方便。 从代码的发展来看,应该指出的是,原型爱好者都发布在
GitHub上 。 现在Seeed董事会已经改变,并且在任何情况下对控制器MCP2515是更好地使用新的驱动程序的所有各项─
Seeed工作室 。 当然,对于新驱动程序,原始程序将需要稍作修改,但这需要几分钟。
在基于低成本OBD2 ECU模拟器的Arduino IDE中使用CAN-BUS但是,所考虑的示例非常原始,因为通过OBD-II协议发送的所有参数都是简单地随机生成的,因此发动机运行参数之间没有任何联系,等等。 作为该项目的继续,很明显,已经开发出类似于Freematics OBD-II Emulator GUI的应用程序。 这是一种图形壳与开源的,这是在硬件解决方案中使用
Freematics模拟器的OBD-II 。
Freematics OBD-II模拟器GUI-Freematics因此,已经组装了基于Arduino并允许与CAN一起工作的模块,因此很有可能创建一个OBD-II仿真器,因为诊断协议已得到很好的描述,并且实现起来并不困难。 应当注意的是,微控制器和车载CAN总线之间的交互是完全不同的任务,您需要了解,该总线的内部高级协议没有由汽车制造商记录,另一方面,它们不应嵌入汽车电子设备的内部设备中,因此决不能降低车辆的安全性。 如果我们通常谈论CAN,则很有可能使用高级开放式CANopen协议来基于此总线开发设备。
较小的情况仍然存在-可以有一点空闲时间和乐趣来进行代码开发。 是的,今年年底该在哪里找到? 但是我们将保持乐观。 但是,当涉及到这个模拟器OBD-II,最直接的线的应用 - 这个发展有其诊断插座模块。 例如,您可以将Carloop开放项目作为起点,该项目旨在创建一个模块,用于使用3G,Wi-Fi或蓝牙技术将汽车连接到云。
Carloop蓝牙Carloop项目基于以下板的使用:粒子光子(基于支持802.11b / g / n的Cypress BCM43362 Wi-Fi模块; ARM Cortex M3控制器系列-频率为120Mhz的STM32F205; 1MB闪存; 128KB RAM)和电子(支持连接到3G / 2G移动网络的板)。 粒子平台本身非常有趣,因为它基于基于云的IoT设备连接服务,这是一种用于开发的基于云的IDE,例如基于Photon板,该板使用类似于Arduino的C / C ++语言。 实际上,Particle是一个单独的发行主题,Carloop项目作为连接的IoT设备无疑值得汽车发烧友特别关注。
通过将汽车连接到Internet和IoT服务,您可以实现许多场景,这些场景无疑将有助于提高车辆的易用性,增加舒适度,并且简单地为包括交通运输在内的日常问题提供有效的解决方案。 例如,保险公司可能已经充分考虑了有关驾驶方式,发动机和车辆部件的可靠性的数据。 汽车的当前位置将与出租车服务和汽车租赁有关。
使用IoT时,道路用户的交互变得更加便捷,还有停车问题,找到可用的停车位等等。我们希望能够实现该出版物的思想-在一个地方收集了有关使用OBD-II诊断连接器的材料,包括简单读取故障代码和模拟与汽车的物理连接的水平。我们也希望读者提出意见。总而言之,我想指出的是,仅考虑了开发联网汽车设备的几个问题,但许多技术仍在幕后,这些技术以一种或另一种方式将现代汽车转变为物联网设备并使乘车更加舒适和安全。当然,我们将在以后的出版物中返回这些主题。:
—
Car Hacking: ? –—
- 25 ! – Computerworld—
T‑Mobile SyncUP DRIVE – T-MOBILE—
ZTE Mojio – ZTE Corporation—
Samsung Knox – SAMSUNG—
CAN – «»—
— – IBM developerWorks—
Vehicle telematics analytics using Watson IoT Platform Cloud Analytics – IBM developerWorks Recipes—
CAN CANopen –—
CANopen –—
Arduino – Geektimes—
Wiring the MCP2515 Controller Area Network CAN BUS Diagnostics – 14CORE—
Arduino OBD2 ELM327 I2C-LCD HC05 Bluetooth – Instructables—
Android OBDII –