電子發(fā)燒友App

硬聲App

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

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

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

MQTT OBD車輛遙測開源

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

資料介紹

描述

1) 簡而言之

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

2) 需要硬件

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

3) IBM 沃森云

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

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

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

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

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

3) 硬件連接

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

4) Arduino 軟件

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

WiFi101.h

MQTTClient.h

布線_private.h

TinyGPS++.h

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

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

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

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

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

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

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

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

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

6) web-app 的最終輸出

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

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

如果您有任何問題,請隨時提問。


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

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