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

引子

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

前言

近十年来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

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

我个人是一个非常狂热的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让我们比以往任何时候都更加接近虚拟现实,今年他们发布新版机器:“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

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

    Javascript交互能力

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

      Javascript交互能力

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

        Javascript交互能力

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

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

          Javascript交互能力

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

            Javascript交互能力

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

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

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

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

                Nest

                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:烟雾报警器官方示例。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。