999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

node.js成為新型物聯(lián)網(wǎng)開(kāi)發(fā)的催化劑

2016-05-30 09:01:18苑臣芒
關(guān)鍵詞:跨平臺(tái)嵌入式生態(tài)

苑臣芒

摘 要:在互聯(lián)網(wǎng)快速發(fā)展的潮流下,物聯(lián)網(wǎng)以及嵌入式的開(kāi)發(fā)也在快速發(fā)展,傳統(tǒng)的開(kāi)發(fā)方式逐漸被新型物聯(lián)網(wǎng)嵌入式開(kāi)發(fā)所替代,node.js也在“機(jī)緣巧合”下和嵌入式碰出了火花。本論文以node.js和JavaScript技術(shù)為背景,以MCS云遠(yuǎn)程控制LED的實(shí)例為支撐,介紹了一種基于node.js物聯(lián)網(wǎng)嵌入式開(kāi)發(fā)的新方法,為開(kāi)源軟硬件生態(tài)注入新的血液。

關(guān)鍵詞:node.js;widora;JavaScript;MT7688;openwrt;物聯(lián)網(wǎng);linux

中圖分類號(hào): TP393.09 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1673-1069(2016)10-178-3

1 什么是node.js

提到node.js,就不得不先提一下JavaScript(以下簡(jiǎn)稱js)。我們不要被js的外表迷惑,其實(shí)js和java一丁點(diǎn)關(guān)系都沒(méi)有。js是一種最基礎(chǔ)的網(wǎng)絡(luò)腳本語(yǔ)言,用于web應(yīng)用開(kāi)發(fā),通常是被嵌入在HTML中以實(shí)現(xiàn)自身的功能。所以js只能在瀏覽器中運(yùn)行。但2009年出現(xiàn)的node.js徹底改變了這一局面,使得js可以脫離瀏覽器,在node.js引擎中運(yùn)行,似乎這還不足以激動(dòng)人心,但node.js一重磅功能是使js運(yùn)行于服務(wù)端!這無(wú)疑對(duì)前端開(kāi)發(fā)工程師們有里程碑的意義,終于可以平滑的接觸node.js后端開(kāi)發(fā)了。這些似乎看起來(lái)和嵌入式八竿子打不著。但由于node.js引擎跨平臺(tái)特性,理所當(dāng)然的在嵌入式平臺(tái)上運(yùn)行起來(lái),并且提供了事件驅(qū)動(dòng),非阻塞I/O模型,輕量,高效,跨平臺(tái)等優(yōu)秀特性,適應(yīng)了新型物聯(lián)網(wǎng)嵌入式開(kāi)發(fā)的潮流。

2 物聯(lián)網(wǎng)嵌入式開(kāi)發(fā)現(xiàn)狀和困境

我們知道,物聯(lián)網(wǎng)嵌入式開(kāi)發(fā)都是以具體的求功能為出發(fā)點(diǎn),在某個(gè)具體平臺(tái)上實(shí)現(xiàn)功能代碼,開(kāi)發(fā)上特點(diǎn)也很鮮明:

a入門門檻較高,知識(shí)點(diǎn)非常零散。

b平臺(tái)依賴很強(qiáng),換平臺(tái)比較痛苦。

c開(kāi)發(fā)中出現(xiàn)的問(wèn)題較難定位,往往涉及多個(gè)技術(shù)層面協(xié)同工作。

d公司多選擇閉源,對(duì)整體軟硬件生態(tài)的貢獻(xiàn)接近于零,阻礙了開(kāi)源的發(fā)展。

e實(shí)踐多于理論,此領(lǐng)域的大牛多是不斷地編程、驗(yàn)證、思考等一步一步成長(zhǎng)起來(lái)的,幾乎沒(méi)有捷徑。

嵌入式開(kāi)發(fā)的這些特點(diǎn)就注定了它的神秘、難度大、團(tuán)隊(duì)作戰(zhàn)。然而,開(kāi)發(fā)者們總是不會(huì)拒絕更簡(jiǎn)單的語(yǔ)言、更友好的封裝、更易用的平臺(tái)的。如何更快的將創(chuàng)意變?yōu)楝F(xiàn)實(shí)?在國(guó)外,以Raspberry Pi為代表的微型卡片電腦使得神秘的嵌入式平臺(tái)更加平易近人,它在卡片大小的體積上提供了完整的電腦的功能,可以開(kāi)發(fā)多種應(yīng)用程序和豐富功能的硬件產(chǎn)品,正由于其高度的軟硬件整合使得大大降低了開(kāi)發(fā)門檻,讓創(chuàng)業(yè)者可以輕松的將創(chuàng)意轉(zhuǎn)化為現(xiàn)實(shí),甚至兒童都可以在其上邊實(shí)現(xiàn)自己的想法。還有以Arduino為代表的入門平臺(tái)使得微控制器開(kāi)發(fā)變得極為簡(jiǎn)單,比如拿讀取溫度傳感器的數(shù)據(jù)來(lái)說(shuō),在普通單片機(jī)上實(shí)現(xiàn)可能需要半天時(shí)間,而在Arduino上可能只需10分鐘。對(duì)于小白來(lái)講,使用Arduino大大降低了開(kāi)發(fā)難度。反觀國(guó)內(nèi)這一領(lǐng)域起步較晚,有個(gè)別嵌入式板卡供應(yīng)商在陸續(xù)轉(zhuǎn)向這個(gè)方向。例如friendlyarm出品的nanoPI系列開(kāi)源硬件、Firefly出品的四核卡片電腦開(kāi)源平臺(tái)Fireprime。隨著國(guó)內(nèi)開(kāi)源軟硬件的增多,國(guó)內(nèi)對(duì)整個(gè)開(kāi)源生態(tài)的貢獻(xiàn)逐步加大,開(kāi)源的思路和跨平臺(tái)的方式逐步被越來(lái)越多的開(kāi)發(fā)者青睞,筆者認(rèn)為這和傳統(tǒng)嵌入式開(kāi)發(fā)已經(jīng)有足夠的區(qū)別,暫且稱為“新型物聯(lián)網(wǎng)開(kāi)發(fā)”,歸納出了以下幾個(gè)特點(diǎn):

a由“支持網(wǎng)絡(luò)”上升到“基于網(wǎng)絡(luò)”。

b軟硬件高度整合,將復(fù)雜的底層處理隱藏起來(lái),留給用戶友好的API。

c擴(kuò)展變得極其簡(jiǎn)單,就像電腦上安裝軟件一樣。

d設(shè)備互聯(lián)更重要,甚至可隨處推送并部署代碼,隨處訪問(wèn)。

e一般會(huì)有社區(qū)、github、wiki等伴隨成長(zhǎng)。

3 基于node.js的新型物聯(lián)網(wǎng)開(kāi)發(fā)框架

目前流行的新型物聯(lián)網(wǎng)框架有iot.js、Duktape、tessel、Three.js、icoolpy、johnny-five、linkit等等,且絕大部分新型物聯(lián)網(wǎng)開(kāi)發(fā)框架不約而同的選擇了node.js平臺(tái)為核心。Widora就是這樣一個(gè)初生的極簡(jiǎn)開(kāi)源硬件,基于MT7688 MIPS CPU運(yùn)行OpenWrt系統(tǒng),也正在融入JavaScript帶來(lái)的基于WEB的新型物聯(lián)網(wǎng)生態(tài)。

js儼然成為WEB世界里的“二進(jìn)制”,另外Widora提供了MT7688以及OpenWrt Chaos Calmer操作系統(tǒng),等同于打包了底層軟硬件。這中間缺了一道“橋梁”就是node.js運(yùn)行時(shí),在Widora聯(lián)網(wǎng)的情況下,只需要一條“#opkg install node”命令安裝node.js和npm讓這個(gè)橋梁架設(shè)起來(lái)。

4 基于node.js新型開(kāi)發(fā)方式案例:云端控制LED實(shí)例

我們通過(guò)聯(lián)發(fā)科MCS云平臺(tái)和Widora開(kāi)源硬件創(chuàng)建一個(gè)可以云端遠(yuǎn)程控制的LED,來(lái)展示如何通過(guò)node.js實(shí)現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)數(shù)據(jù)控制功能,以及如何用這種全新的開(kāi)發(fā)方式實(shí)現(xiàn)。大致的架構(gòu)如下:

在MCS云端建立一個(gè)“widora”原型,并添加一個(gè)叫“switch1”的測(cè)試裝置,新增資料通道類型選擇為“開(kāi)關(guān)”,創(chuàng)建完會(huì)得到DeviceId 和DeviceKey,這兩個(gè)標(biāo)識(shí)很重要,本地的應(yīng)用程序會(huì)用到。此時(shí)應(yīng)該會(huì)看到一個(gè)“開(kāi)關(guān)”的標(biāo)志,證明MCS端的控制已經(jīng)就緒。

本地硬件使用的是Widora開(kāi)源硬件,以板載的WLED燈為控制目標(biāo)。板載了OpenWrt-Chaos Calmer(Linux)操作系統(tǒng),故本地需要開(kāi)發(fā)一個(gè)JavaScript的應(yīng)用程序連接MCS云獲取數(shù)據(jù),進(jìn)而本地處理數(shù)據(jù)。由于本地需要和MCS云連接,故本地要用到mcsjs模塊,在Widora上可以通過(guò)#npm install mcsjs提前安裝一下。本次應(yīng)用程序設(shè)計(jì)的流程圖如下:

該程序中,需要先調(diào)用mcsjs模塊的register方法將預(yù)先獲取的DeviceID和DeviceKEY注冊(cè)并TCP長(zhǎng)連接到MCS云,進(jìn)而注冊(cè)一個(gè)監(jiān)聽(tīng)事件對(duì)接收到的數(shù)據(jù)進(jìn)行判斷。核心就是數(shù)據(jù)的一個(gè)處理。首先本地的打開(kāi)和關(guān)閉LED使用shell命令即可,具體命令是:

5 總結(jié)

通過(guò)使用了MCS云平臺(tái)和Widora展示的云端控制LED實(shí)例,在不足20行代碼的情況下完成了C語(yǔ)言數(shù)百行才能做到的事情,并且整個(gè)開(kāi)發(fā)沒(méi)有碰觸到Linux驅(qū)動(dòng)層或Linux本身系統(tǒng)層的難點(diǎn),在該實(shí)例的背后,有相當(dāng)多的基礎(chǔ)服務(wù)、基礎(chǔ)平臺(tái)的支撐,才得以使上層開(kāi)發(fā)如此簡(jiǎn)單。今后的新型物聯(lián)網(wǎng)嵌入式,開(kāi)發(fā)方式一定是朝著抽象化、簡(jiǎn)單化、層次化的方向衍變,并且可能會(huì)派生出更多類似node.js的平臺(tái),我們相信國(guó)內(nèi)會(huì)有更多的開(kāi)源愛(ài)好者加入到新型物聯(lián)網(wǎng)嵌入式的開(kāi)發(fā)潮流,為整體軟硬件生態(tài)做出更多貢獻(xiàn)。

參 考 文 獻(xiàn)

[1]王健,宋穎慧,向建軍.遠(yuǎn)程無(wú)線多路視頻處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)控技術(shù),2013(12).

[2]鐘莉萍,張永軍,顧畹儀.智能家居網(wǎng)關(guān)服務(wù)器軟件設(shè)計(jì)與實(shí)現(xiàn)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(S1).

[3]王蘇蘇.基于ARM嵌入式智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線互聯(lián)科技,2013(05).

猜你喜歡
跨平臺(tái)嵌入式生態(tài)
“生態(tài)養(yǎng)生”娛晚年
住進(jìn)呆萌生態(tài)房
生態(tài)之旅
跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
基于B/S的跨平臺(tái)用戶界面可配置算法研究
生態(tài)
主站蜘蛛池模板: 性欧美在线| 精品偷拍一区二区| 在线国产资源| 美女高潮全身流白浆福利区| 成人福利在线观看| 四虎影视库国产精品一区| www成人国产在线观看网站| 色一情一乱一伦一区二区三区小说 | 亚洲男人的天堂网| 国产一区二区三区精品欧美日韩| 国产在线一区视频| 久久夜夜视频| 国产91无毒不卡在线观看| 91久久偷偷做嫩草影院| 国产精品亚欧美一区二区 | 99人体免费视频| 成人福利在线看| 99在线视频精品| 毛片大全免费观看| 欧美国产精品不卡在线观看| 久久一日本道色综合久久| 亚洲综合亚洲国产尤物| 成人在线天堂| 伊人成人在线| 免费看一级毛片波多结衣| 亚洲狼网站狼狼鲁亚洲下载| 亚洲日本中文字幕乱码中文| 美女毛片在线| 91精品久久久无码中文字幕vr| a级毛片一区二区免费视频| 精品国产自在在线在线观看| 88av在线| 成人av手机在线观看| 亚洲国产在一区二区三区| 成人字幕网视频在线观看| 久久91精品牛牛| 91成人免费观看| 91po国产在线精品免费观看| 亚洲黄色视频在线观看一区| 极品国产一区二区三区| 国产精品精品视频| 超碰aⅴ人人做人人爽欧美 | 国产欧美性爱网| 毛片手机在线看| 性做久久久久久久免费看| 色综合天天娱乐综合网| 国产sm重味一区二区三区| 国产日本一线在线观看免费| 99色亚洲国产精品11p| 国产成年女人特黄特色大片免费| 人妻中文字幕无码久久一区| 极品尤物av美乳在线观看| 亚洲精品亚洲人成在线| 欧美日韩亚洲综合在线观看 | www.youjizz.com久久| 波多野结衣爽到高潮漏水大喷| 亚洲无码91视频| 欧美午夜理伦三级在线观看| 精品久久久久无码| AV天堂资源福利在线观看| 免费在线色| 久久这里只有精品国产99| 99久久精品免费视频| 亚洲成人动漫在线观看 | 亚洲天堂精品在线观看| 国产成年无码AⅤ片在线| 欧美在线国产| 日韩精品高清自在线| 久996视频精品免费观看| 又黄又爽视频好爽视频| 久久天天躁狠狠躁夜夜2020一| 国产在线一二三区| 国产成人精品视频一区二区电影 | 欧美中文字幕一区| 毛片免费在线视频| 国产精品v欧美| 亚洲精品无码不卡在线播放| 亚洲人成在线精品| 亚洲美女视频一区| 亚洲男人天堂网址| 亚洲综合日韩精品| 国产成人8x视频一区二区|