超越Web,Javascript在物联网的应用

引子

Patrick Catanzariti 是一名Web开发工程师,最近他在 sitepoint 发表了《JavaScript Beyond the Web in 2014》,介绍了JavaScript在物联网中的应用,很是有意思。作为JavaScript的爱好者和从业者,我在这里把它翻译了,以飨读者。 顺便说一下,就在上周,咱们团队的最新力做“真正的JavaScript控件集”----《新一代JavaScript控件Wijmo 5正式发布》啦。 javascript

前言

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

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

过去的几个月内,具备Javascript交互能力的智能设备在逐渐增多。经过智能设备厂商公布的Javascript API文档,以及社区技术的推动力量,咱们确实能够发现愈来愈多的设备正在具备Javascript交互能力。 node

智能家居产品

Ninja Sphere

image

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

JavaScript交互能力

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

Leap Motion

image

Leap Motion 是一个很是好玩的小装置,能够经过手势来控制设备以及应用程序。它能够感知双手在空气中的天然移动,精确跟踪手和手指的运动。以及手指的动做。 编程

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

Pebble Watch

image

我我的是一个很是狂热的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应用: 浏览器

Oculus Rift

image

虚拟现实头盔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

image

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

Arduino YUN

image

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

Javascript交互能力

Spark OS

image

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

Javascript交互能力

Tessel

image

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

Javascript交互能力

  • Official Tessel docs :官方文档,很是多的例子。

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

Espruino

image

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

Javascript交互能力

  • Official Espruino docs :官方文档。

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

Intel Galileo

image

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

image

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

JavaScript交互能力

Myo Armband

image

炫酷手势臂环 Myo Armband 容许用户戴在胳膊前臂上,能够经过动做命令来控制电脑,经过对动做和脑电活动的检测,Myo Armband能够识别出用户的手势活动。

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

Nest

image

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开发人员还有不少能够作的事情,那么就先从你的设备开始吧!

相关文章
相关标签/搜索