2023IoT項目如何選擇正確的軟件架構_第1頁
2023IoT項目如何選擇正確的軟件架構_第2頁
2023IoT項目如何選擇正確的軟件架構_第3頁
2023IoT項目如何選擇正確的軟件架構_第4頁
2023IoT項目如何選擇正確的軟件架構_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第頁2023IoT工程如何選擇正確的軟件架構IoT工程如何選擇正確的軟件架構

你想要創立一個適宜的工程,看是要更進一步探究這個想法還是將其產品化。但是,應當從哪種軟件架構入手呢?原委該采納初始本錢較低的開源架構,還是選擇須要支付前期費用的商業解決方案,來加速你的設計過程呢?一起來看看!

什么是軟件架構?

在本文件中,將“軟件構架〞說明為“編寫軟件的一種特定方式〞。例如,Arduino供給編寫程序代碼的一種特定方式,允許軟件的片段可以跨越多個工程被重新運用。

軟件架構是由幾個不同的局部所組成,并由以下組件所定義:程序語言、應用程序編程接口(API),以及某些工具集的連接。例如,像是在Arduino和Espruino的案例中,軟件架構可以被緊密地連接到工具,或是像在Micrium和FreeRTOS的案例中那么是會被分別。

什么是操作系統?

因此,該如何選擇一個軟件架構呢?首先,我們須要對一些名詞說明的更明確一點,我們已經起先提到操作系統(OS)這個名詞。你真正調度程序是用在為可能會爭奪相同資源的不同任務、安排資源和處理時間的組件。在一般狀況下,調度程序有兩種作業的方式,而這正是“實時〞在實時操作系統(RTOS)的意義所在。實時意味著在一個特定的時間內,會有一個特定的任務將會被執行。假設你得到一個你須要處理的射頻封包,無論你的設備目前正在做什么事,實時操作系統的核心會先離開它目前所做的任務,先完成這一個高優先等級的任務。這種類型的行為在處理器的利用上并不是最有效率的方式,但例如在馬達限制應用中,它在通訊棧與應用中最須要重視的便是反響時間的議題。

商用與開源解決方案的比擬

舉例來說,假設你已經想通了是否須要采納實時操作系統,并起先組建軟件需求。你可能知道,你須要一個USB棧和以太網絡棧,搭配外部MAC/PHY驅動程序來一起將設備連接到互聯網。但是,你該從哪里起先呢?你真的只須要為你首選的微限制器下載最新的FreeRTOS模板,并接著下載開源軟件并放到裝置中就可以了嗎?或者你只是須要去找有你所需軟件的商業供貨商,并獲得完整的軟件組合?

為了做出更明智確實定,我們常常談論要給選定的解決方案一個總體擁有本錢(TCO)的概念。所謂的總體擁有本錢包含的不僅是你為軟件付出的貨幣價值,還包括花費在找尋解決方案、組裝不同的構件,并將不同的構件整合到你的工程,以及開發、測試和生產的工作時間。

在一般狀況下,我們看到的是商業解決方案的總體擁有本錢(TCO),將比自己組建開放原始碼組件的解決方案要來的更低一些。但既然是商業解決方案便涉及到初始本錢,這些廠商通常要求在運用解決方案的前期,取決于你所須要的組件,便必需先支付1萬到10萬美元之間的費用。在另一方面,下載FreeRTOS并起先組裝自己的解決方案,在某些擁有密集資源的應用中,其所花費的金錢,相對會更廉價一些。

確定你的工程的最正確解決方案,將高度依靠于它是否是最簡單讓你賺到現金,或是能夠為總體擁有本錢的工時來“買單〞。

候選方案

所以,當你已經看到這里,你的大腦中可能已經起先吶喊:“只要給我一個可以讓我起先運用的架構就好了!〞

惋惜沒有那么快,確定有一些方案的選項是比其他選項更好,微限制器的應用特別多樣性,確定沒有那種一個尺寸便適合全部需求的解決方案。我們先來了解很多最流行的操作系統和軟件架構,并分別細致地探討(本文所提到的操作系統都具有實時實力):

1)商用解決方案

MicriumuC/OS-II與uC/OS-III

這是在微限制器業界最流行的兩個實時操作系統,特殊是因為其創新的商業模式,因為Micrium公司允許你下載完整的軟件套件,并起先開展,等你真正起先產生營收后,才須要起先支付解決方案的費用。他們在平安至上的系統中擁有重要的地位,并且他們的大局部軟件構件都已經通過認證。

SeggerembOS

嵌入式軟件市場的新進入者,但這并不意味著他們是新手。該軟件產品已經開發了超過20年的時間,并已經運用在他們自己的硬件產品之中,因此對裝置的支持程度特別好,并配有一個優秀的驅動程序庫。

ExpressLogicThreadX

由行業的資深人士所創辦,該公司專注在全部關于性能的事物上,并擠壓出元器件中每一個時鐘周期的效能。它通常被看作是操作系統中的勞斯萊斯,并已經有許多認證被運用在平安至上的系統之中。

2)開源解決方案

FreeRTOS

FreeRTOS跟MicriumuC/OS一樣,都是在同行業中最常被采納的實時操作系統之一。它有一個浩大的社群,有許多人都在為軟件做出奉獻,像是TCP/IP棧,但做為開源軟件,便意味著沒有公司會負責整合,因此須要更多的工作來創立一個整合的解決方案。

也有一些公司在FreeRTOS的`生態系統中,特地從事將差異化的軟件構件供給給那些須要整合幫助的客戶,例如,Wittenstein高完整性系統公司供給稱為SAFERTOS平安認證的FreeRTOS替換核心,以及HCC嵌入式公司供給可以與任何實時操作系統工作的USB、以太網絡和文件系統。

mbedOS

mbedOS解決一些你通常會在開源軟件所遇到的痛點,因為ARM這一家公司會負責整合的工作。然而,它仍舊是處于萌芽階段,所以假設你想要有些奉獻就可以去這里。

RIOTOS

RIOTOS被冠以“物聯網中最友好的操作系統〞,它是以通訊概念為根底所建立起來的操作系統。這使得它即使在面對困難的通訊問題時,仍舊精簡且高效率。然而它仍舊還在主動開展的階段當中,所以你得安排多花幾個小時來進行除錯。

3)架構

有一些操作系統的功能就像是將磚塊黏合在一起的水泥一樣,會與開展框架緊密地結合在一起,因此一般不能運用軟件本身做為工程的一局部,你必需圍圍著它來進行整個開發流程。這些框架往往是運用比C++更高階的語言所編寫,通常可以在實時操作系統上運行。

mbed

mbed也出現在這里,這時那么做為快速成型的工程。它是用C++編寫,并對大多數微限制器和電路板有絕佳的支持,擁有一個浩大的元件程序庫,和一個采納網頁架構的美麗集成開發環境(IDE)。目前,在它打算全面部署之前,它仍舊須要一點成熟的時間,但它很適合硬件原型的開發。

Espruino

Espruino是在微限制器上運行的實時JavaScript說明器。它允許你能夠動態地更改程序代碼,甚至不須要讀寫微限制器便可以撰寫程序代碼。在它起先量產之前,仍舊須要一些時間來開展,但它很適合用于硬件原型,并呈現出成為一個不行無視軟件架構的巨大潛力。

microPython

microPython所能做的事與Espruino大致相同,差異僅在于其運用Python來代替JavaScript。它開展的概念,便是讓你從產品開發的一起先到量產,都能夠支持預先編譯的程序代碼,并運用C語言來編寫時序至上的程序代碼。目前仍在開發當中。

microEJ

microEJ是一個采納Java架構的框架,讓你輕松地為你的設備打造好看的圖形化應用程序。它已經在很多智能手表和一些物聯網(IoT)設備中運用。

假設你想要著手進行設備的開發,而無需安裝單一的程序,像是mbed和microPython這類的框架,便是入門的好方法。但是,假設你要建立更大的部署,采納一個純粹的實時操作系統將會是更好的選擇。假設運用工作時間而不是金錢來當作軟件的投資,對你的公司來說會更為輕松的話,像是FreeRTOS或RIOT這類非商業解決方案便有其優勢。假設你的公司能負擔得起前期投資,像是Segger、ExpressL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論