Maker不可不知的英特尔®XDK互连网解决方案

这篇文章主要详述 2015 年 8 月 18 日至 20 日间位于加州旧金山的英特尔®开发研讨会中,所发表的英特尔®物联网软体开发套件 SFTL005。这份文件帮助开发者了解如何连接英特尔® Edison 平台,建造一个终端装置间的物联网解决方案,文中也陈述可应用于其他专案上的相关概念。其中包含一系列使用英特尔® Edison 平台的实做练习,让开发者了解如何设定和使用英特尔® Edison 硬体和软体环境、如何连接英特尔® Edison 平台至网路、整合与感测器的介面,以及如何传送数据至云端。同时也会教导开发者如何製作触控监视应用软体,让开发者能远距监控触控感测器的状态。
英特尔®互联网软体开发套件是一套完整的硬体和软体的解决方案,帮助开发者遨游物联网,也帮助开发者实践创新的专案。英特尔® Edison 开发平台是一个既小型又省电,专为原型设计製作、製造物联网以及穿戴运算装置所设计的强大运算平台。这个平台运用双核心、双线程 Intel® Atom™处理器系统单晶片至 500MHz,和 32-位元的 Intel® Quark 微控制器 100MHz,主打将无线网路和蓝芽的连接合併在一起。
更多关于 英特尔® Edison 平台的资讯
英特尔® Edison 平台是建立于 Yocto 计画的基础之上。Yocto 计画是一个开放资源合作计画,提供开发者基础系统範本、工具和方法来帮助开发者为嵌入式商品建立一个客製化的 Linux-based 系统。英特尔® Edison 平台用完整的 Linux 基础计算机系统融合 Arduino 开发环境,允许开发者合併 Linux 系统的调用以及 Arduino 草图中的操作系统服务。英特尔® Edison 平台是一个强力的控制器。开发者可以用 JavaScript 于 Intel® XDK, C/C++ 和 Eclipse、 Arduino IDE 开发他们的专案。还可以用 Wyliodrin、Python 于视觉化程式设计;或是如果您倾向使用命令行的环境,您也可以选择在终端机开发专案。在这篇文章之中,我们会向您展现利用 Intel XDK 使用 JavaScript 去创造物联网解决方案的过程,以及如何在物联网装置之中展开、执行和去除程式错误。
内容物联网的关键要素物联网有四大关键要素:数据生产器、数据收集器、基于云端服务和决策。数据生产器由感测器和促动器所组成。英特尔开发套件让您轻鬆将感测器和促动器放入物联网物件收集资讯。在装置中感应到的资料会被传送至基于云端服务,然后传输到末端用户。
硬体零件在文件中条列的硬体零件如下:
更详尽教学于如何组装英特尔 ® Edison 面板

浏览英特尔® Edison 面板 软体下载 页面:. 下载最新的英特尔® Edison 面板和英特尔® Phone Flash Tool Lite 韧体。详读并安装 英特尔® Phone Flash Tool Lite,更新英特尔® Edison 面板至最新韧体。让我们来看看一些基本的步骤:
- 安装微软 Windows 的 64 位元安装程式驱动软体。此驱动软体会安装 Arduino IDE 软体。
- 下载英特尔® Edison 板子最新韧体软体 1 版。
- 下载并且安装英特尔® Phone Flash Tool Lite。
- 用下载的韧体更新英特尔®Edison 平台。
- 设定序列终端机。
藉由更改设定而改变英特尔® Edison 平台
当您已经设定好序列终端机,您可以开始改造英特尔®Edison 平台。

请确认自己的使用者名称是独一无二的。请不要使用 Edison 来当作您的使用者名称,因为在实务上常常造成 mDNS 方面的问题。

更多详细解说明 如何连接英特尔®Edison 平台至本地端的无线网路 .

Grove 入门套件加值版包含各式各样基準的感测器和促动器。物联网开发者可以都不必焊接,直接利用套件开发方案。套件包括多种基本输入和输入组件以及感测器。更多 介绍如何安装 Grove 基本扩充板和如何连接 Grove 元件
设置英特尔®函式库物联网版连结 XDK IoT Edition 下载、安装并且连接英特尔 XDK 至英特尔 ®Edison 平台。此工具是免费的。英特尔 XDK 物联网 Edison 允许开发者在英特尔的物联网平台创造、测试、去除错误和执行应用程式,且平台提供可与感测器和促动器互动的範例程式。此外,平台也提供一系列的实体移动装置,让开发人员用来测试他们的应用程式。
创造一个新专案
您可以使用一个範本或是空白页开始一个新的专案。这一部分会带您理解如何製作一个简单的光线感测器英特尔 XDK 专案的步骤。

创造一个空白範本,然后将其命名为 LightSensor。

从 Sensors 下载光线感测器的範例程式。浏览光线感测器的範例程式,

英特尔®Edison 组件的无线网路和密码必须在上列「藉由更改设定而改变英特尔® Edison 平台」的步骤中设定完成。

这个範例程式将光感测器当成类比输入 AIO 脚位 0。简单地连结光感测器至类比脚位 0。

利用英特尔®函式库物联网版建造并上传 LightSensor 专案。

执行 LightSensor 专案。

有非常多物联网可用的云端应用程式。在这篇文章之中,我们会提到其中的 ThingSpeak 。 ThingSpeak 提供许多云端应用程式,帮助物联网建造连接到云端的应用程式和发行连接到云端的产品。
ThingSpeak
ThingSpeak 是一个提供建造物联网应用程式服务的平台。收集及处理即时数据、形象化数据至表格和图表,有创造 ThingTweet 、 ThingHTTP* 、 TweetControl* 、 TimeControl* 、 React* 等插件和应用程式的能力是 ThingSpeak 的一大特点。
第一步是在 ThingSpeak 注册帐号,然后创造一个新频道。

「频道」是一个您的应用程式市集和复原在 ThingSpeak API 中任何种类的数据
的地方。每个频道都有一个独一无二的频道 ID 。当应用程式从频道读取数据时需要识别频道 ID 。一个频道提供最多八个数据域。成立频道之后, ThingSpeak 会刊登并处理数据,然后您的计划会收回数据。如果您设定频道为公开,其他人可以找到您的数据并且存取它。若您设定频道为隐私,那只有使用者本人可以存取频道。
下一步是命名您的数据域,让您清楚数据应该放在哪个数据域。

接下来,移至 API Keys 标籤,并且取得 API「writeKey」和「readKey」来写入频道。

手动使用 URL 编码去改变数据域的数值是上传数据最简单的方法。若浏览视窗显示结果为 0 ,代表系统在试图传送您的提交物时发生了错误。否则代表您的提交物成功了。上传提案的「api_key」是图 14 中显示的 ThingSpeak 频道的「writeKey」。

上传多个栏位的值:

ThingSpeak 是一个开放资源的物联网编码应用程式。在串行终端机上安装 thingspeakclient 组件,开始在英特尔®Edison 平台上使用 ThingSpeak :

现在您已经準备好开始用 ThingSpeakClient 编辑一个範例程式。

预设处理每个频道间的更新需求的逾时数值为真。若要关闭用户端的逾时设定:

预设每个频道中更新的逾时数值是 15 秒。下列是一个例子教您如何将其设定成 20 秒。

首先只用 ThingSpeak writeKey 或是 ThingSpeak readKey 和 writeKey 来依附频道。选择性的结果回呼会送回错误并且做出反应。


下列是一个读取数据的方法:

ThingSpeak 範例 Sketch
下列的範例程式结合了图 10 中提及的光线感测器的例子和 ThingSpeak 範例程式。此编码读取光线感测器的数值,然后将其上传至 ThingSpeak。

ThingSpeak。

ThingTweet 应用程式连结您的 Twitter 帐号至 ThingSpeak,利用一个简易的 API 传送 Twitter 讯息。
若要连结 Twitter 帐号,

如果您没有 Twitter 帐号,请于 https://twitter.com 注册,并授权给应用程式。

现在您可以藉由通过 Twitter 使用者名称和下列的 Tweet 讯息在 updateChannel 中传送 Twitter 讯息。


ThingHTTP 应用程式允许您经由 HTTP 指令连接事物和网路服务。ThingHTTP 的方法有 GET、 POST、PUT 和 DELETE。Twilio 也是一个简讯和电话的云端沟通平台。Twilio 也支援 HTTPs 的方法,且它也能够依英特尔®Edison 平台连接 ThingHTTP 应用程式。下列是一个使用 Twilio 藉由 ThingHTTP 应用程式传送一封简讯的例子。
注册 Twilio,点选 how API Credentials 取得 Twilio ACCOUNT_SID 和 AUTH_TOKEN 準备开始。

TweetControl 听取来自 Twitter 上的回覆进而做出动作。在以下的例子之中,TweetControl 听到触发文字「cool」后,执行 ThingHTTP「Twilio SMS」动作。

现在您已将 ThingHTTP 和 TweetControl* 设定完成,您可以从您的 Twitter 帐号传送一个 Tweet 讯息。 Tweet 的架构是利用关键字过滤法来触发的。为了让 TweetControl 能够顺利执行,在您的 Tweet 讯息中包含了关键字过滤法。
Tweet 关键字为:
Tweet 结构:


在 Tweet 讯息中发出“#thingspeak IntelEdison is so cool!”之后,TweetControl 会被触发文字 “cool” 所触发,然后就会引起 wilio SMS ThingHTTP 寄发“Hello Intel Edison”简讯到您的移动装置。

TimeControl 也执行 ThingHTTP 的指令,但是 TimeControl 会遵照已设定好的时间点和行事曆自动执行指令。创造一个新的 TimeControl,依照下列步骤填入表格中:

当 TimeControl 的时间触发,Twilio 简讯 ThingHTTP 应用程式会被执行并且传送“Hello Intel Edison”到我们的移动装置,就如图 23 所显示的一样。
ReactReact 执行 ThingHTTP 的指令,或是当数据在我们的 ThingSpeak 频道中遇到了特定的情况下传送 Thingweet 讯息。浏览 http://community.thingspeak.com/documentation/apps/react/ ,其中教您如何使用 ThingTweet 製作一个光线 React。当光线数值低于 6 时,光线 React 会传送“Your light is dim” 简讯。

英特尔函式库物联网版允许我们使用 HTML5 、 CCS 、 JacaScript 创造一个 Codova 应用程式以监控 Grove 感测器。这个应用程式可以用模拟器,或是真实的移动装置来测试。我们会建造一个以无线方式接收数据的触控通知监控应用程式。若触控感测器被触摸,感测器会无线通知使用者。此应用程式以 Grove 触控感测器读取触控动作,并且会改变在装置上的圈圈的颜色。




您现在已经到 Cordova Touch Notifier 专案页面。

如果有一个跳出视窗显示“Connection Error! Server Not Available”,请确认物联网的嵌入式应用程式的触控感测器的应用程式还在执行状态中。现在触碰触控感测器,看看装置的圆圈颜色转绿,听听看 Buzzer 感测器发出的嗡嗡声。

若要在一个真实的移动装置上执行 Cordova 应用程式,

若显示以下的讯息,请点选 Sync 以同步测试服务。

为了可以互通有无,移动装置、电脑和英特尔®Edison 平台必须连结同一个当地端无线网路。

登入成功后,Touch Notifier 应用程式执行如同以下状态。

在这篇文章之中叙述了如何设定 英特尔®Edison 平台,开始在 ThingSpeak 云端服务中接合感测器和通讯数据。浏览 https://software.intel.com/en-us/iot/hardware/sensors ,试试在 Grove 入门套件加值版的不同感测器并体验更多的感测器。这篇文章也展现了如何创造一个自动监控触控感测器的触控监控应用程式。想想看您想要创造什幺,然后体验、享受英特尔®Edison 平台的力量。
参考关于作者Nancy Le 和 Whitney Foster 都是在英特尔公司的软体和服务小组工作的软体工程师,致力于 Intel® Atom™ processor scale-enabling 专案。
欢迎加入「Inside」Line 官方帐号,关注最新创业、科技、网路、工作讯息
