BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

三星电子打造基于JavaScript和Node.js的IoT.js平台

| 作者 张天雷 关注 4 他的粉丝 发布于 2015年8月13日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

最近几年,物联网技术开始得到各大国际公司的重视,并迅速发展,由此诞生了各种物联网产品。未来,物联网势必会为人们生活和工作带来巨大改变。根据IDC公司的分析报告,IoT技术及服务到2020年在全球的开支将达到8.9万亿。但是,在迅速发展的同时,物联网发展仍然面临着很多挑战。其中之一就是如何把应用或服务轻松部署到不同的设备中。根据以往服务器、桌面和手机等设备中跨平台应用程序部署的经验,一个十分高效的方法就是在设备中支持JavaScript。这样,基于JavaScript的应用就可以轻松运行在不同的设备中。然而,JavaScript运行时需要耗费大量的内存和计算资源,并不适合资源有限的嵌入式设备。为此,三星电子最近开始进行基于JerryScript和Node.js的IoT.js项目的研究。接下来,本文就对该项目进行简要介绍。

IoT.js平台由轻量化JavaScript引擎——JerryScript构成,是轻量级的Node.js
首先,JerryScript是三星电子提出的另外一个开源项目。JavaScript虽然能够很好的支持跨平台应用,但它一般都需要比较多的内存和计算资源。这样,该技术就很难应用到灯泡或者温度计等轻量化的物联网设备中。因此,JerryScript这一轻量化的JavaScript引擎被提出。JerryScript同样以JavaScript应用作为输入。其主要特点在于面向嵌入式物联网设备,试图在资源受限(RAM资源小于64KB、存储代码的ROM空间小于200KB)的环境下运行JavaScript应用。而且,JerryScript引擎支持设备中编译和执行,并提供对外围设备的访问。目前,该项目已经托管在GitHub中。用户只需要下载源代码,进行编译即可调用相应的API,执行程序的相关功能。另外一方面,Node.js是一个基于Chrome JavaScript运行时建立的服务器端平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js所使用的事件驱动、非阻塞I/O模型使得其轻量和高效,从而可以很好的用于跨分布式设备的数据密集型实时应用程序。

通过以上分析可以看出,JerryScript提供了在资源受限的物联网设备中执行JavaScript应用的引擎,但无法支持服务器端的服务;Node.js虽然提供了JavaScript的服务器端平台,却需要消耗较多的计算和内存资源。因此,二者都无法支持物联网设备中的JavaScript服务器端平台。为了解决这一问题,IoT.js项目被提出。在JerryScript和Node.js的基础上,IoT.js项目旨在提供IoT世界中基于网页技术的互操作平台。该平台利用JerryScript来运行JavaScript代码,并利用libuv进行异步I/O。其目标是在只有若干KB RAM资源的微型控制器或其他设备上正常运行。这样,绝大部分物联网设备就可以支持IoT.js,从而运行不同的服务。目前,IoT.js可以运行在Linux系统和实时嵌入式操作系统NuttX上。其面向的设备包括Raspberry Pi 2 and ST开发板。

此外,IoT.js与现存的技术是完全兼容的。开发人员完全可以利用现在的开发方法来轻松开发IoT版本的应用。而且,IoT.js项目是开源的,代码托管在GitHub中。三星电子软件中心的副主管Kyeongwoon Lee表示,公司希望通过IoT.js项目来增强更多设备间的互操作性。同时,开源方式表明三星希望能够与软件开发人员一起来进行IoT.js项目研究。

除了IoT.js和JerryScript项目,三星电子还在可穿戴设备Gear系列、ARTIK系列的IoT模块以及智能电视等方面进行IoT技术的研发。通过这些项目,该公司正在积极增强物联网设备的互操作性。这些设备涵盖了从家用电器、手机和电视等复杂的电子设备到灯泡、温度计、开关和传感器等小型设备。最终,这些互连的设备可以让人们享受更加智能、便捷的生活。


感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

by yan su

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT