使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

您将要创造的

欢迎! 在我们先前的教程“ 用头脑控制机器人”和IBM Bluemix物联网中 ,我们用他的想法介绍了Joshua Carr使用Emotiv Insight耳机控制“星球大战BB-8”机器人。 如果您不相信我,请查看或观看下面的视频。

一些惊人的消费类硬件以及IBM Bluemix与物联网的集成使之成为可能。

在今天的教程中,我将指导您完成与咨询IT专家Rob Peeren的访谈。 他在顶部创建了特色视频,向他展示了如何使用臂章和手臂手势来精确控制BB-8来踢足球(或有人称之为无脑震荡的足球)。

我们也可能会继续在IBM Bluemix和物联网(IoT)上继续该系列,并提供有关如何尝试更多自己项目的特定分步教程。 请让我们知道您希望将来看到更多有关IoT主题的类型。

如果您想对IBM Bluemix进行更广泛的概述 ,我鼓励您观看David Barnes在下面的介绍:


与往常一样,在下面的评论中分享您的想法和反馈,或者直接通过Twitter @reifman与联系 您也可以联系Rob Peeren @robobob或通过@IBMCloud

臂带控制器组件

以下是Peeren的臂章演示的元素:

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

您可以以199美元的价格购买黑色或白色的Myo臂章

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

这里有一些Myo Armband的入门视频,很有趣,尤其是如果您以前从未看过。

以下是一般产品介绍:

而这一目标更多地针对开发人员:

他们提供了各种使用解决方案以及出色的Developer网站

当然, 这又是BB-8它是如何变成的

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

构建应用程序

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

现在,让我们深入了解Peeren如何使用IBM Bluemix物联网构建演示。 在今天的一集中,我将通过对Peeren的采访进行概述。 在不久的将来,我们可能会一步一步地共同努力-如果您对此感兴趣,请在下面的评论中告诉我们!

这是一个截图,显示了Bluemix如何与设备和IoT一起工作:

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

这是Peeren的视频中Bluemix和每个Raspberry Pi之间发生的情况的高级架构图( 在此处了解有关MQTT的更多信息 ):

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

设置Bluemix应用程序

由于我没有逐步完成应用程序的设置,因此您可能对IBM设计主管Tarun Gangwani给出的Bluemix应用程序UX的浏览感兴趣:

基本上,您可以从任何Bluemix样板创建应用程序,包括Internet of Things Platform Starter

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

这是Peeren的物联网仪表板,其中包括NodeJS的SDK和物联网平台,他用来从Myo臂章中接收数据并将其发送到BB-8:

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

根据您的运动校准臂章

Peeren建议您在校准Myo臂带后再进行练习。 这是创建Myo Armband的自定义校准的视频,显示了它的工作原理(另请参见Myo Armband 实际可以做什么 ):

基本上,您可以用几个简单的手势对其进行校准,然后练习您的动作,以便它可以拾取您的意图。 Peeren对视频使用了以下手势:

  • 挥手向左转
  • 挥手向右转
  • 使其停止的拳头
  • 摊开手指使之前进
  • 举起手臂旋转180度(托尼·霍克会感到骄傲,然后说:“在空中Droid中做!”)

正如Carr花了几个小时来训练Emotiv Insight一样,Peeren说与Myo一起工作也需要实践。 控制系统还不是完全自动化的-您不能只是戴上头盔并准确地驾驶直升机( 抱歉让动作电影作者不高兴)。

将臂带遥测发送到Bluemix

正如我上面提到的,蓝色Raspberry Pi从袖标接收输入并将其发送到Bluemix云。 它通过运行Python代码和MQTT与Bluemix进行通信来实现。

本质上,Myo Armband通过蓝牙将遥测发送到Raspberry Pi上的蓝牙适配器。 然后,Python代码进行遥测并将其发送到云中的Bluemix。 所有数据都以JSON负载的形式传入。

这是Peeren的Python代码的屏幕截图:

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

如果您想深入研究该领域,建议您查看Thalmic Labs开发人员门户 及其非官方的库页面 您还可以查看这段有关指导Raspberry Pi轮式机器人的Myo臂章的相关视频(它的音轨很棒):

在Bluemix中处理臂章数据

在Bluemix中,可以使用Node-RED可视编辑器转换数据。 我们需要将传入的Myo手势转换为BB-8在其驱动程序/语言中理解的命令。

例如,臂章向上转换为BB-8:启动和停止。 这是Peeren的Node-RED翻译流程的屏幕截图:

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

向BB-8下达命令

为了将命令从Bluemix获取到机器人,它们是通过Internet从Bluemix发送到银色Raspberry Pi上的NodeJS和Cylon.js SDK的。 银色的Pi通过蓝牙将命令发送到BB-8机器人。

Cylon.js是一个JavaScript框架,用于机器人技术,物理计算和物联网。 它使指挥机器人和设备变得异常容易。 对于Sphero的BB-8,还有一个特定的Cylon.js SDK 另请参见GitHub上Cylon.js驱动程序

这是Peeren的Cylon代码, Bluemix via MQTTBluemix via MQTT到通过cylon-sphero-ble sphero cylon-sphero-ble到BB8:

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

BB-8收到命令后,其内部系统就会**每个命令,从而创建机器人的运动和灯光效果。

重要要点

我问Peeren这项工作中最困难的是什么,他回答说:“这实际上很简单。” 他说他只是连接了一堆API。

“我在这里什么都没建。 我没有编写任何设备驱动程序或较低级别的代码。 我正在使用API​​,并通过MQTT协议以标准方式连接到Bluemix。 我不必发明任何东西就能使它起作用。”

Peeren希望启发我们考虑以更大的方式使用Bluemix。 当然,Bluemix可以使用Emotiv Insight耳机,Myo Armband和Raspberry Pi硬件完成所有工作,这给我带来了灵感。 令人难以置信的是,该行业已经走了多远。

十几岁的时候,我尝试了语音信号捕获并梦想着被识别。 在大学里,我尝试了数位板以及笔迹识别的工作原理( 一个下午晚些时候向 Nathan Myhrvold 演示 了我在微软的第一份工作。 )但是现在,大多数这些都可以通过Bluemix和物联网实现。

Peeren说:“基本的管道非常简单。” Bluemix提供了120多种企业就绪服务; “这不仅与臂章和机器人有关。” 或麦克风和语音识别-不仅如此。

他建议尝试使用Bluemix分析引擎来提高手势解释或其视觉识别功能的智能性。

当您在Bluemix中构建自己的应用程序时,您将所有东西都放在一个地方。 您不必使用其他平台。 业务规则,报告规则引擎, Hadoop等的一个地方。可能性几乎是无限的。

下一步是什么?

希望您喜欢我们的IBM Bluemix物联网视频演示和教程。 也许您会受到启发来尝试构建自己的演示。

Peeren向我提到,关于Bluemix IoT的最好部分是,没有什么事情会变得非常复杂。 他可以通过结合Bluemix和第三方提供商提供的构建基块来实现自己的目标。

IBM还通过其developerWorks网站为Bluemix提供了一系列培训和认证。 以下是一些相关资源:

如果您想了解有关Bluemix和IoT的更多信息,请告知我们-发表评论或通过Twitter @reifmanRob Peeren @robobob或通过@IBMCloud与我们联系 如果您构建了一个很棒的物联网设备应用程序,请告诉我们,也许我们会为您编写一个功能!

您可以在Envato Tuts +讲师页面上找到我以后想要的各种教程。 我希望您也可以阅读我的两个系列文章如何使用Yii2编程如何 使用PHP构建启动有关构建Meeting Planner的文章

使用手臂手势和IBM Bluemix物联网控制星球大战BB-8 Droid

如果您想了解有关IBM Bluemix和物联网的更多信息,请访问http://ibm.com/bluemix

相关链接

翻译自: https://code.tutsplus.com/tutorials/control-a-star-wars-bb-8-droid-with-arm-gestures-and-ibm-bluemix-internet-of-things--cms-27255