1. gzyueqian
      13352868059

      嵌入式開發:微服務如何增強嵌入式系統開發的敏捷性

      更新時間: 2022-11-28 12:06:52來源: 粵嵌教育瀏覽量:5729

      盡管嵌入式設備的使用越來越多,但嵌入式開發技術仍然停留在過去。時至今日,軟件和硬件之間仍有很強的依賴性,通常使用整體設計。這意味著每次都要從頭開始,而且完全缺乏敏捷性。

       

      硬件設備需要有更多的無處不在的連接,代碼應該能夠重用——在微服務方法中。這意味著從現代軟件開發中借鑒概念,并將其應用于嵌入式世界——在機器人、家庭自動化、航空、太空和許多其他領域——這將使開發更快、更容易。

       

      這篇文章將闡述采用現代軟件開發并將其應用于邊緣和嵌入式開發(基于開源方法)的理由,并展示這是如何實現的,以及人們今天如何開始。我們將研究在嵌入式項目中使用微服務的優勢和潛在障礙,以及在吞吐量、延遲和安全性方面需要考慮的變量。

       

      開始考慮微服務而不是單片:嵌入式開發人員的冒險之旅

      人們習慣于將項目視為一組相互依賴的復雜的電路板、驅動程序和應用程序。比如,我們開發了幾個星期的代碼,然后有人在某個地方做了一些小改動,我們不得不從頭開始重新編碼所有內容。

       

      在這個越來越關注敏捷性和成本控制的時代,似乎難以相信,只要你改變項目中的變量,就可以繼續開發無法重用的代碼。開發一個不容易根據外部變化(例如半導體短缺)及時調整的項目變得不可思議。這種浪費時間和精力的行為不能再這樣下去了。

      因此,很重要的一點是,看看這種靈活性的缺乏在嵌入式開發之外的其他領域是否也是如此。硬件經常被比作軟件,在這種情況下,它提供了一個例子。

       

      九年來,Docker如何使容器中的可移植軟件應用程序的開發大眾化?組成一個系統的小段代碼?可以隨意重用的獨立服務?

       

      微服務理念似乎顯而易見

      在軟件開發中,部分得益于微服務的出現,許多想法可以很快推出。當你對一個應用程序、軟件或web應用程序有了想法時,你甚至不考慮它背后運行的是什么硬件。它是透明的、流動的,并且隨時間而變化。但是,我們在嵌入式開發中,嵌入式系統沒有這種通用性,因為它們需要大量的抽象。

       

      微服務是在2000年出現的。根據谷歌趨勢,自2014年以來,人們一直在談論這個話題。在先驅中,Netflix致力于普及這些架構。

      這個想法是把這個大蛋糕分成幾個小蛋糕,每個蛋糕都是一種服務。服務是一個獨立的單元,它執行特定的任務,并與其他服務通信以完成其使命。

       

      隨著物聯網的興起,微服務已經出現在硬件領域。但目前,這些設備是唯一使用微服務的設備,可能是因為它們可以訪問互聯網。我們的設備、機器人和系統的內部網絡在很大程度上仍然停留在過去。

       

      嵌入式開發的挑戰

      嵌入式開發的主要挑戰是克服軟件和硬件之間的強耦合。在軟件世界中,我們有API允許我們開發代碼而不需要處理底層硬件。我們可以改變應用程序的數據庫,而不必改變使用它的代碼。在硬件領域,通常需要非常了解所用的電路板、其寄存器或協議,以便能夠與固件交換信息,使我們的系統正常工作。

       

      這使得很難從一個項目到另一個項目重用代碼,也很難快速適應變化。通常還需要很好地了解用于開發的工具,這些工具通常專用于一個微控制器或一系列微控制器。

      所有這些因素使得很難找到具有必要技能的開發人員,并使開發速度更慢、成本更高。

       

      微服務在嵌入式開發中的優勢

      微服務的主要優勢在于,它允許開發人員分離不同的軟件,從而在應用程序和驅動程序之間實現清晰的分離。這使得可以為不同的硬件平臺重復使用相同的應用程序代碼,并且改變硬件平臺而不必改變除了相關驅動程序之外的代碼。

       

      微服務還有一個優勢,即基于一組服務修訂更容易測試和部署特定的配置。

      你可以使用開源微服務協調器(如Luos)輕松同步所有板上的所有服務或計算機或云上的遠程進程。

       

      微服務對嵌入式開發的潛在障礙

      微服務依賴于服務之間的通信。一個好的微服務架構使得服務之間的通信變得容易和流暢。微服務架構將控制的主板之間的網絡。

      在任何情況下,都必須交換信息,以便微服務架構不會對網絡延遲產生任何影響。但由于它簡單透明,很容易過度使用,這意味著需要更多的網絡數據帶寬。

       

      對于在同一個微控制器上運行的多個服務,這會增加一些可能影響代碼性能的操作。敏捷是有代價的,即使是最小的RTOS也是如此。例如,如果服務需要從傳感器獲取數據,它必須發送請求,等待傳感器響應,然后處理數據。

       

      安全性可能是一個障礙,因為服務越多,潛在的攻擊面就越多。此外,微服務使代碼片段自然地協同工作,惡意代碼也是如此。因此,仔細考慮使用微服務的安全影響非常重要。

      對于某些應用程序,比如那些需要實時響應的應用程序,吞吐量和延遲比安全性更重要。對于其他應用程序來說,安全性比吞吐量和延遲更重要,例如那些處理敏感數據的應用程序。

       

      選擇一個組織和簡化交流的協調器

      在嵌入式領域,有很多現有的操作系統,如FreeRTOSNuttX或澤法,但沒有太多的工具以一致的方式協調的多個電路板。微服務協調器的使用使這個實際案例更加靈活。硬件不可知的引導加載程序將允許從任何物理連接更新任何板,而無需拆卸所有部件。我們可以連接到STM32以更新STM32嵌入式開發人員需要在嵌入式和邊緣項目中獲得這種靈活性

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩女同中文字幕永久在线 | 亚洲另类欧美综合久久图片区 | 日本伦精品一区二区三区免费 | 亚洲乱码AV中文一区二区 | 天天爽夜夜爽人人爽一区二区 | 中文字幕精品aⅴ不卡 |