JavaScript在物联网中的运用

通常能用JavaScript写出来的,终究都会用JavaScript写出来。

—— Atwood定律

在那篇《最盛行的编程言语JavaScript能做什么?》里,我们列举了JavaScript在差别范畴的运用情况,本日让我们来详解一下JavaScript在物联网中的运用。

基本:物联网的三个层级

最先之前, 先让我们简朴地引见点物联网的基本知识。假如你有点Web开辟履历的话,都晓得下图是CS架构:

《JavaScript在物联网中的运用》

比拟于一个物联网体系,不过就是多了一层硬件层以及可选的谐和层。

《JavaScript在物联网中的运用》

这个硬件层决议了物联网运用比Web运用越发庞杂。关于大部分的Web运用来讲 ,客户端都是手机、电脑、平板这些装备,都有着壮大的处置惩罚才能,不须要斟酌一些分外的要素。

关于物联网运用来讲,我们须要斟酌装备上的MCU的处置惩罚才能,依据其处置惩罚才能和运用环境运用差别的通信协定,如我们在一些装备上须要运用CoAP协定。在一些装备上不具备收集功用,须要斟酌借助于能够联网的辅佐层,而且还须要运用一些短距离的无线传输协定,如低功耗蓝牙、红外、Zigbee等等。

一个物联网体系:六种言语

两年半之前,大四,电子信息工程,我选定的毕业论文是一篇关于物联网的论文——《基于REST效劳的最小物联网体系设想》。这是一篇入门级的物联网论文,假如大部分进修CS的人有一点硬件基本,都能写出如许的论文。

这篇论文是之前列入竞赛的作品论文的“最小化”,内里运用到的重要就是建立RESTful效劳,而它以至称不上是一种手艺。在这个作品里:

  • 我们运用Python言语里的Django框架作为Web效劳框架,运用Django REST Framework来建立RESTful效劳。

  • 为了运用手机当掌握器,我们还要用Java写一个Android运用。

  • 我们运用Raspberry Pi作为硬件端的谐和层,用于衔接收集,并传输掌握信号给硬件。

  • 我们在硬件端运用Arduino作为掌握器,写起代码迥殊简朴,能够让我们关注于营业。

  • 末了,我们还须要在网页上做一个图表来显现及时数据。

一切的这些,我们须要运用Python、Java、JavaScript、C、Arduino五种言语。而假如我们要写响应的iOS运用,我们还须要Objective-C。

《JavaScript在物联网中的运用》

JavaScript在物联网范畴的生长

一样的,两年多之前,刚练习,在我们的项目里,我们的新项目里我们运用Backbone作为单页面运用框架的中心来打造Web运用。这时刻,我最先关注Node.js完成物联网运用的可能性。

《JavaScript在物联网中的运用》

当时,已有了物联网协定MQTT和CoAP协定的库,因而我照猫画虎地写了一个支撑HTTP、CoAP、WebSocket和MQTT的物联网。由于,当时缺少一些大型运用的开辟典范,所以做得并非很好,然则已能够看到JavaScript在这方面的前景。

《JavaScript在物联网中的运用》

一年多之前,Ionic还没推出正式版的时刻,我发明到了这个框架真的很棒——它自带了一系列的UI,还用NgCordova集成了Cordova的一系列插件。我便最先运用Ionic写了一些挪动运用,发明还挺随手的。接着,我就最先拿这个框架尝试写物联网运用,这须要一些原生的插件,如BLE、MQTT。厥后,我也写了一个简朴的CoAP插件。

《JavaScript在物联网中的运用》

厥后我们不再须要编译Node.js,就能够在ARM处置惩罚器上运转Node.js。而且我们已有Tessel、Espruino、Kinoma Create、Ruff这些能够直接运转JavaScript的开辟板。三星还推出iot.js,能够让更多的嵌入式装备能够运用JavaScript言语作为开辟言语。

《JavaScript在物联网中的运用》

人们最先在硬件上运用JavaScript的缘由有许多,如Web的开辟人员是最多的、JavaScript很轻易上手。

如今,此次我们在这三个层级上都能够运用JavaScript,只须要一种言语。

运用一种言语开辟物联网运用:JavaScript

在我写的那本《本身着手设想物联网》中,我就试图去展现JavaScript在这方面的威力。运用Node.js + Node-CoAP + MQTT.js + MongoDB + Express搭建了一个支撑多协定的物联网:

《JavaScript在物联网中的运用》

不过,上图是完美版的物联网,代码自然是在GitHub上啦:Lan。作为效劳端来讲,Node.js的才能已是经由考证的。而在夹杂运用上,依然也能够禁受住磨练,夹杂运用在手机上做个图表是轻轻松松的事(只须要猎取数据,然后显现):

《JavaScript在物联网中的运用》

作一个掌握端也是轻轻松松的事(我们只须要发个POST要求,更具逻辑一点的就是先猎取状况):

《JavaScript在物联网中的运用》

而在硬件端,我并没有在书中以JavaScript作为例子来展现JavaScript的用法,由于这会范围了用户的硬件装备。

不过,我们依然能够运用类似于Johnny-Five如许的库来做硬件方面的编程,只是它没有那末好玩~~。

既然我们能够JavaScript来完成,为何我们还要喝杯咖啡等它用C编译完呢?

你想晓得的答案都在这本书里,已在亚马逊、京东、当当上架:

《JavaScript在物联网中的运用》

亚马逊:https://www.amazon.cn/dp/B01I…

京东:http://item.jd.com/11946585.html

毕竟:

通常能用JavaScript写出来的,终究都会用JavaScript写出来。

    原文作者:phodal
    原文地址: https://segmentfault.com/a/1190000006223271
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞