微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > JavaScript与物联网

JavaScript与物联网

时间:09-20 来源:曾海银 点击:

物联网(Internet of Things,IoT)一词,是由美国麻省理工学院Auto-ID中心主任Kevin Ashton,于1999年进行RFID研究时所提出的概念。物联网是指为每个东西,包括一般物品(例如:超商以及它所贩售的所有商品)、传感器,甚至人类和动物,都标上唯一识别码(Unique Identifier,如:条形码、IP地址、身份证号码等),彼此之间通过约定好的通信协议,利用互联网相连、分享数据。

  物联网不仅是两个设备之间的互相连接,它们通常也连接到负责收集数据,以及协调这些设备运作的(云)服务器。此外,控制器、传感器等物联网设备,通常也都要具备让用户操作和监控的界面,无论是网页还是App形式。下面是物联网的基本架构:?
\

  可连接互联网设备的数量,在2011年时超越地球总人口数。这些设备包含消费性电子产品、工厂机器、家电、医疗器材、传感器等。以往,数据通过人力输入到计算机(例如,抄录水、电、燃气用量),现在多半则是由设备直接提供数据给另一个设备。?
\

  举例而言,你的手机认得“你”和“家人”,当你的小孩抵达校园时,“学校”会自动发送短信通知;手机可以记录你的运动习惯并协调智能型温控器,在你到家之前调整好室温:若是下班快抵达家门时,手机可以自动过滤公司电话,并通知住家的房子自动打开车库门。宅配的货车可实时更新网购商品位置和预计送达时间,也能读取送货路线的交通状况,并适时提醒或规划避开车流量大的路线。

  所以,机器和机器相互连接、协同合作(Machine to Machine, M2M),就能完成代理人或者贴身秘书的工作。随着宽带网络基础建设的普及、各式云服务推陈出新,加上传感器、通信芯片和单片机技术的提升与价格下降,使得“物联网”从概念融入真实的日常生活中。

0.1 JavaScript与物联网

  许多嵌入式系统采用的是运算性能、存储器容量相对较低的8位单片机,它们也通常采用专属的库和开发工具,并且多采用C/C++语言开发。就像电视机、空调等家电,逐渐脱离“单独”运作的时代,为了抢食物联网市场大饼,原本软硬件较为封闭的嵌入式控制器,也开始拥抱开放的互联网和Web标准。

  这股风潮,也将原本称霸Web前台技术的JavaScript(注:在网页上提供交互功能的编程语言)顺势带入物联网。例如,Pebble智能表提供的开发工具PebbleKit和Pebble.js,让你用JavaScript来开发手表的App。又如,2014年被Google收购的Nest Labs公司推出的Nest温度控制器,也有供JavaScript代码使用的API(Application Interface,应用程序接口,也就是提供让外部程序控制的渠道),因此,程序员可用JavaScript读取或调控Nest温控器的状态。基本上,凡具备Web浏览器的设备,就能运行JavaScript。?
\

  在浏览器内操作的应用(像YouTube, Google Docs和Office 365),叫作Web应用。Web应用分成前台和后台(服务器端)两大部分,以电子邮件服务网站(如:QQ和Gmail)为例,显示在浏览器里电子邮件操作的界面(网页)是前台,提供用户填写信件的界面,负责发送邮件的则是后台。网页界面的架构通过HTML定义,外观样式由CSS定义,动态改变字体样式、大小、插入表情图案等交互功能则是用JavaScript写成的。?
\

  JavaScript语言具有下列几个特色:

所有浏览器都支持,也是网页的标准语言。

语法简单,学习门槛低,容易入门。

不需要特殊的开发工具,在计算机、平板电脑或手机上,用文本编辑软件和浏览器就能开发和调试JavaScript代码。

有为数众多的开发者,以及书籍、网络等参考资源和示例。

用于服务器和单片机的JavaScript

  当QQ用户单击“发送”按钮之后,信件内容会从浏览器传给QQ服务器,而在服务器上运行的代码,将负责寄送信件和保存邮件等功能。不像浏览器,在服务器端运行的编程语言并没有统一,常见的语言和运行环境有PHP、ASP.NET、Ruby等。

  其实,服务器端程序也能用JavaScript语言开发。可在浏览器之外独立运行Ja?vaScript代码的Node.js于2009年问世,并相继被沃尔玛、PayPal(在线支付款项系统)和Netflix(网飞,在线电视)等大型企业所采纳,用来建置可应付购物旺季高流量的高性能网站后台程序。

  Node.js并不是第一个可在浏览器外运行的JavaScript环境,但它是最成功的一个。?
\

  Node.js能够在Windows、Mac OS X以及Linux系统中运行;不只是个人计算机,风靡创客的Raspberry Pi(以下称“树莓派”)、BeagleBone Black(http://beagleboard.org/BLACK),以及9美元的开源微电脑C.H.I.P.(https://getchip.com/),还有基于x86处理器架构的Intel Galileo控制板也都能运行Node.js。?
\

某些采用

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top