資料介紹
描述
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 流程,可在本文末尾找到。基本上,您需要修改深藍色節(jié)點 - 根據(jù)您的 IoT 平臺更改 MQTT 憑據(jù)。所有其他塊可以保持不變。也許有一個問題,為什么我們有這么多功能塊 - 答案是,它們用于基于 MQTT 主題拆分數(shù)據(jù) - 例如,如果我們有帶有引擎溫度的 web-app 儀表,我們將只發(fā)送引擎溫度并跳過其他數(shù)據(jù)(RPM,速度.......)。

成功導(dǎo)入流程代碼后,點擊部署按鈕。要訪問已創(chuàng)建的 Web 應(yīng)用 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
接下來根據(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 文件并將目標 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 - 帶有注釋標記的地圖,通知我們車輛的當前位置
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車載診斷藍牙模塊方案
 - 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)用情況和使用藍牙技術(shù)設(shè)計汽車OBDⅡ接口的概述 30次下載
 - 如何使用MQTT客戶端連接阿里云MQTT服務(wù)器詳細教程說明
 - MQTT物聯(lián)網(wǎng)網(wǎng)關(guān)的常見類型 31次下載
 - 基于車輛obd接口的簡單介紹 3次下載
 - obd是什么意思_obd的工作原理與特點介紹 41次下載
 - 什么是OBD 72次下載
 - 車載診斷系統(tǒng)(OBD)培訓(xùn)
 
- MICROSAR Classic OBD方案概覽 456次閱讀
 - 汽車OBD是什么?OBD的應(yīng)用場景 1259次閱讀
 - 如何在Raspberry Pi樹莓派上安裝Mosquitto部署MQTT服務(wù)器呢? 1229次閱讀
 - 車輛OBD是什么?全面了解OBD系統(tǒng) 2843次閱讀
 - MQTT和Modbus協(xié)議的區(qū)別 3111次閱讀
 - MQTT通信協(xié)議和工具包簡介 1751次閱讀
 - MQTT協(xié)議的概念和主要特性 MQTT協(xié)議于物聯(lián)網(wǎng)有何好處 2557次閱讀
 - 帶你全面了解OBD系統(tǒng) 1618次閱讀
 - MQTT協(xié)議簡介及協(xié)議原理 7134次閱讀
 - 小凌派RK2206開發(fā)板:實現(xiàn)基于OpenHarmony的本地MQTT協(xié)議 4964次閱讀
 - HTTP及MQTT比較分析 5881次閱讀
 - dfrobotDB9 OBD II連接線簡介 2691次閱讀
 - 分解OBD接口能到采集哪些具體的車輛數(shù)據(jù) 2.3w次閱讀
 - 淺談汽車故障診斷OBD接口功用和引腳定義 10.2w次閱讀
 - 溫度遙測電路 2082次閱讀
 
下載排行
本周
- 1PFC電路與BOOST電路設(shè)計實例分享
 - 1.83 MB | 12次下載 | 4 積分
 - 2世平基于靈動微 SPIN560C 的低壓無刷電機應(yīng)用方案
 - 10.93 MB | 11次下載 | 免費
 - 3電源測試報告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
 - 6.47 MB | 11次下載 | 免費
 - 4PWM控制器的控制方法
 - 0.39 MB | 3次下載 | 4 積分
 - 5電流檢測芯片F(xiàn)P135應(yīng)用說明
 - 1.24 MB | 3次下載 | 免費
 - 6全面解讀被動式與主動式PFC電路
 - 1.27 MB | 1次下載 | 4 積分
 - 7HC88L051F4低功耗芯片規(guī)格書
 - 4.76 MB | 1次下載 | 免費
 - 8CIU32D655x5數(shù)據(jù)手冊
 - 2.14 MB | 1次下載 | 免費
 
本月
- 1常用電子元器件使用手冊
 - 2.40 MB | 52次下載 | 免費
 - 2高功率密度碳化硅MOSFET軟開關(guān)三相逆變器損耗分析
 - 2.27 MB | 33次下載 | 10 積分
 - 3PFC電路與BOOST電路設(shè)計實例分享
 - 1.83 MB | 12次下載 | 4 積分
 - 4世平基于靈動微 SPIN560C 的低壓無刷電機應(yīng)用方案
 - 10.93 MB | 11次下載 | 免費
 - 5電源測試報告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
 - 6.47 MB | 11次下載 | 免費
 - 6USB拓展塢PCB圖資料
 - 0.57 MB | 11次下載 | 免費
 - 7MS1826 HDMI 多功能視頻處理器數(shù)據(jù)手冊
 - 4.51 MB | 9次下載 | 免費
 - 8HAL9303線性霍爾效應(yīng)傳感器技術(shù)手冊
 - 0.70 MB | 9次下載 | 免費
 
總榜
- 1matlab軟件下載入口
 - 未知 | 935134次下載 | 10 積分
 - 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
 - 1.48MB | 420064次下載 | 10 積分
 - 3Altium DXP2002下載入口
 - 未知 | 233089次下載 | 10 積分
 - 4電路仿真軟件multisim 10.0免費下載
 - 340992 | 191424次下載 | 10 積分
 - 5十天學(xué)會AVR單片機與C語言視頻教程 下載
 - 158M | 183352次下載 | 10 積分
 - 6labview8.5下載
 - 未知 | 81600次下載 | 10 積分
 - 7Keil工具MDK-Arm免費下載
 - 0.02 MB | 73818次下載 | 10 積分
 - 8LabVIEW 8.6下載
 - 未知 | 65991次下載 | 10 積分
 
	                電子發(fā)燒友App
	            
	        
	        
          
        
        
	                    
                        
                        
                        
                        
                        


創(chuàng)作
發(fā)文章
發(fā)帖  
提問  
發(fā)資料
發(fā)視頻
上傳資料賺積分
           
            
            
                
            
評論