用您的思想和IBM Bluemix物联网控制Droid
物联网正在生机
我们都听说过物联网(IoT)如何使我们能够从智能手机远程控制灯泡,恒温器和安全警报,但是物联网还有另一面吗? 我今天可以通过手机完成上述所有操作(出于某些原因,我的恒温器最近停止连接到互联网),但是我们很少想到物联网如何改变我们与物理世界互动的方式。
事实证明,借助IBM Bluemix和一些廉价的消费类硬件,您可以根据自己的想法指导BB8机器人。 说真的
直到Envato Tuts +要求我写那篇文章时,我才真正意识到这是不可能的。
真的,您可以用自己的想法控制机器人
IBM Bluemix技术联络员Joshua Carr可能是世界上工作最出色的人,也许您已经在上面的视频中观看了完美的演示。
尽管机器人一直是科幻小说的领域,但在幻想世界中,头脑控制甚至更远。 正如卡尔所说:“看到尤达将X翼从水中抬起后,我花了很长时间,比我想承认自己盯着汽车看是否可以移动它们的时间还长。” 他年轻时那没用。 但是现在,他向我们展示了我们如何做到这两者。 这就是我今天要与您讨论的内容。
和往常一样,在下面的评论中分享您的想法,评论和反馈,或者直接通过Twitter @reifman与我联系 。 对于今天的教程,还邀请您直接通过@josh_schwaa或@IBMCloud与Carr 联系 。
在我们深入探讨之前,我想提一下Carr在视频中使用的Emotiv耳机是特定女性天才 Tan Le的作品 。 在技术领域工作时,我们经常被男人包围,并且不经常知道 女人在科学技术中的贡献 。 我将在下面重点介绍Le的更多作品。 当然,IBM Bluemix允许您连接各种硬件,并且与制造商无关。
什么是IBM Bluemix?
Bluemix是IBM的开放标准云平台,用于构建,运行和管理应用程序和服务。 它提供了大量的服务目录 。
如果您想在现实世界中做出改变,例如指挥机器人,那么您将需要利用Bluemix的IoT服务 。 让我们看看卡尔是如何做到的。
以下是他用来创建视频的主要元素:
在现实世界中,该图如下所示( 不用担心,您也可以将耳机设为黑色) :
看一下硬件组件
这是Carr用于视频的硬件:
- Emotiv Insight耳机
- Sphero星球大战BB-8机器人
- Windows 10桌面,用于将BTLE SMART连接到Emotiv洞察力
- 运行Raspbian Jessie的Raspberry Pi用于BTLE连接到BB-8
- 可插拔的4.0+ USB适配器
Sphero星球大战BB-8机器人
这是我们节目的明星(小男孩在指引卡尔的方向),BB-8,在《星球大战》,《原力觉醒》中大家都知道并喜欢它。
以下是Sphero BB-8 Droid提供的一些很棒的东西,价格约为149.99美元,重约200克:
- 最高时速4.5 mph(7ft / s)
- 陀螺仪和加速度计的内部引导
- 蓝牙Smart BLE连接(100英尺范围)
- 感应充电(充满电超过1小时)
- 兼容iOS&Android&Windows Phone
然后是头戴式耳机-接收Carr想法并将其发送给Bluemix的设备。
情感洞察力
Emotiv Insight是一款时尚的5通道无线EEG耳机,可记录您的脑波并将其转换为更有意义的数据。 这种高空间分辨率可提供有关您的大脑活动的深入信息,但是Insight被优化为产生日常使用的干净,可靠的信号(请参见此处的黑色) :
这是Emotiv Insight基于柔性印刷电路的电子产品的360度可视透明旋转:
令人惊讶的是, Emotiv Insight是从Kickstarter项目开始的 ,它承诺“可以让消费者从本质上读取自己的大脑并了解您头脑中发生的事情的耳机”。 它的价格约为299美元。
以下是原始Kickstarter视频中的联合创始人兼发明人Tan Le:
您还可以观看她的TED演讲:读懂您的脑波的耳机 。
以下是耳机的一些功能:
- 提供高空间分辨率,确保“全脑”测量。
- 通过软件订阅提供对原始EEG数据的访问。
- 九轴运动传感器,用于精确测量头部位置和运动。
- 识别性能指标,心理命令和面部表情。
- 内置亲水性聚合物传感器技术,无需准备或使用粘性凝胶(当您刚冲完澡并且需要派送BB-8来分散突击队员时,这很有帮助)。
- 电池至少需要运行4个小时。
- 与手机,平板电脑和PC的无线连接。
- 与Windows,OSX,Linux,Android和iOS兼容。
软件大图
而且,这是您需要的软件:
- IBM Bluemix
- Emotiv Full SDK(仅在购买Emotiv Insight后才能下载)
- Python BB-8驱动程序(GitHub)
- 用于相应硬件的IBM Java IoT库和Python IoT库
这是从耳机到机器人的数据流的直观摘要:
使用IBM Bluemix将它们整合在一起
Carr在“开始使用'The Force'的第一步”中介绍了如何将视频中的组件放在一起。 如果您想复制他的视频演示,我鼓励您阅读他的教程。 我从他的描述中借用了以下内容。
实施细节
Bluemix物联网样板
Carr使用Bluemix从样板中创建了一个物联网应用程序:
这将创建一个Node-RED实例,您可以从浏览器访问它,并提供一种将耳机和droid连接在一起的方法。
培训情绪洞察力
“耳机本身使用已知技术来寻找特定的标记,例如兴奋和兴趣,” Carr说。 “我们可以做的就是训练耳机来识别我们认为的某些熟悉的命令,并且设备从本质上了解到这意味着行动A。然后我们可以通过蓝牙将这些信息发送到Internet。”
他继续说道:“但是一旦到了那里,我们将如何处理数据……这就是IBM技术的来龙去脉,我们处理数据,将数据流转,然后使用少量代码进行有意义的交互。”
“有了洞察力,并熟悉如何与人建立牢固的联系(有关详细信息,请参阅Emotiv耳机控制面板 ),下一步将是直接使用发现的情绪(兴奋,专注,等)或训练您的耳机。”
Carr花了几个小时将耳机训练到令人满意的水平。 Emotiv建议您先尝试执行一个命令,然后再尝试添加其他命令,他同意。
“在我的演示中,我可以进行推拉,但您总是可以添加更多命令。显然,最多可以添加12条!”
从Emotiv Insight接收数据
Carr使用了Emotiv和Java IoT库中基于Java的SDK将耳机连接到Bluemix。 这些使他能够从耳机接收数据以在其中运行代码。
IBM的物联网基金会可帮助您设置用于在云中发送和接收数据的凭证。 每个应用程序都有一个组织ID和一个API**来注册您的设备。
正如他所描述的 ,需要大量配置,但是IoTF文档将为您提供指导。 我们不希望云将我们的想法随机发送给其他人的机器人。
耳机识别出事件后,事件就会发布到您的Bluemix实例中。 您可以通过阅读Node-RED的官方文档了解其基础知识。 发送数据后,您将看到它出现在您的Node-RED实例中:
将数据从Bluemix发送到BB-8
根据您构造从IoT Foundation客户端发布的数据的方式,您可能需要使用Node-RED创建将由连接到BB-8的Pi接收的指令。
Node-RED可视编辑器是物联网的接线工具,它使您可以轻松高效地获取数据并针对该数据运行功能,有时使用代码,有时无需自己编写代码。
这是另一个IBM BB-8 Droid演示中的Node-RED的屏幕截图:
卡尔将其命令集限制为对视频进行push
, pull
和neutral
。
Raspberry Pi将需要连接到BB-8的代码。 从本质上讲,您将需要复制耳机代码的操作,但是您需要订阅该数据,而不是发布数据。 换句话说,Pi接收从您的耳机传输到云的事件,并将其提供给机器人。
为了将Pi连接到BB-8,Carr使用BlueZ进行了低功耗蓝牙扫描。 这有助于Pi找到本地BTLE设备(如BB-8)的MAC地址。
他还将IoT Foundation Python库添加到了Pi。 这使他可以使用Python创建一个新客户端,该客户端连接到IoT Foundation并导入BB-8驱动程序。
然后,他对接收到的数据使用简单的条件语句来确定应该发出哪个命令,例如roll()
命令来移动BB-8。
在下面,他指示BB-8返回他身边:
同样,我建议您访问他的教程以获取更多详细信息: 开始使用“ The Force”的第一步 。
下一步是什么?
卡尔宣称:“如果我能将《星球大战》中的任何技术变为现实,那将不是光剑。” “你能想象给某人轻型军刀,他们要做的第一件事就是砍掉他们的手臂。” 他建议我们采取小步骤。 “首先要比轻型太空飞船快,然后是光剑。”
好吧,Envato Tuts +已要求我编写有关用手臂手势控制BB-8的后续教程。 这是Rob Peeren的介绍性视频,下周我们将进行介绍:
Peeren向我提到,关于Bluemix IoT的最好部分是,没有什么事情会变得非常复杂。 他能够通过结合Bluemix和第三方提供商提供的构建基块来实现自己的目标。 卡尔回应道:“这对我来说是很容易的一步,它使我知道如何使用大脑来控制周围的机器人。”
我们不必成为绝地武士就可以做到这一点。
所以我说,带上飞船和光剑。 自动驾驶汽车似乎已经过时了(对不起,埃隆)。
至于Carr,他正在探索使用IBM Cloud和其他API进行更深入的研究- 使用Watson的Speech-to-Text,以不同的颜色点亮BB-8,或者通过让IBM的Analytics Service使BB-8反映他当前的情绪,沃森 ,分析他的Twitter活动。
他还想听听您有关将Bluemix和BB-8投入更大工作@josh_schwaa或@IBMCloud的想法,问题或建议。
卡尔说:“我们将在与他人真正建立联系方面迈出巨大的一步,”我同意。 我期待看到这项技术的发展和壮大。
如果您有孩子,尤其是女儿,请告诉他们。 向他们展示视频。 男孩,女孩,自我选择的性别命名法,告诉他们是一位女士领导了头戴式耳机的发明 -让他们知道,梦见自己的未来是可以的。
等不及袖标教程了?
我知道这是很棒的东西。 我必须返回并重新观看视频以再次检查Emotiv Insight是否正在分析脑电波,而不仅仅是面部手势。 它是。
如果您迫不及待地希望Peeren做出努力的袖标教程,那么这里还有一些其他的Bluemix IoT资源,可以帮助您继续前进:
SilverHook快艇使用IBM Bluemix
我建议观看视频,该视频描述了SilverHook Powerboats如何在比赛期间使用物联网帮助监视和优化引擎性能:
为智能手机传感器设置自己的Bluemix应用程序
在Bluemix上使用IoT检验从1个连接设备扩展到100K +的规模 ,它描述了如何将智能手机插入运行名为IoT Phone的Web应用程序的Bluemix。 该应用访问智能手机的加速度,方向和位置; 可以将其视为便携式运动跟踪器。 今天进行设置非常容易。
购买可与Bluemix Apps一起使用的Texas Instruments传感器
您还可以将Bluemix与这些来自Texas Instruments的 $ 49 IoT传感器一起使用; 通过智能手机传感器了解IBM IoT :
试用另一个适用于Bluemix的Sphero BB-8应用程序
这是另一个IBM Developer Works Recipe , 使用IBM Watson和Node-RED控制Sphero-BB8:
而且,还有更多示例代码可以在世界各地(GitHub)上控制BB-8 Droid 。
退一步并观看有关使用Bluemix的概述
最后,要更全面地了解IBM Bluemix及其更广泛的功能,请观看David Barnes的在云中创建,部署和管理您的应用程序 :
收盘时
请继续关注即将到来的臂章机器人控制事件。 同时,请让我们知道您希望将来看到更多有关IBM Bluemix主题的文章。
您可以在下面的评论中发布它们,或直接通过Twitter @reifman与我联系 。 我希望您也可以阅读我的其他Envato Tuts +系列文章如何使用Yii2编程和使用PHP构建启动 程序 。
我希望您和我写这篇文章一样开心。 未来将会很大!
如果您想了解有关IBM Bluemix和物联网的更多信息,请访问http://ibm.com/bluemix 。
相关链接
- IBM Bluemix物联网
- 使用力量–随心所欲移动BB-8 Droid(IBM Bluemix Dev)
- Sphero的Star Wars BB-8 Droid
- Emotiv Insight和开发人员页面
- 节点红色
- Cylon.js和BB-8驱动程序
- Sphero BB-8玩具的工作原理(YouTube)
- 尼尔·斯堪伦和星际大战:原力觉醒团队如何将BB-8带入生活(星球大战)
- 这款售价300美元的头戴式耳机能否改变“锁定”患者的生活? (监护人)