STM32 —— 嵌入式系統、通用計算機系統、物聯網三層架構

目錄

一、嵌入式系統的概念

二、通用計算機系統與嵌入式系統的比較

用途

硬件

軟件

性能與功耗

開發與維護

三、嵌入式系統與物聯網的關系

四、物聯網的三層架構

1.?感知層(Perception Layer)

2.?網絡層(Network Layer)

3.?應用層(Application Layer)

三層架構的協作流程


一、嵌入式系統的概念

????????嵌入式系統一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及應用程序等4部分組成,并且分為4個層次:硬件層、中間層、軟件層和應用層。

????????嵌入式系統是一種專用的計算機系統,通常嵌入在更大的設備或系統中,用于執行特定的任務。它通常由硬件和軟件組成,硬件包括處理器、存儲器、輸入/輸出接口等,軟件則包括操作系統(通常是實時操作系統RTOS)和應用程序。嵌入式系統的設計目標是高效、可靠、實時響應,并且通常具有低功耗、小體積和低成本的特點。

二、通用計算機系統與嵌入式系統的比較

  1. 用途

    • 通用計算機系統:用于多種用途,如辦公、娛樂、編程等,具有較強的通用性和靈活性。

    • 嵌入式系統:用于特定任務,如家電控制、汽車電子、工業自動化等,具有專用性和針對性。

  2. 硬件

    • 通用計算機系統:通常使用高性能的通用處理器(如Intel、AMD),具有較大的存儲容量和豐富的外設接口。

    • 嵌入式系統:通常使用低功耗、專用的處理器(如ARM、MIPS),存儲容量較小,外設接口根據具體需求定制。

  3. 軟件

    • 通用計算機系統:運行通用操作系統(如Windows、Linux),支持多任務、多用戶操作,軟件生態豐富。

    • 嵌入式系統:通常運行實時操作系統(RTOS)或無操作系統,軟件針對特定任務優化,資源占用少。

  4. 性能與功耗

    • 通用計算機系統:追求高性能,功耗較高。

    • 嵌入式系統:追求低功耗和高效率,性能滿足特定需求即可。

  5. 開發與維護

    • 通用計算機系統:開發工具和環境成熟,維護相對簡單。

    • 嵌入式系統:開發工具和環境可能較為復雜,維護需要考慮硬件和軟件的緊密結合。

通用計算機系統嵌入式系統
硬件主機(CPU、主板、內存條、顯卡等)MCU/MPU(將CPU、存儲器、I/O集成在一個芯片上,形成芯片級計算機)
硬件顯示器(屏幕尺寸大,分辨率高)顯示屏(LCD/OLED,尺寸小)
軟件相對獨立,用戶可安裝、卸載集成/固化在芯片中,用戶不能更改
操作系統Windows、Mac OS不開源,內核不可裁剪μC/OS-II、Linux、WinCE、Tiny OS、Android等,內核可裁剪

三、嵌入式系統與物聯網的關系

????????物聯網(IoT)是指通過互聯網將各種設備、傳感器、系統等連接起來,實現數據交換和智能控制。嵌入式系統在物聯網中扮演著核心角色,具體體現在以下幾個方面:

  1. 終端設備:物聯網中的終端設備(如智能家居設備、工業傳感器、可穿戴設備)通常都是嵌入式系統,負責數據采集、處理和傳輸。

  2. 實時性與可靠性:嵌入式系統的實時性和可靠性是物聯網應用的重要保障,特別是在工業自動化和智能交通等領域。

  3. 低功耗與小型化:物聯網設備通常需要長時間運行且體積小巧,嵌入式系統的低功耗和小型化特點非常適合這些需求。

  4. 通信與協議:嵌入式系統通常集成了各種通信模塊(如Wi-Fi、藍牙、Zigbee等),支持物聯網中的多種通信協議,實現設備間的互聯互通。

  5. 數據處理與邊緣計算:隨著物聯網的發展,嵌入式系統不僅負責數據采集,還承擔了部分數據處理和邊緣計算的任務,減少云端負擔,提高響應速度。

四、物聯網的三層架構

????????物聯網(IoT)的三層架構是物聯網系統的基本框架,通常分為感知層網絡層應用層。每一層都有其特定的功能和組成部分,共同協作實現物聯網的數據采集、傳輸和處理。以下是三層架構的詳細說明:


1.?感知層(Perception Layer)

????????感知層是物聯網的最底層,主要負責數據采集物理世界的感知。它是物聯網與物理世界直接交互的部分。

  • 功能

    • 采集物理世界的數據(如溫度、濕度、光照、位置等)。

    • 控制執行器(如開關、電機等)以執行特定操作。

    • 將采集的數據轉換為數字信號,供上層處理。

  • 主要設備

    • 傳感器:用于采集環境數據(如溫度傳感器、濕度傳感器、加速度傳感器等)。

    • 執行器:用于執行操作(如電機、繼電器、LED燈等)。

    • 嵌入式設備:如單片機(MCU)、嵌入式處理器等,負責控制傳感器和執行器。

    • RFID標簽:用于物體識別和跟蹤。

    • 攝像頭:用于圖像或視頻采集。

  • 特點

    • 低功耗、小型化、低成本。

    • 通常部署在物理環境中,可能面臨惡劣條件(如高溫、高濕、震動等)。


2.?網絡層(Network Layer)

????????網絡層是物聯網的中間層,主要負責數據傳輸通信。它將感知層采集的數據傳輸到應用層,同時實現設備之間的互聯互通。

  • 功能

    • 提供可靠的數據傳輸通道。

    • 支持多種通信協議和網絡技術。

    • 實現設備與云端、設備與設備之間的通信。

  • 主要技術

    • 有線通信:如以太網、RS-485等。

    • 無線通信

      • 短距離通信:藍牙(Bluetooth)、Zigbee、Wi-Fi、Z-Wave等。

      • 長距離通信:LoRa、NB-IoT、4G/5G等。

    • 網絡協議

      • 互聯網協議:TCP/IP、HTTP、MQTT、CoAP等。

      • 物聯網專用協議:如MQTT-SN、AMQP等。

  • 特點

    • 高可靠性、低延遲、廣覆蓋。

    • 支持海量設備接入和數據傳輸。


3.?應用層(Application Layer)

應用層是物聯網的最上層,主要負責數據處理分析和應用。它將網絡層傳輸的數據轉化為有價值的信息,并提供具體的物聯網服務。

  • 功能

    • 數據存儲、處理和分析。

    • 提供用戶界面和交互功能。

    • 實現具體的物聯網應用(如智能家居、智慧城市、工業自動化等)。

  • 主要技術

    • 云計算:用于大規模數據存儲和計算。

    • 大數據分析:用于從海量數據中提取有價值的信息。

    • 人工智能(AI):用于數據預測、模式識別和智能決策。

    • 用戶界面:如移動應用、Web應用、儀表盤等。

  • 典型應用場景

    • 智能家居:遠程控制家電、安防監控。

    • 智慧城市:智能交通、環境監測。

    • 工業物聯網(IIoT):設備監控、預測性維護。

    • 智慧醫療:遠程醫療、健康監測。

  • 特點

    • 高度定制化,根據不同需求提供特定服務。

    • 強調數據的安全性和隱私保護。


三層架構的協作流程

  1. 感知層采集物理世界的數據(如溫度、濕度等)。

  2. 網絡層將采集的數據通過有線或無線方式傳輸到云端或本地服務器。

  3. 應用層對數據進行分析和處理,提供具體的服務(如報警、控制、決策支持等)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898330.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898330.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898330.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

卡碼網25題——掌握ACM輸入輸出方式(15 至 18)

刷題小記: 本期涉及ACM模式下棧和鏈表的構建與使用,值得學習。 卡瑪網15.神秘字符(卡瑪網15.神秘字符) 題目分析: 若給定2行字符串,其中第一個串的長度為偶數,現要求把第二個串插入到第一個…

前端字段名和后端不一致?解鎖 JSON 映射的“隱藏規則” !!!

🚀 前端字段名和后端不一致?解鎖 JSON 映射的“隱藏規則” 🌟 嘿,技術冒險家們!👋 今天我們要聊一個開發中常見的“坑”:前端傳來的 JSON 參數字段名和后端對象字段名不一致,會發生…

python中使用單例模式在整個程序中只創建一個數據庫連接,節省資源

示例代碼: from loguru import logger from pymongo import MongoClient from pymongo.errors import ConnectionFailurefrom llm_engineering.settings import settingsclass MongoDatabaseConnector:_instance: MongoClient | None Nonedef __new__(cls, *args,…

AI小白的第六天:必要的數學知識(一)

在學習的過程中,不管是上代碼還是理論學習,其中都摻雜了一些數學知識。俗話說“磨刀不誤砍柴工”,而我已經“誤了砍柴功”了,現在變成了“亡羊補牢,為時不晚”。 線性代數 線性代數是數學的一個分支,主要…

【Linux】Bash是什么?怎么使用?

李升偉 整理 什么是 Bash? Bash(Bourne Again Shell)是一種 命令行解釋器(Shell),廣泛用于 Unix 和 Linux 操作系統。它是 Bourne Shell(sh) 的增強版,提供了更多的功能…

Qt Creator入門

1.創建項目 選擇創建項目-Application(Qt)-Qt Widgets Application-修改名稱即可 默認創建有窗口類,myWidget,基類有三種選擇:QWidget,QMainWindow,QDialog 注意: 名稱和創建路徑不能有中文、…

C語言經典代碼練習題

1.輸入一個4位數&#xff1a;輸出這個輸的個位 十位 百位 千位 #include <stdio.h> int main(int argc, char const *argv[]) {int a;printf("輸入一個&#xff14;位數&#xff1a;");scanf("%d",&a);printf("個位&#xff1a;%d\n"…

cls(**dict(data, id=id))靈活地從一個字典生成實例,同時確保某些關鍵字段(如 id)被正確設置或覆蓋

示例代碼&#xff1a; classmethoddef from_mongo(cls: Type[T], data: dict) -> T:"""Convert "_id" (str object) into "id" (UUID object)."""if not data:raise ValueError("Data is empty.")id data.pop…

MyBatis XMLMapperBuilder 是如何將 SQL 語句解析成可執行的對象? 如何將結果映射規則解析成對應的處理器?

1. XMLMapperBuilder 如何將 SQL 語句解析成可執行對象 (MappedStatement): XMLMapperBuilder 解析 <select>, <insert>, <update>, <delete> 等 SQL 語句元素時&#xff0c;并不僅僅是簡單地讀取 SQL 文本&#xff0c;而是要將 SQL 語句和相關的配置…

咖啡點單小程序畢業設計(JAVA+SpringBoot+微信小程序+完整源碼+論文)

?全網粉絲20W,csdn特邀作者、博客專家、CSDN新星計劃導師、java領域優質創作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? &#x1f345;文末獲取項目下載方式&#x1f345; 一、項目背景介紹&#xff1a; 隨著社會的快速發展和…

003-掌控命令行-CLI11-C++開源庫108杰

首選的現代C風格命令行參數解析器! &#xff08;本課程包含兩段教學視頻。&#xff09; 以文件對象監控程序為實例&#xff0c;五分鐘實現從命令行讀入多個監控目標路徑&#xff1b;區分兩大時機&#xff0c;學習 CLI11 構建與解析參數兩大場景下的異常處理&#xff1b;區分三…

【leetcode hot 100 124】二叉樹中的最大路徑和

解法一&#xff1a;&#xff08;遞歸&#xff09;考慮實現一個簡化的函數 maxGain(node)&#xff0c;該函數計算二叉樹中的一個節點的最大貢獻值&#xff0c;具體而言&#xff0c;就是在以該節點為根節點的子樹中尋找以該節點為起點的一條路徑&#xff0c;使得該路徑上的節點值…

譜分析方法

前言 本文隸屬于專欄《機器學習數學通關指南》&#xff0c;該專欄為筆者原創&#xff0c;引用請注明來源&#xff0c;不足和錯誤之處請在評論區幫忙指出&#xff0c;謝謝&#xff01; 本專欄目錄結構和參考文獻請見《機器學習數學通關指南》 ima 知識庫 知識庫廣場搜索&#…

在圖像/視頻中裁剪出人臉區域

1. 在圖像中裁剪人臉區域 import face_alignment import skimage.io import numpy from argparse import ArgumentParser from skimage import img_as_ubyte from skimage.transform import resize from tqdm import tqdm import os import numpy as np import warnings warni…

【軟考-架構】11.3、設計模式-新

?資料&文章更新? GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目錄 項目中的應用設計模式創建型設計模式結構型設計模式行為型設計模式 &#x1f4af;考試真題題外話 項目中的應用 在實際項目中&#xff0c;我應用過多種設計模式來解決不同…

使用Redis如何實現分布式鎖?(超賣)

分布式鎖概念 在多線程環境下&#xff0c;為了保證數據的線程安全&#xff0c;鎖保證同一時刻&#xff0c;只有一個可以訪問和更新共享數據。在單機系統我們可以使用 synchronized 鎖、Lock 鎖保證線程安全。 synchronized 鎖是 Java 提供的一種內置鎖&#xff0c;在單個 JVM …

Linux的Shell編程

一、什么是Shell 1、為什么要學習Shell Linux運維工程師在進行服務器集群管理時&#xff0c;需要編寫Shell程序來進行服務器管理。 對于JavaEE和Python程序員來說&#xff0c;工作的需要。Boss會要求你編寫一些Shell腳本進行程序或者是服務器的維護&#xff0c;比如編寫一個…

使用React和google gemini api 打造一個google gemini應用

實現一個簡單的聊天應用&#xff0c;用戶可以通過輸入問題或點擊“Surprise me”按鈕獲取隨機問題&#xff0c;并從后端API獲取回答。 import { useState } from "react"; function App() {const [ value, setValue] useState(""); // 存儲用戶輸入的問題…

深入探討TK矩陣系統:創新的TikTok運營工具

TK矩陣的應用場景 TK矩陣系統適用于多個場景&#xff0c;尤其是在以下幾個方面有顯著優勢&#xff1a; 批量賬號管理與內容發布&#xff1a;對于需要管理多個TikTok賬號的內容創作者或營銷人員&#xff0c;TK矩陣提供了高效的賬號管理工具&#xff0c;支持批量發布視頻、評論、…

MTK Android12 應用在最頂端時,禁止拉起其他某個應用(一)

1、需求 近期&#xff0c;客戶要求應用在最頂端時&#xff0c;禁止拉起其他某個應用2、解決方法 diff --git a/frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java b/frameworks/base/services/core/java/com/android/server/wm/ActivityStarte…