将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript

2016-01-151.1万
AI 快速预览详细 收起
本文介绍了如何使用JavaScript框架将英特尔® 实感™ 3D摄像头的手势数据发送至Node.js服务器,并触发英特尔® Edison开发板上的蜂鸣器和LED指示灯。首先设置英特尔® 实感™ 3D摄像头和SDK,然后配置Node.js服务器以接收手势数据,最后在英特尔® Edison开发板上编写代码监听服务器广播并触发相应的数字针脚。该项目展示了如何结合使用英特尔® 实感™ 技术和英特尔® Edison开发板创建物联网应用。
1. intel独家授权转载【intel开发人员专区】文章。
2. 定期为创客小主po上最全最细最专业的intel项目教程或另类态度。
3. DF创客社区“创客召集令”带你玩转intel,更多惊喜,颠覆你想象。

简介
英特尔® 推出了多项伟大的创新。 其中一项是基于英特尔® 实感™ 3D 摄像头和 SDK 的英特尔® 实感™ 技术;我们能够创建可执行手势识别、面部分析、背景分割、语音识别,语音合成等功能的应用。而 SDK 则为 CSharp、Java、JavaScript、Processing 和 Unity 等软件框架提供更多支持。 开发人员能够根据熟悉的框架直接着手创建应用,非常简单。

另外一项令人激动的创新型英特尔® 技术是英特尔® Edison 平台。 物联网开发人员能够构建可收集传感器信息或向其他设备发送控制的原型,并设计创新型产品。 英特尔® Edison 集成了 Wi-Fi 和 Bluetooth Low-energy* (LE),因此我们能够连接互联网并创建真实的物联网解决方案。

Peter Ma 撰写了一篇文章,题为结合使用英特尔® 实感™ 技术和英特尔® Edison 开发板。 文章中列举了两个有关此类应用的示例。 其中一个示例将英特尔® 实感™ 3D 摄像头用于输入,将英特尔® Edison 开发板用于输出。 SDK 触发开发板上的 LED 指示灯。 另一个示例将英特尔® Edison 开发板用于输入,英特尔® 实感™ 3D 摄像头用于输出,并使用语音合成朗读开发板的传感器数据。

受到该项目的启发,我根据 JavaScript 创建了类似的项目。 在本文中,我们将使用英特尔® 实感™ 技术 JavaScript 框架将手势数据发送至服务器,然后该服务器发送数据以触发通过英特尔® Edison 连接的蜂鸣器和 LED 指示灯。

硬件
  • 带有 Arduino breakout 开发板的英特尔® Edison 开发板
  • Seeed Grove* – Starter Kit Plus - 英特尔® 物联网 (IoT) 版
  • 第四代英特尔® 酷睿™ 处理器或更高版本
  • 8GB 可用硬盘空间
  • USB 3.0
  • 英特尔® 实感™ 3D 摄像头 F200(系统集成或外设版)
  • 配备了 Node.js 的服务器

软件

第 1 步: 设置英特尔® 实感™
英特尔® 实感™ 的设置非常简单。 首先将英特尔® 实感™ 3D F200 摄像头连接至 USB 3.0 端口。安装摄像头驱动程序和英特尔® 实感™ SDK: https://software.intel.com/zh-cn/intel-realsense-sdk/download
安装 SDK 后,导航至安装位置,并通过浏览器打开RSSDK\framework\JavaScript\FF_HandsViewer\FF_HandsViewer.html 的 JavaScript 示例,它将进行部分检查。
点击浏览器中的链接,安装英特尔® 实感™ SDK Webapp 运行时,然后重启浏览器并再次打开文件。 然后在摄像头前举手,如果顺利,您将看到浏览器显示 “手部数据”。
将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图1
注意看底部文本Gesture:{"timeStamp": ,"handId": ,"state": ,"frameNumber": ,"name":"spreadfinger"},我们将 "name":"spreadfingers" 发送至服务器。
  • 将 RSSDK\framework\JavaScript\FF_HandsViewer 文件夹复制到另外的位置
  • 复制 RSSDK\framework\common\JavaScript 中的realsense.js,并将其放入 FF_HandsViewer 文件夹
  • 创建 edisonconnect.js 文件接收 “手势数据” 并将其 “发送至服务器”。*注:请更改引用服务器的 IP地址
  • 将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图2
  • 编辑 sample.js 文件来拦截 “手势数据” 并将其传送至 edisonconnect.js
  • 将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图3
  • 编辑 FF_HandsViewer.html  文件以将 realsense.js 文件的路径移到其他位置,连接 socket.io 和 edisonconnect.js 脚本
  • 将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图4
到这步为止,我们已准备好将手势数据发送至服务器。 下一步是设置服务器和英特尔® Edison

第 2 步: 设置服务器
假定我们已设置基于 Debian Linux 的服务器(我用的是 Ubuntu Distro),我们将在该设备上设置 node.js 服务器。  
  • 通过 SSH 远程登录服务器
  • 更新服务器将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图5
  • 安装 Nodejs将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图6
  • 安装 npm将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图7
  • 安装 socket.io express将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图8
  • 创建文件 server.js 和 index.html 将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图9
  • 使用 vim 编辑server.js将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图10
  • 编写以下脚本将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图11
  • 最后,看到 "listening at port 1337" 后运行脚本,这时您是安全的将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图12

第 3 步: 设置英特尔® Edison
英特尔® Edison 非常容易部署,英特尔® 提供清晰的文档。 部署步骤可参阅:
现在您可以将代码置入英特尔® Edison,该代码用于连接服务器,并监听来自服务器的全部广播。 如果接收到“手势数据”,英特尔® Edison 将触发数字针脚的开/关。
  • 我们首先打开英特尔® XDK IoT Edition,并通过模板创建新项目。 我们将使用 Digital Write 模板
将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图13
编辑package.json,将相关性添加至 socket.io-client
将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图15
编辑 main.js,连接服务器并检查“手势数据”的名称是否是 "spreadfingers",然后触发数字针脚 2 和数字针脚 8,使其状态成为“1/开”,如果接收到的“手势数据”发生变化,回到“ 0 /关闭”状态。 * 如果希望更改针脚,请更改引用服务器的 IP 地址,在 mraa.Gpio(selectedpins) 上进行更改

将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图14
最后,安装/构建项目,并运行项目。*确保英特尔® Edison 设备已连接
将英特尔® 实感™ 3D 摄像头与英特尔® Edison 相连—— JavaScript图16   
现在,我们来尝试正常运行服务器。英特尔® 实感™ 笔记本电脑/计算机和英特尔® Edison 已连接至互联网。
您可以在此处查看动作。

结论
这是一项非常简单的项目,修改英特尔® 实感™ JavaScript 框架脚本,将捕捉到的手势数据发送至 Node.js 服务器。 服务器负责将手势数据传播至各客户端。 英特尔® Edison 安装有 socket.io-client,负责收听服务器的广播,如果“手势数据”名称为 "spreadfingers",将触发数字针脚改变状态。 同样的方法也可用来根据 JavaScript 框架创建使用面部数据、Blob 数据和语音识别的项目。
那么,您将创建哪种项目呢?
英特尔® 软件创新者 在印度尼西亚日惹市工作,目前在日惹市苏南卡利查加国立伊斯兰大学教课。 他喜欢 Galileo / Edison、Web 和一切极客事物。
原文链接

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
丄帝De咗臂
丄帝De咗臂
java,我不会
孙毅
孙毅
作者
回复丄帝De咗臂
java 我也不会。。。
西海岸总督
西海岸总督
看完好像手势识别和语音交互技术已经非常完备了似的……天啦,我太out了
孙毅
孙毅
作者
回复西海岸总督
恩,总是看上去很美好,现实都是很骨感的。。。
dsweiliang
dsweiliang
大圣威武
凌风清羽
凌风清羽回复dsweiliang
精品总是凡人看不懂的:'(
qq815076543322
qq815076543322
大圣威武
- 没有更多了 -