菜单

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

2019年6月29日 - 计算机教程

引子

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你可以用来控制移动电话、开关灯具、机器人等等。

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

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

402.com,```

智能家居产品

凡是能用JavaScript写出来的,最终都会用JavaScript写出来。

Ninja Sphere

402.com 1

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

—— Atwood定律

JavaScript交互能力

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

```

Leap Motion

402.com 2

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

近几年间,在人们眼中JavaScript已迅速成长为最有价值的语言,成为了“明星”开发语言。

在V2版本他们提高了手指追踪的稳定性,现在甚至可以单独追踪手指上的每一个手骨。另外V2版本还提供了另外一个激动人心的特性:虚拟现实,把你的双手带进虚拟的3D世界。更多参见:Leap Motion + 虚拟现实。

在Netscape浏览器初期诞生后,
其成长的速度远远超过了大家的预期,我们现在所看到功能强大的Web应用、移动应用、Windows
桌面应用,甚至服务端都在使用JavaScript。

Leap Motion为Javascript开发人员提供了一个Javascript SDK,并且提供了详尽的文档以及大量的例子,更多参见Leap Motion JavaScript framework 。

JavaScript与嵌入式硬件设备看似是来自两个不同世界的两个物种,八竿子都打不着。
但是随着JavaScript开疆扩土,一路逆袭,如今与物联网有了交集。

Pebble Watch

402.com 3

###优势

我个人是一个非常狂热的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应用:

传统的嵌入式开发相对于web开发来说门槛高,碎片化严重,平台复杂,对开发者的要求高,开发效率低。

Oculus Rift

402.com 4

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

反观JavaScript是当今最流行的编程语言之一,拥有大量的前端开发者。借助JavaScript可以快速地扩大物联网开发者社区规模。

JavaScript交互能力

另一方面,JavaScript在嵌入式设备开发中是非常便利的。它支持异步函数回调和异步I/O,这对基于事件驱动的硬件编程是非常有用的。

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代替。

最激动人心的是这种语言,现在可以用来控制和监控你的移动电话、开关灯具、机器人,增强Google
Glass,以及手或手指之间的感应等。比如下列产品:

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

#####1.智能家居产品Ninja Sphere

Cylon

402.com 5

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

Ninja
Sphere把各种各样的电子设备加入物联网,并且通过它可以一一控制这些设备。

Arduino YUN

402.com 6

Javascript开发人员可以通过 API
来进行应用程序的开发,这无疑是Javascript开发人员的梦想。

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

Javascript交互能力

#####2.Leap Motion手势装置

Spark OS

402.com 7

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

Javascript交互能力

一个可以通过手势来控制设备以及应用程序。它可以感知双手在空气中的自然移动,精确跟踪手和手指的运动。

Tessel

402.com 8

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

Javascript交互能力

Leap Motion为Javascript开发人员提供了一个Javascript
SDK,并且提供了详尽的文档以及大量的例子。

Espruino

402.com 9

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

Javascript交互能力

#####3.Cylon

Intel Galileo

402.com 10

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

Javascript交互能力

Cylon.js是一个 JavaScript 框架,用来进行机器人以及物联网开发。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图