嵌入式Linux如何加快物聯(lián)網(wǎng)方案的開發(fā)速度
譯文【51CTO.com快譯】很明顯,無論是對現(xiàn)有設備進行擴展還是從零開始設計新型設備或系統(tǒng),使用嵌入式Linux都能夠帶來最理想的物聯(lián)網(wǎng)生態(tài)系統(tǒng)構(gòu)建速度。嵌入式Linux與桌面Linux共享同一套源代碼庫,但其同時匹配不同的用戶界面工具及其它高層組件。
下面,我們將共同探討幾類常見情況。
通常,極低功率應用(例如傳感器)能夠憑借一次性電池甚至自身供能機制運行數(shù)個月之久。這意味著任何Linux在其上運行時都將帶來無法承載的負荷。其低功率特性意味著我們無法直接使用IP連接,必須配合互聯(lián)網(wǎng)網(wǎng)關。網(wǎng)關能夠通過低功率協(xié)議對接傳感器,再將其轉(zhuǎn)換為IP。根據(jù)具體協(xié)議需求,Linux完全有能力提供現(xiàn)有協(xié)議支持或者與之類似的方案。
下面來看配合CR2032按鈕電池運行的無線聯(lián)網(wǎng)室外溫度計或者“智能燈泡”。這種智能燈泡看起來似乎并不屬于低功率應用,但具體情況仍取決于其并未亮起時的運作方式。如果使用純Linux方案,則意味著燈泡熄滅時系統(tǒng)無法或者需要很長時間來完成引導(至少用戶無法接受***次點亮燈泡時等待10到20秒)。
如果在以上實例中直接運行IEEE 802.11(WiFi)方案,則電池壽命將變得非常有限。因此,我們需要在燈泡中使用低功率聯(lián)網(wǎng)協(xié)議,例如使用簡單的2.4 GHz信號系統(tǒng)或者藍牙低功耗連接。嵌入式Linux網(wǎng)關能夠?qū)⒌凸臒o線鏈路轉(zhuǎn)換為WiFI,甚至以太網(wǎng)來實現(xiàn)互聯(lián)網(wǎng)接入。正因為如此,目前市面上的多數(shù)設備皆采用Linux網(wǎng)關及低功耗無線協(xié)議。
另外,嵌入式Linux亦在眾多非物聯(lián)網(wǎng)設備當中有所作為。設計人員往往很難在裸機/RTOS(實時操作系統(tǒng))方法與系統(tǒng)芯片配合Linux這兩類選項中作出選擇。裸機選項能夠有效降低材料成本,但卻不利于上市時間、開發(fā)成本與支持成本等因素。嵌入式Linux能夠更快完成調(diào)整并供更為廣泛的用戶群體以低成本方式利用多種工程技術及開發(fā)工具完成任務。另外,規(guī)模龐大的Linux用戶群亦有助于擴大測試覆蓋面并簡化技術支持。
物聯(lián)網(wǎng)設備的主要需求為連通性,且通常表現(xiàn)為IP形式。這種聯(lián)網(wǎng)的能力往往通過Web服務器實現(xiàn)。裸機/RTOS雖然也能夠提供IP連接,但卻易于引發(fā)錯誤及合規(guī)違反問題。例如,很多RTOS并不會將IP堆棧用戶與IP堆棧本身進行隔離。互聯(lián)網(wǎng)連接可能需要處理低速或者擁塞鏈路。另外,當堆棧與其它代碼混合時,緩沖區(qū)處理問題也可能變得模糊且難以調(diào)試。相比之下,嵌入式Linux能夠?qū)崿F(xiàn)硬件分離并廣泛使用各類IP堆棧。即使單純從成本角度考慮,嵌入式Linux在加快上市時間、降低技術支持與開發(fā)成本方面亦能夠有效抵消裸機/RTOS的前期優(yōu)勢。
另一類常見用例為對現(xiàn)有物聯(lián)網(wǎng)設計進行功能添加。單純從討論角度出發(fā),這意味著我們需要向設備添加讀取設備狀態(tài)、配置與控制機制甚至是網(wǎng)絡瀏覽器。這意味著我們需要找到粘接機制對合并IP堆棧、Web服務器與設備軟件。
對于已采用裸機設置的現(xiàn)有設備,以上討論則適用于改進其互聯(lián)網(wǎng)連接類情況。這時,調(diào)整設備以使用嵌入式Linux往往是最簡單的實現(xiàn)方式。對于嵌入式Linux設備,向其中添加IP連接只需要通過內(nèi)核選項啟用IP堆棧。大家還需要添加一些軟件包以配置系統(tǒng),同時引入Web服務器。在這方面,大家需要編寫軟件粘接代碼以服務于Web請求。我們可以利用簡單的shell腳本、Python以及JavaScript等方式完成這項任務。添加物聯(lián)網(wǎng)功能對于產(chǎn)品的上市時間非常關鍵,因此大家可以將各個步驟并行推進,從而有效加快開發(fā)速度。
對于嵌入式Linux設備與物聯(lián)網(wǎng)連接而言,安全性無疑是一大關注重點。物聯(lián)網(wǎng)服務通常會直接暴露在危險和未經(jīng)過濾的互聯(lián)網(wǎng)之上。雖然相關內(nèi)容完全可以另寫一篇文章,但這里我們可以給出一些總結(jié)性意見,即利用多項原生嵌入式Linux功能——包括多用戶、SELinux以及容器——控制并緩解這種風險。而Linux擁有的龐大社區(qū)亦將帶來安全可靠的修復能力。
總而言之,嵌入式Linux能夠顯著加快物聯(lián)網(wǎng)方案的開發(fā)速度,簡化功能擴展并為物聯(lián)網(wǎng)生態(tài)系統(tǒng)提供IP網(wǎng)關服務。另外,Linux生態(tài)系統(tǒng)中的大量驅(qū)動程序與功能庫,乃至開源代碼也將成為構(gòu)建物聯(lián)網(wǎng)項目時,極為強大的儲備資源。
原文標題:How embedded Linux accelerates IoT development,原文作者:Hunyue Yau
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】