用Docker容器進行IoT開發

jopen 9年前發布 | 9K 次閱讀 Docker
隨著IoT新的硬件平臺和開發板的不斷更新,SDK交付越來越多地轉向零碎化以及“按需組裝”解決方案。大多數的硬件公司很難提供能夠正常運行的Software Development Kits (SDKs)。

Docker為硬件平臺提供了實現簡單部署打包SDK環境的機會,這是一個巨大的飛躍。這是第一個輕便的模式,跨操作系統、具有一致的工具和便于與他人分享的機制。

想了解更多關于物聯網和Docker的深度分享請點擊這里 Rapidly develop Internet of Things apps with Docker Containers

這將如何運行呢?

為了說明Docker是如何簡化這些環境的交付,讓我們來看下我們為esp8266項目開發的Docker容器。這個容器在docker hub esp8266-dev. 共享。關于如何構建這個SDK的環境可以查看 ansible-esp8266-role ,它用于引導程序。

開始之前,你需要在你的系統上安裝Docker,在我的例子中我使用運行在OSX和Windows上的 boot2docker

理解boot2docker的第一件事是,你/用戶在OSX上的文件夾在boot2docker虛擬機被設置為共享。這將使得重要的數據能夠非常容易的從OSX輸入到你的Docker容器中。你也可以參考boot2docker 項目中的 VirtualBox Guest Additions ,了解它是如何工作的。

在我的例子中,我使用一個基于 esp8266/source-code-examples 的項目作為基本示例。

添加一個Dockerfile到這個項目,請注意,我更新了WORKDIR來匹配我的ESP項目path。

FROM wolfeidau/esp8266-dev:1.1.0

add all the SDK stuff to the PATH

ENV PATH=$PATH:/opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/bin

Path which contains your esp8266 project source code

WORKDIR /Users/markw/Code/Systems/esp8266-led-lamp

pass -v /Users:/Users to ensure your shared folder is available within

the container for builds.

VOLUME /Users

USER ubuntu

然后你built你的容器并運行:

docker build -t esp8266-build .

然后你想運行如下代碼:

docker run -v /Users:/Users -i -t esp8266-build make

現在檢查你的firmware 目錄,應該有文件需要flash你的esp2866項目。

如果你想在容器內運行:

docker run -v /Users:/Users -i -t esp8266-build bash

這個項目是我在 esp8266-led-lamp 時做的。

總之我們已經安裝了boot2docker,至少構建了一個esp8266項目,并且擺弄了復雜的SDK安裝。在我看來這在縮短構建硬件項目的時間、簡化復雜SDK環境的交付方面是一個巨大的進步。

希望愛特梅爾公司和德州儀器將來也使用Docker。

本文由時速云丁麒偉編譯整理,原文鏈接: 用Docker容器進行IoT開發

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!