资料介绍
描述
1) 简而言之
所以今天我们将把我们的汽车连接到互联网。字面上地。使用 Arduino MKR1000 和 ELM327 微控制器,我们将使用 MQTT 协议将各种数据从汽车的发动机控制单元(RPM、发动机温度、速度......)发送到 IBM Watson Cloud。此外,我们将使用 Node-RED(可在 IBM Watson Cloud 上获得)和使用 SwiftUI 和 CocoaPod 的 MQTT 库的自定义 iOS 应用程序创建响应式 Web 应用程序界面。
2) 需要硬件
该项目的核心是基于 Arduino MKR1000。这个小设备的优点是嵌入式 WiFi 屏蔽,它允许我们创建与 IBM Watson Cloud 的连接。下一部分是 ELM327 - 通过 UART 连接到 Arduino 的微控制器。这个小家伙允许我们使用 Arduino 发送的 PID 代码读取 ECU 的数据。由于我们正在将车辆连接到互联网,因此查看它的位置是一种很好的方式。所以出于这个原因,我们也在使用 NEO-6M GPS 模块。
3) IBM 沃森云
Watson Cloud 是处理和可视化收集到的数据的绝佳解决方案。它有各种资源,但您基本上需要的是在https://cloud.ibm.com/上注册并为IoT 平台创建资源。此资源用作 MQTT 代理,并将为代理(服务器)生成 URL。在平台内部,我们将为两个 MQTT 客户端 - Arduino 和 iOS 应用程序创建身份验证凭证。我们还可以将代理的安全性更改为可选的 TLS,因为我们在端口 1883 上以纯文本形式发送数据。接下来是创建Node-RED资源。这将允许我们处理来自 MQTT 客户端(发布者/订阅者)的数据,还可以创建一个 Web 界面。成功创建 Node-RED 资源后,我们必须导入自定义调色板。对于 Node-RED 资源和 IoT 平台资源之间的互连,请导入node-red-contrib-scx-ibmiotap 。用于创建 web-app ui 导入nodered-dashboard。最后但同样重要的是,要将 Node-RED 与 IoT 平台互连,请返回到 Watson Cloud 中的 Node-RED 资源,选择Connections/CreateConnection并选择连接到 IoT 平台的资源。
值得一提的是,我们正在使用 IBM Watson Cloud 的免费版本。但由于我们使用 MQTT 发送小型 ECU 数据(JSON 格式)(最小开销大小仅为 2 字节),云的容量为 200 MB/月意味着最终有足够的空间。
在图 3.1 中,我们可以看到最终的 Node-RED 流程,可在本文末尾找到。基本上,您需要修改深蓝色节点 - 根据您的 IoT 平台更改 MQTT 凭据。所有其他块可以保持不变。也许有一个问题,为什么我们有这么多功能块 - 答案是,它们用于基于 MQTT 主题拆分数据 - 例如,如果我们有带有引擎温度的 web-app 仪表,我们将只发送引擎温度并跳过其他数据(RPM,速度.......)。
成功导入流程代码后,点击部署按钮。要访问已创建的 Web 应用 UI ,请将 URL 中的/red/xxxxxx替换为/ui
3) 硬件连接
由于 Arduino MKR1000 默认只有一个 UART 连接,因此将 GPS 模块 RX 引脚连接到 Arduino 引脚 0,将 TX 引脚连接到 Arduino 引脚 1。我们将在 in.ino 代码中定义第二个 UART。
4) Arduino 软件
Arduino 代码附在本文末尾。您需要做的是确保安装了以下库:
WiFi101.h
MQTTClient.h
布线_private.h
TinyGPS++.h
接下来根据您的 IoT 平台(代理和客户端凭据)更改您的 Wi-Fi 凭据和 MQTT 凭据。还有头文件premenne.h的代码- 确保将此文件放入项目文件夹,因为它获取用于从车辆 ECU 检索数据的函数,并将它们从 HEX 转换为 DEC。
5) iOS 应用程序
这部分是完全可选的,不会影响您的网络应用程序的运行。但是,如果您想拥有专门的应用程序,请按照下列步骤操作:
- 创建新的 Xcode 项目
- 使用终端使用以下命令安装 Cocoapods:sudo gem install cocoapod和pod setup 。这个过程需要一段时间,所以不用担心。
- 将终端内的目录更改为项目文件夹并发出以下命令:pod init
- 打开创建的 pod 文件并将目标 iOS 版本更改为 13.0。还将MQTT 库名称插入 pod 文件为:pod 'CocoaMQTT'并保存文件
- 在终端发出podinstall命令,这将开始将 MQTT 库包含到您的项目中的过程
SwiftUI 项目代码包含在本文末尾,您需要更改的只是 ContentView 中基于 IBM IoT 平台的 MQTT 凭证。应用程序的输出如图 5.1 所示,我们可以看到 3 个水平部分:
a) 顶部按钮 - 用于连接到 MQTT 代理和发布/订阅我们选择的主题(温度、RPM ......)
b) MapView - 带有注释标记的地图,通知我们车辆的当前位置
c) 水平滚动菜单 - 带有 ECU 数据的仪表
6) web-app 的最终输出
创建的 Node-RED Web 应用程序 UI 从汉堡菜单中获得两个选择:静态测试 - 用于从 ECU 中仅检索一个值和动态测试 - 每 2 秒从 ECU 检索值(基于.ino 延迟 - 可以更改)。静态测试界面如下图所示。
如果您有任何问题,请随时提问。
- OBD车载诊断蓝牙模块方案
- MQTT瑞昱Ameba RTL8195开源分享
- MQTT灯塔开源分享
- 无人驾驶车辆开源分享
- MQTT.Chat开源的MQTT消息传递代理
- MQTT网关BL101
- 箭载无线收发机的遥测参数综述 14次下载
- 车联网环境中混合车流的车辆换道行为决策模型 14次下载
- 车诊断系统OBDⅡ的应用情况和使用蓝牙技术设计汽车OBDⅡ接口的概述 29次下载
- 如何使用MQTT客户端连接阿里云MQTT服务器详细教程说明
- MQTT物联网网关的常见类型 31次下载
- 基于车辆obd接口的简单介绍 3次下载
- obd是什么意思_obd的工作原理与特点介绍 41次下载
- 什么是OBD 72次下载
- 车载诊断系统(OBD)培训
- 汽车OBD是什么?OBD的应用场景 643次阅读
- 如何在Raspberry Pi树莓派上安装Mosquitto部署MQTT服务器呢? 879次阅读
- 车辆OBD是什么?全面了解OBD系统 1660次阅读
- MQTT和Modbus协议的区别 1899次阅读
- MQTT通信协议和工具包简介 1266次阅读
- MQTT协议的概念和主要特性 MQTT协议于物联网有何好处 2230次阅读
- 带你全面了解OBD系统 1343次阅读
- MQTT协议简介及协议原理 6724次阅读
- MQTT是什么? 1.2w次阅读
- 小凌派RK2206开发板:实现基于OpenHarmony的本地MQTT协议 4567次阅读
- HTTP及MQTT比较分析 5617次阅读
- dfrobotDB9 OBD II连接线简介 2514次阅读
- 分解OBD接口能到采集哪些具体的车辆数据 2.3w次阅读
- 浅谈汽车故障诊断OBD接口功用和引脚定义 10.2w次阅读
- 温度遥测电路 2001次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多