为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript在物联网的应用

标签:
JavaScript

近十年来Javascript的发展速度非常快,伴随着Ajax,Node.js等技术的出现,Javascript已经成为编程语言中的一等公民,在Web应用、移动应用以及Web Server端,都可以看见Javascript。在另外一个领域:物联网(Internet of Things)、智能家居领域,Javascript也有很广泛的应用。最激动人心的是通过Javascript你可以用来控制移动电话、开关灯具、机器人等等。

去年我写了一篇文章《JavaScript Beyond the Web》介绍了Javascript在物联网内的应用。一年过去了,很多新的技术以及智能设备涌现,接下来我们会回顾一下Javascript在这些智能设备上的应用,透过这些这能设备,也许你会有更多的发现。

过去的几个月内,具有Javascript交互能力的智能设备在逐渐增多。通过智能设备厂商公布的Javascript API文档,以及社区技术的推进力量,我们确实可以发现越来越多的设备正在具有Javascript交互能力。

智能家居产品

Ninja Sphere

https://img1.sycdn.imooc.com//5afd2401000139a206650390.jpg

Ninja Sphere 是由来自澳大利亚的Ninja Blocks团队推出的下一代的智能家居控制器,这个智能设备可以把各种各样的电子设备加入物联网,并且通过它可以一一控制这些设备。Ninja Sphere能够远程操控已连接的设备,可以通过手势控制以及查看设备所在位置等等。目前Ninja Sphere可以支持包括具有Bluetooth,BLE,Wi-Fi,Zigbee连接的设备。

JavaScript交互能力

Javascript开发人员可以通过 Ninja Sphere Node.js library 来进行Ninja Sphere应用程序的开发,甚至通过Javascript可以在Ninja Sphere中编写设备驱动以及设备定义,这无疑是Javascript开发人员的梦想。

Leap Motion

https://img1.sycdn.imooc.com//5afd240a000135b406980364.jpg

Leap Motion 是一个非常好玩的小装置,可以通过手势来控制设备以及应用程序。它可以感知双手在空气中的自然移动,精确跟踪手和手指的运动。以及手指的动作。

在V2版本他们提高了手指追踪的稳定性,现在甚至可以单独追踪手指上的每一个手骨。另外V2版本还提供了另外一个激动人心的特性:虚拟现实,把你的双手带进虚拟的3D世界。更多参见:Leap Motion + 虚拟现实。
Leap Motion为Javascript开发人员提供了一个Javascript SDK,并且提供了详尽的文档以及大量的例子,更多参见Leap Motion JavaScript framework 。

Pebble Watch

https://img1.sycdn.imooc.com//5afd241200010a4607550480.jpg

我个人是一个非常狂热的Pebble watch爱好者,在Apple Watch和Google Wear出现之前,Prebble watch就是一款真正的智能手表,易于使用,但是有着难以置信的功能,同时支持iOS和Android平台。采用了E-Paper显示屏,即便在阳光直射下也容易读取,耗电量也很低,每周需要冲一次。

JavaScript交互能力

PebbleKit JavaScript framework :这个框架允许开发人员从云上获取数据,获取设备的物理位置信息等等,为Pebble Watch来构建用户体验非常好的应用程序。手表端的App开发需要一些C代码,但是无需太多的C代码程序编写经验,你可以从官方的例子出发,通过Javascript来构建功能非常强大的手表应用。下面的几篇文章介绍了如何通过Javascript来编写Pebble Watch应用:

  • Pebble Watch Development with JavaScript – Pebble手表Javascript编程入门。

  • Advanced Pebble Watch Configuration – 如何配置Pebble Javascript手表应用。

  • Pebble.js – Pebble官方发布的Javascript框架,目前还是beta版本,未来几个月会发布正式版本。

Oculus Rift

https://img1.sycdn.imooc.com//5afd2422000119cc06630440.jpg

虚拟现实头盔Oculus Rift让我们比以往任何时候都更加接近虚拟现实,今年他们发布新版机器:“Crescent Bay”,以及最新的开发工具包:The Developer Kit 2。与此同时Oculus 与三星联合发布了移动式虚拟现实头戴设备Gear VR,该设备可与三星手机配套使用,实现虚拟现实互动效果。

JavaScript交互能力

OculusBridge :一个桌面应用程序,包含了一个Javascript库,开发人员可以基于 Three.js 来构建Oculus Rift Web体验,支持Windows和Max OSX,可以在Chrome 28,Safari 6以及Firefox 22以上的版本工作。它并没有提到IE浏览器,我不能缺失它是否支持IE。

vr.js :一个Chrome和Firefox插件,可以操作Oculus Rift虚拟现实头盔,但是它需要NPAPI接口,而Google Chrome已经放弃对该标准的支持,建议使用OculusBridge代替。

Babylon.js and IE11 :如果你正在使用Windows以及IE 11,你可以通过Babylon.js创建一个3D环境,可以构建Oculus Rift虚拟现实体验。

Cylon

https://img1.sycdn.imooc.com//5afd242b0001346707490434.jpg

Cylon.js 是一个 JavaScript 框架,用来进行机器人以及物联网开发。Cylon.js 使得开发人员可以使用同样的API来操纵不同的设备,这些设备的名单正在逐渐扩大,包括Leap Motion,Pebble手表,Arduinos和Raspberry Pis等等。

Arduino YUN

https://img1.sycdn.imooc.com//5afd24610001008207090522.jpg

Arduino YUN 是Arduino发布的最新新列的无线产品,合并了 Arduino 架构和 Linux 系统,Arduino 希望借此产品整合 Linux 强大的功能和 Arduino 的易用性。

Javascript交互能力

  • Installing Node.js on the Arduino YUN : 对于Javascript开发人员来讲,Linux意味着可以安装 Node.js 到Arduino上,然后执行Javascript代码。

  • Cylon.js module:支持Arduino YUN的Cylon模块。

Spark OS

https://img1.sycdn.imooc.com//5afd246c00010e1606190503.jpg

Spark OS 是一个基于云的,物联网操作系统。该团队还拥有Spark Core,Spark Core 是一款完全兼容 Arduino的WiFi开发板,可以让工程师开发出任意与网络连接的硬件设备。通过Spark OS云服务可以给Spark Core设备发送指令。

Javascript交互能力

  • Official Spark JavaScript SDK:官方的Javascript SDK。

  • spark-ii:用来与Spark设备交互的IO库。

  • Sparky:一个非常简单的 Node.js 库。

  • Cylon.js module:支持Spark OS的Cylon模块。

Tessel

https://img1.sycdn.imooc.com//5afd247400016f8a06200447.jpg

Tessel 是一款与 Arduino 和 Spark Core 很类似的板子,但是 Tessel可以直接运行Javascript代码,几乎专门为Javascript开发人员设计。它完全兼容基于 Node.js 的各种 package包,可以很好的利用现有的很多资源。

Javascript交互能力

  • Official Tessel docs :官方文档,非常多的例子。

  • Cylon.js module:支持Tessel的Cylon模块。

Espruino

https://img1.sycdn.imooc.com//5afd247b000167a706660382.jpg

Espruino是一个微处理器的JavaScript解释器,号称是全球第一款面向初学者或专家级玩家的Javascript单片机,可以实时的执行你的Javascript。

Javascript交互能力

  • Official Espruino docs :官方文档。

  • node-espruino :一个第三方的Node库,借助于它可以通过Node.js与Espruino进行交互。

Intel Galileo

https://img1.sycdn.imooc.com//5afd248400015ae706530169.jpg

Intel Galileo是Intel推出的采用x86 构架的 Arduino 开发板,与Arduino YUN一样,Galileo在板子上也运行着Linux。

Javascript交互能力

  • The “bigger” Linux image with Node.js:来自SparkFun的文章,介绍了Intel Galileo如何使用SD卡启动Linux。

  • Intel Galileo Programming with JavaScript and Node.js :非常好的参考文章关于Intel Galileo,Javascript以及Node.js。

  • Cylon:支持Intel Galileo的Cylon模块。

  • Galileo-IO module for Johnny-Five:Javascript IO交互模块。

Google Cardboard

https://img1.sycdn.imooc.com//5afd248d0001c75605660421.jpg

今年的Google I/O大会上最有趣的话题就是:Google Cardboard。一款虚拟现实的纸盒,它的外形虽不起眼,但在完全组装完成后,Cardboard可以利用用户的智能手机和内置的一副镜片,为用户提供虚拟现实体验。官方的文章主要在讲述如何进行原生的Andriod开发,但是通过Javascript也可以在Chrome进行虚拟现实的体验。

JavaScript交互能力
  • Cardboard Chrome Experiments :包含了大量的演示程序,以及代码示例。

Myo Armband

https://img1.sycdn.imooc.com//5afd249400016a5005930397.jpg

炫酷手势臂环 Myo Armband 允许用户戴在胳膊前臂上,可以通过动作命令来控制电脑,通过对动作和脑电活动的检测,Myo Armband可以识别出用户的手势活动。

JavaScript交互能力
  • MyoJS:一个非官方的Myo Armband Javascript 框架。

Nest

https://img1.sycdn.imooc.com//5afd249b0001480905110523.jpg

Nest 团队现在有两种智能设备,智能温控器(Nest thermostat)和烟雾报警器(Nest Protect)。今年他们推出了Nest开发者计划,并且公布了Nest API。尽管并没有Javascript API的说明文档,但是提供了Javascript操作Nest API的两个示例程序。

Javascript交互能力

  • Official sample JS for the Nest Thermostat:智能温控器官方示例。

  • Official sample JS for the Nest Protect:烟雾报警器官方示例。

  • Cylon.js 模块:支持Nest的Cylon模块。

结论

如同你看到的,大量的具有Javascript交互能力的智能设备正在快速增长,限于篇幅本文只列举了上面的设备。在物联网领域Javascript开发人员还有很多可以做的事情,那么就先从你的设备开始吧!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消