資料介紹
描述
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,速度.......)。
成功導(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 cocoapod和pod 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ù)的儀表
6) web-app 的最終輸出
創(chuàng)建的 Node-RED Web 應(yīng)用程序 UI 從漢堡菜單中獲得兩個選擇:靜態(tài)測試 - 用于從 ECU 中僅檢索一個值和動態(tài)測試 - 每 2 秒從 ECU 檢索值(基于.ino 延遲 - 可以更改)。靜態(tài)測試界面如下圖所示。
如果您有任何問題,請隨時提問。
- OBD車載診斷藍(lán)牙模塊方案
- MQTT瑞昱Ameba RTL8195開源分享
- MQTT燈塔開源分享
- 無人駕駛車輛開源分享
- MQTT.Chat開源的MQTT消息傳遞代理
- MQTT網(wǎng)關(guān)BL101
- 箭載無線收發(fā)機的遙測參數(shù)綜述 14次下載
- 車聯(lián)網(wǎng)環(huán)境中混合車流的車輛換道行為決策模型 14次下載
- 車診斷系統(tǒng)OBDⅡ的應(yīng)用情況和使用藍(lán)牙技術(shù)設(shè)計汽車OBDⅡ接口的概述 29次下載
- 如何使用MQTT客戶端連接阿里云MQTT服務(wù)器詳細(xì)教程說明
- MQTT物聯(lián)網(wǎng)網(wǎng)關(guān)的常見類型 31次下載
- 基于車輛obd接口的簡單介紹 3次下載
- obd是什么意思_obd的工作原理與特點介紹 41次下載
- 什么是OBD 72次下載
- 車載診斷系統(tǒng)(OBD)培訓(xùn)
- 汽車OBD是什么?OBD的應(yīng)用場景 643次閱讀
- 如何在Raspberry Pi樹莓派上安裝Mosquitto部署MQTT服務(wù)器呢? 879次閱讀
- 車輛OBD是什么?全面了解OBD系統(tǒng) 1660次閱讀
- MQTT和Modbus協(xié)議的區(qū)別 1899次閱讀
- MQTT通信協(xié)議和工具包簡介 1266次閱讀
- MQTT協(xié)議的概念和主要特性 MQTT協(xié)議于物聯(lián)網(wǎng)有何好處 2230次閱讀
- 帶你全面了解OBD系統(tǒng) 1343次閱讀
- MQTT協(xié)議簡介及協(xié)議原理 6724次閱讀
- MQTT是什么? 1.2w次閱讀
- 小凌派RK2206開發(fā)板:實現(xiàn)基于OpenHarmony的本地MQTT協(xié)議 4567次閱讀
- HTTP及MQTT比較分析 5617次閱讀
- dfrobotDB9 OBD II連接線簡介 2514次閱讀
- 分解OBD接口能到采集哪些具體的車輛數(shù)據(jù) 2.3w次閱讀
- 淺談汽車故障診斷OBD接口功用和引腳定義 10.2w次閱讀
- 溫度遙測電路 2001次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多