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

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

3天內(nèi)不再提示

基于RT-Thread設(shè)備運(yùn)行數(shù)據(jù)分析預(yù)警系統(tǒng)

小華的物聯(lián)網(wǎng)嵌入式之旅 ? 來源:極速紫韻 ? 作者:極速紫韻 ? 2022-06-30 06:22 ? 次閱讀

概述

我們在工廠里,特別是生產(chǎn)重型機(jī)械的工廠里工作過的人都知道,當(dāng)我們需要吊起幾百斤到到幾十噸的重物時,一般都會用到起重機(jī),常見起重機(jī)又分為橋式起重機(jī)、門式起重機(jī)等,都具有自身運(yùn)行軌道的起重機(jī)設(shè)備,他們的運(yùn)行軌道一般根據(jù)車間的長度來安裝和車間的寬度來設(shè)計制造,相當(dāng)于每臺起重設(shè)備都是定制的。常見的起重機(jī)有雙梁和單梁,一般10噸以下多以單梁和小型雙梁為主,10噸到20噸以小型雙梁為主,20噸以上以雙梁為主,同時還配有司機(jī)室。

由于軌道很長,所以是由多根軌道拼接而成,連接處會有縫隙,如果縫隙過大會造成起重機(jī)運(yùn)行過程出現(xiàn)劇烈抖動,如果軌道不平,起重機(jī)運(yùn)行時就會有上坡下坡的情況。設(shè)備會增加自身負(fù)載而影響運(yùn)行安全。為了實(shí)時監(jiān)測設(shè)備運(yùn)行狀態(tài),需要一個小巧跟隨設(shè)備運(yùn)行的數(shù)據(jù)分析儀??梢苑奖惆惭b在需要監(jiān)測的部位,當(dāng)超過設(shè)定相關(guān)參數(shù)的閾值時就會發(fā)出報警信息,配合這樣測量的數(shù)據(jù)更加真實(shí)可靠。除了用于起重機(jī),還可以用于船舶,游樂設(shè)施等。

開發(fā)環(huán)境

本項(xiàng)目采用到硬件方案是:通過ART-Pi STM32H750主板上的I2C引腳和UART以及一個普通IO口就可以實(shí)現(xiàn)與STEVAL-MKI197V1(LSM6DSOX)六軸傳感器STEVAL-MKI192V1(LPS22HH)氣壓傳感器的I2C通信,與廣和通 L610-CN-00 Cat1 模塊實(shí)現(xiàn)串口通信連接物聯(lián)網(wǎng)平臺。

除了以上的外擴(kuò)硬件外,還使用到了ART-PI板載的資源,如WIFI模塊的WIFI和藍(lán)牙功能實(shí)現(xiàn)小程序進(jìn)行藍(lán)牙配網(wǎng)后啟動TCP服務(wù)器,等待其他客戶端連接并進(jìn)行相關(guān)控制。

軟件方案是:

  1. 開發(fā)源碼基礎(chǔ):ART-PI SDK1.0,主要使用到出廠案例中的藍(lán)牙配網(wǎng)
  2. STM32CubeMX:主要用于生成相關(guān)硬件驅(qū)動
  3. 開發(fā)工具及版本:MDK5.31.0.0
  4. ENV工具:通過menuconfig配置L610組件到工程
  5. 物聯(lián)網(wǎng)可視化軟件Node-Red:人機(jī)交互頁面
  6. 阿里云物聯(lián)網(wǎng)開發(fā)平臺,其中阿里云和Node-Red是作為數(shù)據(jù)采集顯示運(yùn)動曲線的上位機(jī),方便對采集的數(shù)據(jù)進(jìn)行分析。
  7. 手機(jī)APP:具有TCP/IP協(xié)議,實(shí)現(xiàn)連接開發(fā)板WIFI。

RT-Thread使用情況概述

總的來講,RT_Thread大部分功能都用到了,因?yàn)槲沂腔诔鰪S代碼來添加自己的應(yīng)用代碼的,這里只介紹自己添加了哪些功能代碼。

內(nèi)核部分:使用了任務(wù)創(chuàng)建、任務(wù)休眠

組件部分:使用了WIFI框架來實(shí)現(xiàn),網(wǎng)絡(luò)接口驅(qū)動、輕量級的TCP/IP協(xié)議、AT指令框架、MQTT組件

軟件包:使用了廣和通L610模組驅(qū)動,連接阿里云軟件包。

硬件框架

框架如圖所示:主要用到ART-PI主板、廣和通L610 cat1模組、六軸傳感器和氣壓計。

pYYBAGK8iPCAIcBvAAfzEGEVyXM590.png廣和通L610 cat1模組 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ART-PI主板 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?六軸傳感器和氣壓計。poYBAGK8iUmAFeUQAAhIQoBb8-g546.png疊羅漢搭積木
  1. 利用ART-PI板載的WIFI/BT(AP6212A)模組實(shí)現(xiàn)TCP服務(wù)器,首先通過手機(jī)的微信小程序讓開發(fā)板連接到無線路由器,然后創(chuàng)建TCP服務(wù)器。通過局域網(wǎng)手機(jī)軟件或網(wǎng)絡(luò)助手軟件都可以連接TCP服務(wù)器。
  2. 六軸傳感器和氣壓計是用于測量設(shè)備運(yùn)行的狀態(tài),如姿態(tài)、方向、高度、溫度等,通過HAL庫的I2C實(shí)現(xiàn)數(shù)據(jù)讀取。
  3. LSM6DSOX 是小尺寸低噪聲低功耗的加速度計陀螺儀二合一芯片 . 具有數(shù)字I2C、SPI 和MIPI I3CSM 串口標(biāo)準(zhǔn)輸出. 是手持便攜式應(yīng)用的理想選擇,如物聯(lián)網(wǎng)(IoT)連接設(shè)備,穿戴,等其他應(yīng)用??衫糜布R別出的自由落體事件、6D 方向、單擊和雙擊感應(yīng)、活動或不活動、喚醒事件,來生成中斷信號??蓡为?dú)設(shè)定最多16 個嵌入式有限狀態(tài)機(jī),用于運(yùn)動檢測或手勢識別,例如查看、絕對手腕傾斜、搖晃、連續(xù)兩次搖晃或拿起。LSM6DSOX 還嵌入了機(jī)器學(xué)習(xí)內(nèi)核邏輯,可以識別數(shù)據(jù)模式與用戶定義的類別集是否匹配。應(yīng)用的典型示例有跑步、行走和駕車等活動檢測。
  4. LSM6DSOX EVB提供完整的LSM6DSOX信號輸出,并在VDD/VDDIO上提供所需的去耦電容,用戶基于它可以快速設(shè)計自己的系統(tǒng)原型和設(shè)備,直接調(diào)試評估芯片的功能和性能參數(shù)。
  5. LPS22HH 是一款高精度氣壓傳感器,可用作數(shù)字輸出氣壓計,具有數(shù)字I2C / MIPI I3CSM / SPI 串行接口標(biāo)準(zhǔn)輸出。工作壓力范圍為260 hPa 至1260 hPa,器件能夠以最高200 Hz 的輸出數(shù)據(jù)率測量壓力值。絕對精度是0.5hPa.LPM下功耗只有4uA.可以用于測量海拔高度,樓層定位,無人機(jī)定高,吸塵器吸力大小判斷等應(yīng)用。
  6. LPS22HH EVB提供完整的氣壓計LPS22HH信號輸出,并在VDD/VDDIO上提供所需的去耦電容,用戶基于它可以快速設(shè)計自己的系統(tǒng)原型和設(shè)備,直接調(diào)試評估芯片的功能和性能參數(shù)。
  7. 廣和通LTE Cat 1模組L610技術(shù)規(guī)格:

(1)、L610是LTE-Cat1制式;(2)、L610的基帶是展銳春藤 8910DM,是完全符合3GPP R13官方標(biāo)準(zhǔn)的 Cat.1bis 通信終端解決方案;(3)Cat1 最大上/下行速率 5Mbps UL/10Mbps DL;(4)Cat1 是LTE終端的一個類別,不是新技術(shù),用現(xiàn)有的LTE網(wǎng)絡(luò),網(wǎng)建成熟;(5)、完美承接2G/3G的退網(wǎng)迭代需求;(6)、完美承接部分Cat4的向下兼容替代需求;(7)、Cat1可以覆蓋超30%的物聯(lián)網(wǎng)場景 ;(8)、Catx(UE-Category),3GPP定義 LTE終端能力等級,表明了終端所支持的數(shù)據(jù)處理能力(下載、上傳速 率)、最大的空分復(fù)用、調(diào)制編碼能力;(9)Cat.1 bis是唯一符合規(guī)范的Cat1單天線方案。

通過它可以實(shí)現(xiàn)戶外將測量傳感器數(shù)據(jù)通過MQTT協(xié)議發(fā)送到阿里云平臺,模組是通過ART-PI主板的UART1和一個GPIO引腳實(shí)現(xiàn)AT指令控制的。模組的供電電源由ART-PI主板5V引腳提供。詳情閱讀:基于廣和通Cat1模塊L610+ RT-Thread AT-Device應(yīng)用講解.pdf文件

poYBAGK8iKiAJ_OSAAlwcn9O3RI429.png整體外觀

軟件框架說明

軟件部分主要是利用ART-PI的出廠固件實(shí)現(xiàn)小程序藍(lán)牙配網(wǎng),為實(shí)現(xiàn)局域網(wǎng)連接做好準(zhǔn)備,連接好WIFI路由器,然后開發(fā)板創(chuàng)建兩個TCP服務(wù)器后,即可使用手機(jī)端TCP/IP APP來連接開發(fā)板,實(shí)現(xiàn)手機(jī)APP發(fā)送相關(guān)指令來查看開發(fā)板采集到的數(shù)據(jù)。此時NODERED也可以實(shí)現(xiàn)同樣的連接方式,同時還具備連接阿里云的MQTT功能,讓數(shù)據(jù)可視化,例如查看數(shù)據(jù)曲線。Cat1 L610模組也是實(shí)現(xiàn)MQTT連接阿里云,它的重要意義在于可以在戶外測試設(shè)備的運(yùn)行狀態(tài),因?yàn)橹恍枰娫捒ň涂梢詫?shí)現(xiàn)了數(shù)據(jù)實(shí)時上傳到云端,并用Node-RED遠(yuǎn)程監(jiān)控。

軟件模塊說明

應(yīng)用軟件關(guān)鍵部分的邏輯有:

  1. 官網(wǎng)提供的微信小程序:檢測開發(fā)板藍(lán)牙,并實(shí)現(xiàn)通過藍(lán)牙配置手機(jī)連接的WIFI。
  2. TCP/IP:啟動兩個TCP服務(wù)器實(shí)現(xiàn)局域網(wǎng)控制,提供兩個端口號5000和6000。
  3. Node-Red:通過物聯(lián)網(wǎng)平臺軟件連接TCP服務(wù)器和阿里云平臺進(jìn)行控制和接收開發(fā)板采集的數(shù)據(jù)。
  4. 阿里云物聯(lián)網(wǎng)平臺:與L610實(shí)現(xiàn)MQTT連接,上傳傳感器數(shù)據(jù);與Node-Red連接獲取傳感數(shù)據(jù)并集中顯示在Node-Red人機(jī)交互頁面中。
  5. 手機(jī)APP :下載第三方的TCP/IP協(xié)議的APP連接開發(fā)板的TCP服務(wù)器,例如連接192.168.1.6 端口5000。實(shí)現(xiàn)查詢傳感器數(shù)據(jù),控制開發(fā)板。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2898

    文章

    43779

    瀏覽量

    369059
  • STM32
    +關(guān)注

    關(guān)注

    2262

    文章

    10846

    瀏覽量

    353650
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1400

    瀏覽量

    33963
  • 阿里云
    +關(guān)注

    關(guān)注

    3

    文章

    928

    瀏覽量

    42873
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1249

    瀏覽量

    39717
收藏 人收藏

    評論

    相關(guān)推薦

    【原創(chuàng)精選】RT-Thread征文精選技術(shù)文章合集

    ,物聯(lián)網(wǎng)開發(fā)?;?b class='flag-5'>RT-Thread設(shè)備運(yùn)行數(shù)據(jù)分析預(yù)警系統(tǒng)基于RT-Thread和AB32VG1開發(fā)板實(shí)現(xiàn)家庭安全檢測功能基于
    發(fā)表于 07-26 14:56

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發(fā)組(2015-03-31)。RT-Thread做為國內(nèi)有較大影響力的開源實(shí)時操作系統(tǒng),本文是RT
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread軟件包定義和使用

    RT-Thread軟件包是運(yùn)行RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)平臺上,面向不同應(yīng)用領(lǐng)域的通用軟件組件 。RT-Thread 同時提供了開放
    的頭像 發(fā)表于 05-21 11:29 ?1w次閱讀
    <b class='flag-5'>RT-Thread</b>軟件包定義和使用

    RT-Thread全球技術(shù)大會:RT-Thread上的單元測試框架與運(yùn)行測試用例

    RT-Thread全球技術(shù)大會:RT-Thread上的單元測試框架與運(yùn)行測試用例 ? ? ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:21 ?1556次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會:<b class='flag-5'>RT-Thread</b>上的單元測試框架與<b class='flag-5'>運(yùn)行</b>測試用例

    RT-Thread文檔_RT-Thread 簡介

    RT-Thread文檔_RT-Thread 簡介
    發(fā)表于 02-22 18:22 ?5次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 簡介

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    RT-Thread文檔_UART 設(shè)備

    RT-Thread文檔_UART 設(shè)備
    發(fā)表于 02-22 18:32 ?2次下載
    <b class='flag-5'>RT-Thread</b>文檔_UART <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_CAN 設(shè)備

    RT-Thread文檔_CAN 設(shè)備
    發(fā)表于 02-22 18:34 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_CAN <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_PWM 設(shè)備

    RT-Thread文檔_PWM 設(shè)備
    發(fā)表于 02-22 18:35 ?1次下載
    <b class='flag-5'>RT-Thread</b>文檔_PWM <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_RTC 設(shè)備

    RT-Thread文檔_RTC 設(shè)備
    發(fā)表于 02-22 18:36 ?3次下載
    <b class='flag-5'>RT-Thread</b>文檔_RTC <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_SPI 設(shè)備

    RT-Thread文檔_SPI 設(shè)備
    發(fā)表于 02-22 18:36 ?2次下載
    <b class='flag-5'>RT-Thread</b>文檔_SPI <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_WATCHDOG 設(shè)備

    RT-Thread文檔_WATCHDOG 設(shè)備
    發(fā)表于 02-22 18:36 ?1次下載
    <b class='flag-5'>RT-Thread</b>文檔_WATCHDOG <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_SENSOR 設(shè)備

    RT-Thread文檔_SENSOR 設(shè)備
    發(fā)表于 02-22 18:37 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_SENSOR <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_AUDIO 設(shè)備

    RT-Thread文檔_AUDIO 設(shè)備
    發(fā)表于 02-22 18:38 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_AUDIO <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_Pulse Encoder 設(shè)備

    RT-Thread文檔_Pulse Encoder 設(shè)備
    發(fā)表于 02-22 18:39 ?1次下載
    <b class='flag-5'>RT-Thread</b>文檔_Pulse Encoder <b class='flag-5'>設(shè)備</b>