成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解JavaScript在物聯網中的應用

開發 開發工具
今天讓我們來詳解一下JavaScript在物聯網中的應用。對于物聯網應用來說,我們需要考慮設備上的MCU的處理能力,根據其處理能力和使用環境使用不同的通信協議。在一些設備上不具備網絡功能,需要考慮借助于可以聯網的協助層,并且還需要使用一些短距離的無線傳輸協議。

凡是能用JavaScript寫出來的,最終都會用JavaScript寫出來。

—— Atwood定律

在那篇《***的編程語言JavaScript能做什么?》里,我們列舉了JavaScript在不同領域的使用情況,今天讓我們來詳解一下JavaScript在物聯網中的應用。

基礎:物聯網的三個層級

開始之前, 先讓我們簡單地介紹點物聯網的基礎知識。如果你有點Web開發經驗的話,都知道下圖是CS架構:

 

相比于一個物聯網系統,無非就是多了一層硬件層以及可選的協調層。

 

 

這個硬件層決定了物聯網應用比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。

[[169837]]

 

JavaScript在物聯網領域的發展

同樣的,兩年多以前,剛實習,在我們的項目里,我們的新項目里我們使用Backbone作為單頁面應用框架的核心來打造Web應用。這時,我開始關注Node.js實現物聯網應用的可能性。

[[169838]]

 

當時,已經有了物聯網協議MQTT和CoAP協議的庫,于是我照貓畫虎地寫了一個支持HTTP、CoAP、WebSocket和MQTT的物聯網。由于,當時缺乏一些大型應用的開發經典,所以做得并不是很好,但是已經可以看到JavaScript在這方面的遠景。


 

[[169839]]

 

一年多以前,Ionic還沒推出正式版的時候,我發現到了這個框架真的很棒——它自帶了一系列的UI,還用NgCordova集成了Cordova的一系列插件。我便開始使用Ionic寫了一些移動應用,發現還挺順手的。接著,我就開始拿這個框架嘗試寫物聯網應用,這需要一些原生的插件,如BLE、MQTT。后來,我也寫了一個簡單的CoAP插件。

 

后來我們不再需要編譯Node.js,就可以在ARM處理器上運行Node.js。并且我們已經有Tessel、Espruino、Kinoma Create、Ruff這些可以直接運行JavaScript的開發板。三星還推出iot.js,可以讓更多的嵌入式設備可以使用JavaScript語言作為開發語言。

 

人們開始在硬件上使用JavaScript的原因有很多,如Web的開發人員是最多的、JavaScript很容易上手。

現在,這次我們在這三個層級上都可以使用JavaScript,只需要一種語言。

使用一種語言開發物聯網應用:JavaScript

在我寫的那本《自己動手設計物聯網》中,我就試圖去展示JavaScript在這方面的威力。使用Node.js + Node-CoAP + MQTT.js + MongoDB + Express搭建了一個支持多協議的物聯網:

 

不過,上圖是完善版的物聯網,代碼自然是在GitHub上啦:Lan。作為服務端來說,Node.js的能力已經是經過驗證的。而在混合應用上,仍然也可以經受住考驗,混合應用在手機上做個圖表是輕輕松松的事(只需要獲取數據,然后顯示):

 

作一個控制端也是輕輕松松的事(我們只需要發個POST請求,更具邏輯一點的就是先獲取狀態):

 

而在硬件端,我并沒有在書中以JavaScript作為例子來展示JavaScript的用法,因為這會局限了用戶的硬件設備。

不過,我們仍然可以使用類似于Johnny-Five這樣的庫來做硬件方面的編程,只是它沒有那么好玩~~。

既然我們可以JavaScript來實現,為什么我們還要喝杯咖啡等它用C編譯完呢?

你想知道的答案都在這本書里,已在亞馬遜、京東、當當上架:

 

亞馬遜:https://www.amazon.cn/dp/B01I...

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

畢竟:

凡是能用JavaScript寫出來的,最終都會用JavaScript寫出來。

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2021-12-07 18:35:08

物聯網執法應用IOT

2019-05-21 06:00:29

物聯網體育IOT

2020-05-06 07:53:09

物聯網物流IOT

2019-06-03 05:30:44

物聯網音樂產業IOT

2024-02-27 16:27:42

物聯網IOT智能連接

2014-09-10 15:09:30

NodeBotsJavaScript物聯網

2019-06-11 09:45:56

物聯網應用酒店IOT

2020-03-19 09:35:31

物聯網數據環衛

2024-01-25 12:02:56

物聯網人工智能

2022-04-26 16:09:27

物聯網智慧農業

2022-01-06 13:37:21

安全水印物聯網

2022-08-24 17:13:47

物聯網智慧醫療數據中心

2019-05-23 08:39:24

物聯網制造業IOT

2021-05-02 23:42:25

物聯網農業技術

2014-12-12 10:59:45

IaaSSaaSPaaS

2022-07-28 11:31:34

物聯網智慧城市科技

2022-03-18 17:53:14

機器學習物聯網工業物聯網

2011-09-05 09:53:44

IPv6IPv4物聯網

2020-07-27 10:05:38

電梯遠程監控物聯網

2019-08-09 08:26:34

5G物聯網應用通信網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品欧美一区二区 | 亚洲欧洲精品一区 | 免费人成激情视频在线观看冫 | 久久精品影视 | 国内自拍偷拍 | 奇色影视 | 欧美成人h版在线观看 | 午夜视频精品 | 国产精品成人一区二区三区吃奶 | 日韩一区二区视频 | 国产一区 | 玖玖视频免费 | 成人免费视频在线观看 | 精品一区二区三区在线观看国产 | 欧美日韩综合 | 国产精品视频网 | 久久国产精品免费 | 亚洲黄色高清视频 | 丁香六月伊人 | 午夜在线影院 | 一本大道久久a久久精二百 国产成人免费在线 | 亚洲免费人成在线视频观看 | 欧美一区二区免费 | 色接久久 | 欧美精品久久久久久久久久 | 九九亚洲精品 | 青青草一区二区三区 | 亚洲人成人一区二区在线观看 | 亚洲综合一区二区三区 | 狠狠干影院 | 97精品国产97久久久久久免费 | 国产精品久久久爽爽爽麻豆色哟哟 | 999免费视频 | 91精品一区二区三区久久久久久 | 国产一区二区高清在线 | 天堂在线中文字幕 | 精品国产乱码久久久久久丨区2区 | 久久99蜜桃综合影院免费观看 | 欧美专区在线观看 | 精品欧美一区二区中文字幕视频 | 视频一区 亚洲 |