DesignSpark Electrical Logolinkedin
菜单 搜寻
提问问题

13 Feb 2017, 9:12

借助 Imagination Technologies Creator Ci40 套件开始您的 loT 云计算旅程

安全加入 IoT 革命

在 Raspberry Pi 获得成功之后,出现了大量名副其实的低成本 64 位 SBC(单板计算机),都想在 Pi 开辟的市场上分得一杯羹。但是,谈到重大 IoT(物联网)项目的角逐者时,战场却十分狭窄。如果您要避免在组成  Internet of Tat™ 的不断增长的僵尸网络中再添加僵尸,则需要一个从头开始设计的 SBC 与软件框架一起安全操作,以支持您应用程序的安全运行。而在可为开发人员提供此功能的一组精选产品中,榜首位置的强大挑战者是 Imagination Technologies Creator Ci40 套件。

 

Creator Ci40 套件简介

该套件基于惊艳的紫色开发板之上,为用户提供以下功能:

MIPS CPU
550 MHz 双核双线程 interAptiv
2 x 32/32 KB L1 缓存
1x 512 KB L2 缓存
浮点单元
OpenWRT Linux OS

连接性
802.11 AC 2 x 2 WiFi
802.15.4 6LoWPAN
蓝牙(LE 和经典型)
1 x RJ45 以太网端口
1 x USB

IO 扩展
2 x MikroElektronika Click 接口
1 x Raspberry Pi 接口(40 引脚端板型)

安全
Infineon TPM(可信平台模块),用于认证存储

内存
2 MB Boot NOR 闪存
512 MB NAND 闪存
256 MB DDR3 SDRAM
SD 卡插槽

电源输入端
微型 USB 或 9 V 直流

 

MikroElektronika Click 接口使应用程序添加传感器或执行器功能变得非常简单。有大量(并不断增加)的卡合板可用,涉及从加速器Wi-Fi一切东西。万一您找不到合适的,甚至还可使用一个原型构建卡合板。这都可节省概念验证应用程序启动并运行的宝贵时间。

为了让您达到比超高速带宽还快的速度,该套件盒包括:

1 x Creator Ci40 开发板
2 x MikroElektronika 6LoWPAN Clicker 板
3 x MikroElektronika Click 板(Thermo、Motion 和 Relay)
1 x microUSB 电缆

 

软件框架

Creator 套件真正杰出的地方是对 loT 应用程序的深度开源软件支持。

提供的开发板运行 OpenWRT Linux。

设备管理通过实施开放移动联盟轻型机器到机器 (LWM2M) 标准(称为 Awa)提供,简化了与基于云的服务器的安全通信。

智能对象互联网协议 (IPSO) 规范为传感器和执行器提供标准化对象模型:

 

 

让我们坦率地说:有许多 API 文档需要您来研究,这需要不止一天的时间。但是为了加快将其印入您大脑的过程,在线支持提供一个直观的快速入门指南,它会将您引导至一些吸引人的研讨会,这些研讨会基于套件中的卡合板之上。

研讨会 1使用板载开关将简单的计数数据发送(按下开关按钮的次数)至基于云的开发人员控制台。此研讨会的扩展使用 PIR 运动传感器卡合板代替开关,以演示修改代码以发送运动检测计数是多么简单。

还有一个创建温度记录仪示例的研讨会的预览版。在本文编写时,尚未有 6LoWPAN 卡合板示例可用。

值得花时间(花上整个早上)来快速开始和观看首个研讨会来完全掌握该板和软件。如果您很轻松地完成此步骤,则建议再掌握重新刷新您的板。我发现将 OpenWRT 映像刷入 microSD 卡并让其运行起来很有意义。

 

我的远程激活型继电器王国

听到继电器卡合声会感到很满意,从而知道从当地咖啡店(或在世界上任何其他有免费 Wi-Fi 覆盖的地方)可以轻松激活继电器。

研讨会 2 则带来更大的兴奋感,是渡过一个下午的绝佳方式。下面详细介绍了我一下午捣鼓继电器模块的情形,但在此之前,我想避免混淆并澄清:

  • Ci40 OpenWRT Linux 命令行上运行的命令以“#”开头,而
  • Linux Mint 18.1 Cinnamon 虚拟机上运行的命令则以“$”开头。

我首先远程登录 Ci40:

$ ssh root@ipaddr

 其中“ipaddr”是 Ci40 的 IP 地址。登录后首先检查的是正在运行的 LetMeCreate 的版本:

# opkg list-installed letmecreate

 

我的版本是 1.1.0,并非我们需要的 1.3.0(或更高版本)。当这种情况发生时,版本 1.4.0 已在几天前发布到 Github 上,因此我下载了更新的版本并将其安装在 Ci40 上。完成此工作的最简单方法可能如下所述:

  1. 使用 Linux distro 上的 Firefox(或您喜欢的任何浏览器)从 Github 下载此文件
  2. 在您终端机的命令行上,将目录更改为“下载”目录:
    • $ cd Downloads
  3. 将文件 SCP 到 Ci40 根目录:
    • $ scp letmecreate_1.4.0-1_pistachio.ipk root@ipaddr:/
  4. 在 Ci40 上安装软件包:
    • # opkg install /letmecreate_1.4.0-1_pistachio.ipk

完成后,您可能想从根目录中删除 .ipk 文件。现在我已是最新的,我可以继续实际设置应用程序。我通过将目录更改为之前早上建立的“myworkspace”目录来完成此操作,对于我的情况下是:

$ cd /home/redstone/Projects/Ci40/myworkspace

 

然后我们从 Github 克隆项目文件:

$ git clone https://github.com/creatordev/w2-remoterelay

 

下一步是更新 OpenWRT 馈给以检测新应用程序:

$ cd ../openwrt-sdk$ ./scripts/feeds update -a && ./scripts/feeds install -a

 

最后,我们构建它:

$ make package/w2-remoterelay/compile

 

通过生成文件的魔力,我们的 remoterelay_1.0.0-1_pistachio.ipk 文件出现在

openwrt-sdk/bin/pistachio/packages/myworkspace

文件夹中。要将此写入开发板,我们将目录更改为应用程序文件现在驻留的位置并再次启动 scp:

$ scp remoterelay_1.0.0-1_pistachio.ipk root@ipaddr:/

 

剩下的就是安装和运行应用程序:

# opkg install remoterelay_1.0.0-1_pistachio.ipk# /bin/remoterelay

 

现在应用程序正在运行,下一步是在您喜欢的任何机器上启动浏览器并导航至 Creative Technologies 开发人员控制台。在此处我们可以找到已连接到 Creator 云服务器的设备。

Imagination Technologies 人员在允许您将多少设备连接到其云服务器方面可能比我更慷慨 ,只要数量被视为“公平合理”,这种数量是很多的。但在此情形下,只有一个我们要寻找的设备:对象 ID 3201。

 

如果单击此设备,可显示多条有关我们设备状态的 IPSO 标准化信息。

 

如果单击铅笔图标(用箭头突出显示),则可修改设备的状态。

我们可以在真和假之间切换字段值。单击“Save”(保存)时,该值将写入设备。结果是 Omron G6D-1A-ASI 继电器发出令人满意的卡合声和板上一排暖心的已切换 LED!

 

让我们在此示例中试用的有用工具的下一层采用 webhook 的形式。用外行人的话来说,webhook 允许互联网一部分中的事件在别处触发预先确定的响应。在我们的情形中,我们可以在继电器改变状态时将继电器数据发送到网页。用于实际展示此操作的页面是 requestb.in

如果进入此页面时单击大的绿色“Create a RequestBin”(创建 RequestBin)按钮,您将转至一个看上去与此类似的页面:

复制 bin URL 并返回开发人员控制台。单击“Devices”(设备)下面称为“Subscriptions”(订购)的链接,在这里可以添加我们希望被告知的 webhook 数据:

如果我们接下来返回“Devices”(设备)并切换我们的继电器,则我们可翻转至 http://requestb.in/ 并刷新此页面,可以看到我们有一些来自 IoT 设备的新闻,告知我们已发生的状态变化以及发生的时间:

 

如果您有兴趣深入讨论此示例,还有一个 Android 应用程序和一些可爱的 Node.js 可拿到继电器研讨会试用。我没有进入这些最后的部分,因此此时我的胃提醒我现在是晚餐时间。但浏览一下说明,很明显开发人员可以采用这些示例并出于其自己的现实环境应用基础运行它们。

结论

我认为整个 IoT 概念的声誉正处于考虑欠周、执行不力、不安全产品的威胁之下,这对我们大多数人来说不是新闻。Ci40 套件已经融入到为联网设备开发设计合理、可扩展的解决方案的想法之中,并非您可用任何 SBC 进行一次性黑客这一想法。

如果 IoT 将发展为改善人们生活的可信技术,那么经过全面测试、精心设计的产品就是一个在 IoT 开发人员之中传播的重要思维模式。对于了解这一点的开发人员而言,Ci40 套件是绝佳的起点。

 

附录 A – 云计算

“云”在过去五年左右已经成为极普遍的术语,但云是什么以及您为何应在意云?广义地说来,云计算是发生在本机(您现在正在使用的 Mac、PC 或笔记本电脑)之外的任何计算机进程,此术语最终源于那些有多个进程连接到“那边”某处的老式销售演示白板图(和电信公司 原理图), 用往返于的红色大箭头表示,这些蓬松云用来使远程广域网复杂性变得模糊。

事实上,当 IT 人员指云计算时,他们往往是指“公共云模型”,其中存储和/或处理通过互联网访问。云存储很明显的示例包括 Dropbox 或 Microsoft 的 OneDrive 等服务,但 Facebook 和 Youtube(人们在这里上传和共享大量图像、视频和其他数据)也可视为云存储服务。

但云并不仅仅关乎存储:另一发展迅速的云领域是将处理器工作负载卸载到庞大的服务器农场。在许多情况下,这只是在提供商的服务器上而非您自己的服务器上运行数据库软件;但在极端情况下,它是具有不一致重大计算需求的公司的优秀之选:它们可以随计算需求的增长而扩展云处理,随需求减少而缩小。如果收集流行用语,则这称为“云爆发”,可为公司节约对 IT 基础架构(大多数时间处于闲置状态)的巨额投资。

不仅是企业受益于将处理工作卸载至云端。所有那些语音激活的消费者产品(包括类似 Siri 和 Alexa 的产品)对在您与之通信的设备上的处理方式做得甚少:自动语音识别和自然语言理解等复杂(和处理器需求)技术由云中的 Apple 和 Amazon 服务器处理。

您还会听到一些其他术语传播,如“软件即服务”(SaaS) – 考虑 Microsoft Office 365 – 和“平台即服务”(PaaS) – 考虑时髦的网站托管 – 但这些本质上都是托管于云中其他人服务器上的存储和处理的某种组合。

讲到为何应在意乎,云服务给用户带来一些窘境,他们对以多大的程度将云服务融入生活中感到为难。最明显的问题与您无法进行在线访问时所采取的操作(归功于对您服务提供商的 DDoS 攻击或 End of the World™之类的东西)以及黑客可全天候试图访问的信息的数据安全有关。本地同步的文件和 256 位加密会有帮助,但并非灵丹妙药。较不明显的问题关系到谁拥有您(有意或无意)放到云端的数据的权限和允许哪些人处理所述数据有关。这些问题您可能应该自己回答,因为云计算正进入您生活的更多角落。

Mark completed his Electronic Engineering degree in 1991 and went on to work in real-time digital signal processing applications engineering, later moving into technical marketing.

13 Feb 2017, 9:12