超越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

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

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

Pebble Watch

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

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

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

Arduino YUN

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

Javascript交互能力

Spark OS

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

Javascript交互能力

Tessel

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

Javascript交互能力

Espruino

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

Javascript交互能力

Intel Galileo

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

Javascript交互能力

Google Cardboard

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

JavaScript交互能力

Myo Armband

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

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

Nest

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

Javascript交互能力

结论

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

时间: 2024-11-10 08:31:43

超越Web,Javascript在物联网的应用的相关文章

JavaScript —— 下一代物联网全栈开发

作者简介:李知周,中国科学院微系统与信息技术研究所博士,物联网早期创业者,发起了开源物联网项目 Openfpgaduino,目前在国际知名投资银行从事基于大数据与机器学习的网络安全开发. 本文为<程序员>杂志原创文章,未经授权,请勿转载 关注公众号"CSDN 物联网开发"微信公众号,了解更多物联网资讯与干货 Jeff Atwood 曾提出"任何能够用 JavaScript 实现的应用,最终都必将用 JavaScript 实现"他对 JavaScript

Introduction to Object-Oriented JavaScript 转载自:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

Introduction to Object-Oriented JavaScript IN THIS ARTICLE JavaScript review Object-oriented programming Terminology Prototype-based programming JavaScript Object Oriented Programming Namespace Core Objects Custom Objects The Class The Object (Class

Web - Javascript

1. 简介 javascript是脚本语言:可以插入HTML页面 2. 使用 HTML中的脚本 必须位于<script> 与</script>标签之间 脚本可被放置在HTML页面的<body>和<head>部分中. 例: 3. javascript变量 (1)声明: var 变量名=变量值 (2)命名规则: 变量必须以字母开头 变量也能以$ 和 _ 符号开头 变量名称对大小写敏感 (3)分号 ; 分号用于分隔javascript语句 在每天可执行的语句结尾添

Web javascript 中常用API合集

来源于:https://www.kancloud.cn/dennis/tgjavascript/241852 一.节点 1.1 节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值,只读 Node.nodeValue //返回Text或Comment节点的文本值,只读 Node.textContent //返回当前节点和它的所有后代节点的文本内容,可读写 Node.baseURI //返回当前网页的绝对路径 Node.ownerDoc

Web | JavaScript的提升机制

作用对象: 函数和变量的声明. 作用效果: 会将其声明提升到其所在的作用域的最顶端.函数会优先于变量的声明. //函数的提升优于变量的提升 test(); var a=2; function test(){ console.log(a); } //浏览器会将其提升为===> function test(){ console.log(a); } var a; test(); a=2; 如果在同一个作用域内,有相同命名的变量和函数,那么变量的声明就会被忽略掉,只要函数的声明有效.(但是变量的赋值行为

(转)集成架构:对比 Web API 与面向服务的架构和企业应用程序集成

摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API 管理与在它之前出现的集成架构(比如 SOA 和 EAI)有何不同. 简介 几乎所有企业都有多个应用程序作为其关键数据的记录系统,而且还拥有它们赖以创业的业务功能.因此,一些组织想要不断向其企业内外更广泛的受众揭示这些操作系统中的宝贵资产,我们对此已司空见惯.但是,这需要时间.在本教程中,我们将介绍

集成架构:对比 Web API 与面向服务的架构和企业应用程序集成(转)

http://kb.cnblogs.com/page/521644/ 摘要:总体上讲,SOA 和 Web API 似乎解决的是同一个问题:以实时的.可重用的方式公开业务功能.本教程将分析这些举措有何不同,以及如何将它们融入到一个不断演变的集成架构中.文中还将讨论 API 管理与在它之前出现的集成架构(比如 SOA 和 EAI)有何不同. 简介 几乎所有企业都有多个应用程序作为其关键数据的记录系统,而且还拥有它们赖以创业的业务功能.因此,一些组织想要不断向其企业内外更广泛的受众揭示这些操作系统中的

【温故而知新-Javascript】使用 Ajax(续)

1. 准备向服务器发送数据 Ajax 最常见的一大用途是向服务器发送数据.最典型的情况是从 客户端发送表单数据,即用户在form元素所含的各个 input 元素里输入的值.下面代码展示了一张简单的表单: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>基本表单</title> <style>

全栈必备 JavaScript基础

JavaScript 来了 喔家ArchiSelf 1995年,诞生了JavaScript语言,那一年,我刚刚从大学毕业.在今年RedMonk 推出的2017 年第一季度编程语言排行榜中,JavaScript 排第一,Java 第二,Python 反超 PHP 排第三,PHP 第四,C# 和 C++ 并列第五.RedMonk 排名的主要依旧是各种编程语言在 Stack Overflow 和 GitHub 上的表现,比如编程语言在 Stack Overflow 上的讨论数量,在 GitHub 上的