那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

畢業設計競賽選題推薦 | 嵌入式Linux應用之環境監測項目實戰(含文檔及源碼)

華清遠見工控 ? 2024-12-23 10:50 ? 次閱讀

01 引言

在當今快速發展的科技時代,環境監測已經成為眾多領域中不可或缺的一部分。從城市規劃到工業生產,從農業管理到健康生活,環境監測技術的應用無處不在,為人類提供了對自然環境變化的實時洞察,幫助我們做出更加科學合理的決策。

環境監測的核心在于通過各類傳感器收集溫度、濕度、光照、空氣質量、氣體成分、水質和噪聲等數據,并傳輸至嵌入式終端設備進行處理和分析。嵌入式終端設備作為系統的“大腦”,不僅負責讀取傳感器數據,還能夠根據預設算法執行智能判斷,觸發相應的控制命令或預警機制,從而實現自動化管理和優化資源配置。

舉例來說,在智慧農業領域,土壤濕度傳感器和光照傳感器被廣泛應用于灌溉系統和光合作用輔助系統,在智能家居環境中,溫濕度傳感器與空氣凈化器相結合,可以根據室內空氣狀況自動調節工作模式,保持舒適的居住環境;而在工業場景中,有害氣體檢測傳感器能夠及時發現并報告異常排放,防止環境污染事件的發生。

02 項目介紹

《環境監測項目》是一個智能傳感器控制系統,項目實戰平臺是基于華清遠見自主研發的嵌入式Linux教學級開發板——FS-MP1A開發板。該開發板主控為STM32MP157,集成2個Cortex-A7核和1個Cortex-M4核。A7核上可以跑Linux操作系統,在本項目中主要是Linux+Qt應用開發,M4核要通過A7核啟動,在本項目里,M4主要是用于實現對傳感器的控制和數據讀取。

項目可以通過軟件指令輕松管理傳感器,讓它們按照我們的需求工作。M4芯片收集傳感器的數據,并將這些信息顯示在屏幕上,讓我們一目了然。而且,系統還能根據我們設定的條件自動做出反應,比如溫度高了就自動開風扇,讓傳感器變得更加智能和方便。

wKgZO2do0AaAH_MdAABatCNmd4g62.jpeg

03 項目涉及技術點

①通過STM32CubeIDE,配置A7啟動M4的程序

②通過虛擬串口進行下發消息,實現功能

③接收消息,呈現到UI界面上

04 項目實現

項目總體設計

wKgZO2do0AaABsC-AAC1lxDCgeY376.png

以下內容主要講解,如何使用我們提供的項目源碼,將項目在開發板上運行起來。

  • M4部分功能概述

M4 核部分主要實現兩個功能,首先可以接收 A7 核發送的指令,根據指令控制風扇、蜂鳴器以及 LED燈工作,同時 M4 部分可以采集環境光、溫濕度傳感器數據,將采集數值打包成 JSON 字符串然后發送給 A7。另外,通過按鍵可以控制數碼管顯示采集的溫濕度、環境光數據。

  • cubeIDE功能配置

首先打開cubeIDE,創建一個新工程,進入cubeMX 配置界面,因為需要實現A7與M4 通信,需要配置IPCC與OPENAMP部分,如下圖所示:

wKgZO2do0AeAKiS4AAHd11Q2GM0084.png

(配置 IPCC)

wKgZPGdo0AeAUWrqAAIrMqsmExA854.png

(配置OPENAMP)

配置I2C1用于采集溫濕度、環境光傳感器數據,這里分別選擇PF14、PF15 引腳用作I2C1_SDA 和I2C1_SCL功能。

wKgZPGdo0AeAbibBAAImkEpNsqY096.png

(配置 I2C1)

因為需要用到數碼管顯示采集的傳感器數值,這里通過 SPI 進行控制,使用 SPI 默認引腳,分別對PE11、PE12、PE13 和 PE14 配置為 SPI4_NSS、SPI4_SCK、SPI4_MISO 和 SPI4_MOSI。切換到 SPI4 標簽,勾選給“M4”,“Mode”選擇“Full-Duplex-Master”,使用硬件片選,選擇“Hardware NSS Output Signal”,其配置如下圖所示。

wKgZO2do0AeAX11LAAJYuT86KpI790.png

(配置SPI4)

擴展板 LED 燈對應的GPIO 引腳分別為PE8、PE10、PF10,這里左鍵點擊設置為GPIO_Output

wKgZPGdo0AeADuTCAAQtassoXIQ158.png

(配置引腳為輸出)

可以通過按鍵中斷控制數碼管顯示的數值,這里配置擴展板的按鍵為 PF9,如下所示

wKgZO2do0AeALzqNAAQTQp_F4sw761.png

(配置外部中斷)

另外,這里還需要對剛才配置的 I/O 引腳設置“ Pin Reservation”給“ Cortex-M4”,否則 STM32CubeMX不會生生成 GPIO 初始化相關代碼。具體操作:在剛才選擇的引腳上,鼠標右鍵選擇“ Pin Reservation”->“ Cortex-M4”。

wKgZO2do0AmAalLyAADBszrSSTU366.png

(選擇Cortex-M4)

打開GPIO 標簽,對 PF9 引腳進行配置

wKgZPGdo0AeAWEeyAAIFBgTDMt8784.png

實驗中還用到了蜂鳴器與風扇,查看原理圖得,對應管腳分別為 PB6 與 PE9,分別配置為 TIM4 與TIM1 功能,在本次實驗中,系統默認時鐘頻率為 64MHz,TIM 配置如下所示

wKgZO2do0AeALLguAAKBUpIN5Fw256.png

(配置 TIM4)

wKgZPGdo0AeAfAVhAAJYJuBxPB0633.png

(配置 TIM1)

如果實現開發板與電腦串口通信,這里可以通過 485 總線實現,即配置UART5,如下所示

wKgZPGdo0AeAB04tAAGqDxS3_oE099.png

(配置 UART5)

wKgZO2do0AiANgTbAABHhVNiCd0150.png

(配置 UART5)

另外,在本次實驗中,A7 與 M4 數據通信和數碼管顯示相當于同時運行,可以通過配置 FreeRTOS 實現多任務運行。切換到中間件“Middleware”的“FREERTOS”,默認自動勾選給 M4 了,然后接口“Interface”選擇“CMSIS_V2”。為了運行其他任務,這里需要切換到“Tasks and Queues”標簽,可以看到看到默認有個“defaultTask”任務,我們點擊“Add”再新增一個任務,如圖所示

wKgZO2do0AiAQNwDAAIO8y5xBPs384.png

(配置 FreeRTOS)

上述配置完成以后,還要注意一點,因為用到 FreeRTOS,這里我們不能為每一種外設生成頭文件,如下所示

wKgZO2do0AiAZIkiAABafls0Iuo891.png

配置完成以后保存,然后生成初始化代碼,其間會出現如下提示框,選擇“Yes”

wKgZPGdo0AiAflU6AAA56RXirdc954.png

編譯 qt 界面應用程序

①導入 sdk

sdk 位置在【08-Qt 綜合項目開發教程\工具軟件\sdk\arm-fsmp1x-linux-gnueabihf_sdk-buildroot.tar.gz】,將源碼拷貝到虛擬機中進行解壓并進入到工程目錄下

wKgZO2do0AiAAZnJAAASazacCbo406.pngwKgZPGdo0AiADJGfAAAsHlHveO0691.png

(示例圖)

重定向 sdk 位置

wKgZPGdo0AiAYE5rAAAHHtf_qm0306.png

獲取應用程序源碼

源碼位置【08-Qt 綜合項目開發教程\08-環境監測項目\01-環境監測項目配套示例代碼\7 寸屏幕程序源碼】中的 8_EnvironmentalTest 文件,將源碼拷貝到虛擬機中進行解壓并進入到工程目錄下(這里以 7 寸屏幕為例)

wKgZO2do0AiAIp3iAAAQ8EBY5N8880.png

打開 qt 工程編譯

在 qt 中導入 8_EnvironmentalTest 文件中的.pro 文件,導入完成,如下圖所示:

wKgZPGdo0AmAaObRAAMvItipmo0341.png

選擇好自己配置的編譯器,點擊如圖所示左下角圖標進行編譯。

wKgZPGdo0AiAOAjlAABhB2wvRvI791.png

編譯完成會生成編譯好的文件,和工程文件在相同目錄下。

wKgZO2do0AiAHtPXAABL26jX-74473.png

(查看 build 文件)

wKgZPGdo0AiADE1MAADAv1eO1-E430.png

(查看 build 文件)

拷貝可執行文件

通過有線直連的方式將路由器和開發板用網線連接,電腦連接路由器的 wifi,讓開發板和電腦是同一網段。

首先我們在開發板上使用 ifconfig 命令獲得 ip

wKgZO2do0AmAMl8LAADd8w3pYEw257.png

可以看到我的開發板 ip 為 192.168.3.18,再通過 scp 命令將可執行文件拷貝到開發板當中,將命令中的 ip 換為你的開發板 ip

傳輸成功后會在開發板的【~】目錄下看到可執行文件

wKgZPGdo0AmABfo8AAAZyWMAPdE377.png

(示例圖)

應用程序運行

使用下面的命令執行可執行程序

wKgZO2do0AmAIfsxAAAZSmzkA5Q855.pngwKgZPGdo0AmAHP3fAABoV8KiFsU261.png

(運行可執行程序)

可以看到下面的界面。然后我們可以參照 2.4.1 章節開始操作,去實現我們相應的模塊。

wKgZPGdo0AmAZSMSAAMm7TNMLSA000.png

(示例圖)

除了上面如何將項目在板子上跑起來外,項目說明文檔內容還包括項目功能演示、項目源碼分析以及SQLite安裝及系統命令等,詳細項目文檔目錄如下圖。

wKgZO2do0AmAJvxPAAJOExNajYA14.jpeg

后臺私信小雯老師(備注:環境監測),免費領取《環境監測》項目完整文檔、項目源碼

05 硬件平臺

《環境監測》是一個Linux+Qt的綜合項目,硬件平臺是華清遠見FS-MP1A開發板(主控STM32MP157)

開發板簡介

FS-MP1A開發板是華清遠見自主研發的一款高品質、高性價比的Linux+單片機二合一的嵌入式Linux教學級開發板,也是ST官方推薦的一款STM32 Linux開發板。

搭配仿真器、顯示屏、攝像頭、資源擴展板等豐富的擴展模塊,可拓展物聯網人工智能等相關技術學習,還可以拓展豐富的項目實戰,非常貼合企業當下開發需求,是一款嵌入式Linux入門進階必備開發板!

wKgZPGdo0AmAHnvPAAJzoqvEfCo910.png

FS-MP1A開發板配套豐富的學習資源,包括開發教程、視頻課程及Linux+Qt綜合項目案例。可實戰“音樂播放器、智慧家庭、智能工業電表、智能出行助手、智能貓眼、環境監測、智能安防、智能語音識別等10余個項目案例,涉及家居、醫療、農業多種應用方向,在案例中使用了多種物聯網和嵌入式技術,包括Qt開發、linux應用開發、linux驅動開發、物聯網云端接入、MQTT協議、json字符串等知識點。“硬件+項目”的優勢,也使其廣泛應用于高校教學、學生畢設以及個人開發學習。

配套學習路線推薦

wKgZO2do0AqAaWpsAAJmmDgBodw73.jpeg

嵌入式linux開發建議從應用層開始學起,因為容易快速上手并獲得成就感。這個方向主要是依靠經驗,不斷地積累不同行業的項目開發經驗,會讓你在職場上更有優勢。

wKgaoWc8PGiAea6SAACAtA6-hks792.png

對于初學者,在找工作前,也可以多做一些項目案例練手,在實戰中去理解并應用技術。有精力的話,最好可以基于我們的開發板去拓展一些功能更豐富的項目,做更多技術上的創新拓展,去參加一些競賽,DIY一些更接近實際產品的項目,這樣的經歷,也會為你的簡歷及面試加分不少。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5087

    文章

    19149

    瀏覽量

    306270
  • Linux
    +關注

    關注

    87

    文章

    11322

    瀏覽量

    209896
  • 監測
    +關注

    關注

    2

    文章

    3626

    瀏覽量

    44611
  • 畢業設計
    +關注

    關注

    7

    文章

    232

    瀏覽量

    15516
收藏 人收藏

    評論

    相關推薦

    畢業設計競賽選題推薦 | 鴻蒙物聯網應用之智能測距儀項目實戰文檔源碼

    01引言在工程測量、建筑施工、室內裝潢以及地理信息系統等領域,精確的距離測量是至關重要的。智能測距儀項目以其先進的技術,為這些領域帶來了革命性的改變。它不僅提高了測量的準確性和效率,還通過智能化
    的頭像 發表于 01-07 15:35 ?248次閱讀
    <b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | 鴻蒙物聯網應<b class='flag-5'>用之</b>智能測距儀<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)

    畢業設計競賽選題推薦 | 鴻蒙物聯網應用之智慧農業項目實戰文檔源碼

    和病蟲害管理,智慧農業項目正以其創新的解決方案,改變傳統農業的面貌,為農民帶來便利,為消費者帶來更安全、更健康的食品,同時保護我們的環境。02項目介紹《智慧農業》項目
    的頭像 發表于 01-07 14:40 ?223次閱讀
    <b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | 鴻蒙物聯網應<b class='flag-5'>用之</b>智慧農業<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)

    畢業設計競賽選題推薦 | 鴻蒙物聯網應用之智慧安防報警項目實戰文檔源碼

    01引言在現代社會,安全始終是人們最關心的議題之一。隨著科技的進步,傳統的安防措施已經無法滿足我們對安全保障的需求,智慧安防報警項目應運而生,它通過集成先進的傳感器技術、數據分析和人工智能算法,為
    的頭像 發表于 01-07 14:05 ?181次閱讀
    <b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | 鴻蒙物聯網應<b class='flag-5'>用之</b>智慧安防報警<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)

    畢業設計競賽選題推薦 | 鴻蒙物聯網應用之智能溫度計項目實戰文檔源碼

    環境保護和化工制造等多個領域都有著深遠的影響。特別是在生物制藥、食品加工和造紙等行業,準確掌握溫濕度數據對于確保產品質量和安全至關重要。隨著科技的進步,單片機技術以
    的頭像 發表于 01-02 10:50 ?136次閱讀
    <b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | 鴻蒙物聯網應<b class='flag-5'>用之</b>智能溫度計<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)

    畢業設計競賽選題推薦 | 鴻蒙物聯網應用之智能照明燈項目實戰文檔源碼

    ,比如根據環境光線自動調節亮度,或者根據我們的日常習慣設定開關時間,實現更加個性化和舒適的照明環境。此外,智能照明系統通過精準的光控技術,有效降低了能源消耗,為節能減
    的頭像 發表于 01-02 09:38 ?285次閱讀
    <b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | 鴻蒙物聯網應<b class='flag-5'>用之</b>智能照明燈<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)

    畢業設計競賽選題推薦 | 嵌入式Linux用之音樂播放器項目實戰文檔源碼

    提升了效率和心情。嵌入式Linux開發的音樂播放器,憑借其高效能與低能耗的特點,在便攜設備、智能家電以及車載系統等領域中展現出獨特的優勢。它不僅能夠提供高品質的音樂
    的頭像 發表于 12-23 16:50 ?316次閱讀
    <b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>應<b class='flag-5'>用之</b>音樂播放器<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)

    畢業設計競賽選題推薦 | 嵌入式Linux用之智能貓眼項目實戰文檔源碼

    01引言在智能家居日益普及的今天,智能貓眼作為一項新興的安全監控解決方案,正逐漸成為家庭和商業環境中的重要組成部分。它不僅繼承了傳統貓眼的基本功能,還融合了現代通信技術、圖像處理技術以及
    的頭像 發表于 12-23 14:12 ?295次閱讀
    <b class='flag-5'>畢業設計</b><b class='flag-5'>競賽</b><b class='flag-5'>選題</b>推薦 | <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>應<b class='flag-5'>用之</b>智能貓眼<b class='flag-5'>項目</b><b class='flag-5'>實戰</b>(<b class='flag-5'>含</b><b class='flag-5'>文檔</b>及<b class='flag-5'>源碼</b>)

    【畢設項目參考】嵌入式Linux 10+項目推薦,附項目文檔/源碼/視頻

    又是一年畢設季,針對即將開始畢業設計的大學生,我們匯總了10+嵌入式linux項目,供同學們參考。這些項目覆蓋了多個領域,希望可以為同學們提
    的頭像 發表于 11-19 15:21 ?506次閱讀
    【畢設<b class='flag-5'>項目</b>參考】<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b> 10+<b class='flag-5'>項目</b>推薦,附<b class='flag-5'>項目</b><b class='flag-5'>文檔</b>/<b class='flag-5'>源碼</b>/視頻

    入門?畢設?競賽項目練手?STM32/嵌入式/物聯網學習,有這幾款開發板就夠了!

    針對STM32單片機、嵌入式Linux、物聯網初學者,我們精心梳理了從“入門到項目進階”完整學習路徑,并配有詳細的教程、視頻講解、源代碼以及豐富的實戰案例資料。可廣泛用于高校教學、學生
    的頭像 發表于 10-10 16:31 ?350次閱讀
    入門?畢設?<b class='flag-5'>競賽</b>?<b class='flag-5'>項目</b>練手?STM32/<b class='flag-5'>嵌入式</b>/物聯網學習,有這幾款開發板就夠了!

    【免費分享】嵌入式Linux開發板【入門+項目,應用+底層】資料包一網打盡,附教程/視頻/源碼...

    ?想要深入學習嵌入式Linux開發嗎?現在機會來了!我們為初學者們準備了一份全面的資料包,包括原理圖、教程、課件、視頻、項目源碼等,所有資料全部免費領取,課程視頻可試看(購買后看完整
    的頭像 發表于 09-05 10:45 ?298次閱讀
    【免費分享】<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>開發板【入門+<b class='flag-5'>項目</b>,應用+底層】資料包一網打盡,附教程/視頻/<b class='flag-5'>源碼</b>...

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是嵌入式Linux開發的基本步驟,以及每個步驟的說明。 硬件選擇 在開始
    的頭像 發表于 09-02 09:11 ?550次閱讀

    觸翔工業嵌入式工控主板在環境監測的應用

    觸翔工業嵌入式工控主板在環境監測領域的應用極為廣泛,主要得益于其在惡劣環境下的高可靠性、穩定性以及對復雜數據處理能力,以下是一些關鍵應用示例:
    的頭像 發表于 05-22 16:57 ?409次閱讀
    觸翔工業<b class='flag-5'>嵌入式</b>工控主板在<b class='flag-5'>環境監測</b>的應用

    嵌入式學習-飛凌嵌入式ElfBoard-項目分享|基于ELF 1S開發板完成的物聯網開源項目

    ,與ELF 1S開發板邊緣中控進行端對端通信的,開發板邊緣中控可以轉發手機APP的控制指令到無線網絡模塊,以及接收邊緣中控上報的環境監測數據。 整個項目已經開源到Gitee,歡迎各位嵌入式初學者或愛好者
    發表于 05-16 09:19

    飛凌嵌入式-ElfBoard-項目分享|基于ELF 1S開發板完成的物聯網開源項目

    ,與ELF 1S開發板邊緣中控進行端對端通信的,開發板邊緣中控可以轉發手機APP的控制指令到無線網絡模塊,以及接收邊緣中控上報的環境監測數據。 整個項目已經開源到Gitee,歡迎各位嵌入式初學者或愛好者
    發表于 05-16 09:12

    嵌入式人工智能的就業方向有哪些?

    操作系統使用及C高級編程 數據結構與算法 二:嵌入式Linux應用工程師,Linux網絡開發工程師 文件IO 并發程序設計 項目實戰:基于
    發表于 02-26 10:17
    网络百家乐官网棋牌| 大发888亚洲游戏 网页| 网络篮球投注| 百家乐平的概率| 百家乐官网赌场国际| 百家乐路的看法| bet365主页器| 游戏机百家乐下载| 百家乐官网视频下栽| 钱大发888扑克| 百家乐制胜软件| 太阳百家乐官网游戏| 百家乐官网网络视频游戏| 金赞娱乐城真人娱乐| 百家乐号论坛博彩正网| 百家乐官网AG| 王牌国际| 大发888老虎机| 大发888免费送| 百家乐的必赢术| 网上百家乐官网投注技巧| 真龙娱乐| 大发888娱乐城破解软件| 赌百家乐的玩法技巧和规则| 百家乐官网伴侣| 百家乐官网网投注| 亲朋棋牌下载| 大发888赌博网站| 太阳城88娱乐城| 百家乐视频游戏掉线| 八卦与24山| 钱柜百家乐的玩法技巧和规则| 百家乐官网网上真钱赌场娱乐网规则 | 扑克百家乐赌器| 香港百家乐赌场| 百家乐最新庄闲投注法| 虚拟百家乐游戏下载| 做生意门朝山| 网上百家乐骗人| 百家乐网站哪个好| 百家乐官网高手论坛|