用 Docker 容器进行 IoT 开发 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
Mrexamo
V2EX    云计算

用 Docker 容器进行 IoT 开发

  •  
  •   Mrexamo 2015-09-16 17:47:26 +08:00 2564 次点击
    这是一个创建于 3681 天前的主题,其中的信息可能已经有所发展或是发生改变。

    随着 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  
       2015-09-16 19:00:10 +08:00 via Android
    怎么一股翻译腔,也不标个来源…
    oott123
        2
    oott123  
       2015-09-16 19:02:38 +08:00 via Android
    喔,原来是某云的软文…
    mlhorizon
        3
    mlhorizon  
       2015-09-16 22:30:49 +08:00
    Atmel 和 TI 叫起来舒服多了,中文名好别扭。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2497 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:36 PVG 23:36 LAX 08:36 JFK 11:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86