電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>MQTT OBD車輛遙測(cè)開(kāi)源

MQTT OBD車輛遙測(cè)開(kāi)源

2022-10-24 | zip | 0.01 MB | 次下載 | 2積分

資料介紹

描述

1) 簡(jiǎn)而言之

所以今天我們將把我們的汽車連接到互聯(lián)網(wǎng)。字面上地。使用 Arduino MKR1000 和 ELM327 微控制器,我們將使用 MQTT 協(xié)議將各種數(shù)據(jù)從汽車的發(fā)動(dòng)機(jī)控制單元(RPM、發(fā)動(dòng)機(jī)溫度、速度......)發(fā)送到 IBM Watson Cloud。此外,我們將使用 Node-RED(可在 IBM Watson Cloud 上獲得)和使用 SwiftUI 和 CocoaPod 的 MQTT 庫(kù)的自定義 iOS 應(yīng)用程序創(chuàng)建響應(yīng)式 Web 應(yīng)用程序界面。

2) 需要硬件

該項(xiàng)目的核心是基于 Arduino MKR1000。這個(gè)小設(shè)備的優(yōu)點(diǎn)是嵌入式 WiFi 屏蔽,它允許我們創(chuàng)建與 IBM Watson Cloud 的連接。下一部分是 ELM327 - 通過(guò) UART 連接到 Arduino 的微控制器。這個(gè)小家伙允許我們使用 Arduino 發(fā)送的 PID 代碼讀取 ECU 的數(shù)據(jù)。由于我們正在將車輛連接到互聯(lián)網(wǎng),因此查看它的位置是一種很好的方式。所以出于這個(gè)原因,我們也在使用 NEO-6M GPS 模塊。

3) IBM 沃森云

Watson Cloud 是處理和可視化收集到的數(shù)據(jù)的絕佳解決方案。它有各種資源,但您基本上需要的是在https://cloud.ibm.com/上注冊(cè)并為IoT 平臺(tái)創(chuàng)建資源。此資源用作 MQTT 代理,并將為代理(服務(wù)器)生成 URL。在平臺(tái)內(nèi)部,我們將為兩個(gè) MQTT 客戶端 - Arduino 和 iOS 應(yīng)用程序創(chuàng)建身份驗(yàn)證憑證。我們還可以將代理的安全性更改為可選的 TLS,因?yàn)槲覀冊(cè)?a target='_blank' class='arckwlink_none'>端口 1883 上以純文本形式發(fā)送數(shù)據(jù)。接下來(lái)是創(chuàng)建Node-RED資源。這將允許我們處理來(lái)自 MQTT 客戶端(發(fā)布者/訂閱者)的數(shù)據(jù),還可以創(chuàng)建一個(gè) Web 界面。成功創(chuàng)建 Node-RED 資源后,我們必須導(dǎo)入自定義調(diào)色板。對(duì)于 Node-RED 資源和 IoT 平臺(tái)資源之間的互連,請(qǐng)導(dǎo)入node-red-contrib-scx-ibmiotap 。用于創(chuàng)建 web-app ui 導(dǎo)入nodered-dashboard。最后但同樣重要的是,要將 Node-RED 與 IoT 平臺(tái)互連,請(qǐng)返回到 Watson Cloud 中的 Node-RED 資源,選擇Connections/CreateConnection并選擇連接到 IoT 平臺(tái)的資源。

值得一提的是,我們正在使用 IBM Watson Cloud 的免費(fèi)版本。但由于我們使用 MQTT 發(fā)送小型 ECU 數(shù)據(jù)(JSON 格式)(最小開(kāi)銷大小僅為 2 字節(jié)),云的容量為 200 MB/月意味著最終有足夠的空間。

在圖 3.1 中,我們可以看到最終的 Node-RED 流程,可在本文末尾找到。基本上,您需要修改深藍(lán)色節(jié)點(diǎn) - 根據(jù)您的 IoT 平臺(tái)更改 MQTT 憑據(jù)。所有其他塊可以保持不變。也許有一個(gè)問(wèn)題,為什么我們有這么多功能塊 - 答案是,它們用于基于 MQTT 主題拆分?jǐn)?shù)據(jù) - 例如,如果我們有帶有引擎溫度的 web-app 儀表,我們將只發(fā)送引擎溫度并跳過(guò)其他數(shù)據(jù)(RPM,速度.......)。

pYYBAGNVjYSAR1TkAAI7IeXboZE150.png
圖 3.1:Node-RED 流程
?

成功導(dǎo)入流程代碼后,點(diǎn)擊部署按鈕。要訪問(wèn)已創(chuàng)建的 Web 應(yīng)用 UI ,請(qǐng)將 URL 中的/red/xxxxxx替換為/ui

3) 硬件連接

由于 Arduino MKR1000 默認(rèn)只有一個(gè) UART 連接,因此將 GPS 模塊 RX 引腳連接到 Arduino 引腳 0,將 TX 引腳連接到 Arduino 引腳 1。我們將在 in.ino 代碼中定義第二個(gè) UART。

4) Arduino 軟件

Arduino 代碼附在本文末尾。您需要做的是確保安裝了以下庫(kù):

WiFi101.h

MQTTClient.h

布線_private.h

TinyGPS++.h

接下來(lái)根據(jù)您的 IoT 平臺(tái)(代理和客戶端憑據(jù))更改您的 Wi-Fi 憑據(jù)和 MQTT 憑據(jù)。還有頭文件premenne.h的代碼- 確保將此文件放入項(xiàng)目文件夾,因?yàn)樗@取用于從車輛 ECU 檢索數(shù)據(jù)的函數(shù),并將它們從 HEX 轉(zhuǎn)換為 DEC。

5) iOS 應(yīng)用程序

這部分是完全可選的,不會(huì)影響您的網(wǎng)絡(luò)應(yīng)用程序的運(yùn)行。但是,如果您想擁有專門的應(yīng)用程序,請(qǐng)按照下列步驟操作:

  • 創(chuàng)建新的 Xcode 項(xiàng)目
  • 使用終端使用以下命令安裝 Cocoapods:sudo gem install cocoapodpod setup 。這個(gè)過(guò)程需要一段時(shí)間,所以不用擔(dān)心。
  • 將終端內(nèi)的目錄更改為項(xiàng)目文件夾并發(fā)出以下命令:pod init
  • 打開(kāi)創(chuàng)建的 pod 文件并將目標(biāo) iOS 版本更改為 13.0。還將MQTT 庫(kù)名稱插入 pod 文件為:pod 'CocoaMQTT'并保存文件
  • 在終端發(fā)出podinstall命令,這將開(kāi)始將 MQTT 庫(kù)包含到您的項(xiàng)目中的過(guò)程

SwiftUI 項(xiàng)目代碼包含在本文末尾,您需要更改的只是 ContentView 中基于 IBM IoT 平臺(tái)的 MQTT 憑證。應(yīng)用程序的輸出如圖 5.1 所示,我們可以看到 3 個(gè)水平部分:

a) 頂部按鈕 - 用于連接到 MQTT 代理和發(fā)布/訂閱我們選擇的主題(溫度、RPM ......)

b) MapView - 帶有注釋標(biāo)記的地圖,通知我們車輛的當(dāng)前位置

c) 水平滾動(dòng)菜單 - 帶有 ECU 數(shù)據(jù)的儀表

poYBAGNVjYeAD9c0AAE9KDikY90062.png
圖 5.1:iOS 應(yīng)用程序
?

6) web-app 的最終輸出

創(chuàng)建的 Node-RED Web 應(yīng)用程序 UI 從漢堡菜單中獲得兩個(gè)選擇:靜態(tài)測(cè)試 - 用于從 ECU 中僅檢索一個(gè)值和動(dòng)態(tài)測(cè)試 - 每 2 秒從 ECU 檢索值(基于.ino 延遲 - 可以更改)。靜態(tài)測(cè)試界面如下圖所示。

pYYBAGNVjYmAd9kkAAClTGbq63A526.png
圖 6.1:Node-RED 網(wǎng)絡(luò)應(yīng)用 UI
?

如果您有任何問(wèn)題,請(qǐng)隨時(shí)提問(wèn)。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)