Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
Mrexamo
V2EX  ›  云计算

用 Docker 容器进行 IoT 开发

  •  
  •   Mrexamo · Sep 16, 2015 · 2901 views
    This topic created in 3918 days ago, the information mentioned may be changed or developed.

    随着 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 。

    oott123
        1
    oott123  
       Sep 16, 2015 via Android
    怎么一股翻译腔,也不标个来源…
    oott123
        2
    oott123  
       Sep 16, 2015 via Android
    喔,原来是某云的软文…
    mlhorizon
        3
    mlhorizon  
       Sep 16, 2015
    Atmel 和 TI 叫起来舒服多了,中文名好别扭。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1188 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 17:49 · PVG 01:49 · LAX 10:49 · JFK 13:49
    ♥ Do have faith in what you're doing.