日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解JavaScript在物聯(lián)網(wǎng)中的應(yīng)用

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

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比辛集網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式辛集網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋辛集地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

—— Atwood定律

在那篇《***的編程語言JavaScript能做什么?》里,我們列舉了JavaScript在不同領(lǐng)域的使用情況,今天讓我們來詳解一下JavaScript在物聯(lián)網(wǎng)中的應(yīng)用。

基礎(chǔ):物聯(lián)網(wǎng)的三個層級

開始之前, 先讓我們簡單地介紹點物聯(lián)網(wǎng)的基礎(chǔ)知識。如果你有點Web開發(fā)經(jīng)驗的話,都知道下圖是CS架構(gòu):

相比于一個物聯(lián)網(wǎng)系統(tǒng),無非就是多了一層硬件層以及可選的協(xié)調(diào)層。

這個硬件層決定了物聯(lián)網(wǎng)應(yīng)用比Web應(yīng)用更加復(fù)雜。對于大部分的Web應(yīng)用來說 ,客戶端都是手機、電腦、平板這些設(shè)備,都有著強大的處理能力,不需要考慮一些額外的因素。

對于物聯(lián)網(wǎng)應(yīng)用來說,我們需要考慮設(shè)備上的MCU的處理能力,根據(jù)其處理能力和使用環(huán)境使用不同的通信協(xié)議,如我們在一些設(shè)備上需要使用CoAP協(xié)議。在一些設(shè)備上不具備網(wǎng)絡(luò)功能,需要考慮借助于可以聯(lián)網(wǎng)的協(xié)助層,并且還需要使用一些短距離的無線傳輸協(xié)議,如低功耗藍牙、紅外、Zigbee等等。

一個物聯(lián)網(wǎng)系統(tǒng):六種語言

兩年半以前,大四,電子信息工程,我選定的畢業(yè)論文是一篇關(guān)于物聯(lián)網(wǎng)的論文——《基于REST服務(wù)的最小物聯(lián)網(wǎng)系統(tǒng)設(shè)計》。這是一篇入門級的物聯(lián)網(wǎng)論文,如果大部分學(xué)習(xí)CS的人有一點硬件基礎(chǔ),都能寫出這樣的論文。

這篇論文是之前參加比賽的作品論文的“最小化”,里面使用到的主要就是創(chuàng)建RESTful服務(wù),而它甚至稱不上是一種技術(shù)。在這個作品里:

我們使用Python語言里的Django框架作為Web服務(wù)框架,使用Django REST Framework來創(chuàng)建RESTful服務(wù)。

為了使用手機當控制器,我們還要用Java寫一個Android應(yīng)用。

我們使用Raspberry Pi作為硬件端的協(xié)調(diào)層,用于連接網(wǎng)絡(luò),并傳輸控制信號給硬件。

我們在硬件端使用Arduino作為控制器,寫起代碼特別簡單,可以讓我們關(guān)注于業(yè)務(wù)。

***,我們還需要在網(wǎng)頁上做一個圖表來顯示實時數(shù)據(jù)。

所有的這些,我們需要使用Python、Java、JavaScript、C、Arduino五種語言。而如果我們要寫相應(yīng)的iOS應(yīng)用,我們還需要Objective-C。

JavaScript在物聯(lián)網(wǎng)領(lǐng)域的發(fā)展

同樣的,兩年多以前,剛實習(xí),在我們的項目里,我們的新項目里我們使用Backbone作為單頁面應(yīng)用框架的核心來打造Web應(yīng)用。這時,我開始關(guān)注Node.js實現(xiàn)物聯(lián)網(wǎng)應(yīng)用的可能性。

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

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

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

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

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

使用一種語言開發(fā)物聯(lián)網(wǎng)應(yīng)用:JavaScript

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

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

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

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

不過,我們?nèi)匀豢梢允褂妙愃朴贘ohnny-Five這樣的庫來做硬件方面的編程,只是它沒有那么好玩~~。

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

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

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

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

畢竟:

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


當前名稱:詳解JavaScript在物聯(lián)網(wǎng)中的應(yīng)用
本文鏈接:http://www.5511xx.com/article/cdepsdp.html