随着IoT新的硬件平台和开发板的不断更新,SDK交付越来越多地转向零碎化以及“按需组装”解决方案。大多数的硬件公司很难提供能够正常运行的Software Development Kits (SDK)。
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 PATHENV PATH=$PATH:/opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/bin# Path which contains your esp8266 project source codeWORKDIR /Users/markw/Code/Systems/esp8266-led-lamp# pass -v /Users:/Users to ensure your shared folder is available within # the container for builds.VOLUME /UsersUSER 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。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
相关推荐
-
混合云中容器编排引擎的好处
对于使用公有与混合云的组织来说,容器已经成为了应用移植的最佳途径。容器编排引擎提供了一种能力来管理容器的执行和规模——这一好处在混合云用户中同样存在。
-
阿里云发布飞天敏捷版:支持Docker企业版
Docker公司首席执行官Ben Golub 在大会上宣布Docker在阿里云平台的Apsara Stack Agility中落地,这是国内第一个支持Docker官方企业版的容器类产品,可以部署在企业自有数据中心环境内,特别适用于企业专有云及混合云场景。
-
开源是Docker和Kubernetes的伊甸园
12月,CRI-O被Hykes描述为概念验证,但是“毫无疑问——如果CRI-O像DOA一样无疾而终,Docker将不会完成容器化。
-
逐条讲解:云计算中的容器技术
在如今,在讨论云时是很难不提及容器技术的。无论你是刚刚入门的技术新人或者经验丰富的专业人士,一定都应当知道这些与云中容器技术相关的重要术语。