偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JavaScript在智能設(shè)備物聯(lián)網(wǎng)中的崛起

移動(dòng)開(kāi)發(fā)
這是一篇老文,略有刪減,不過(guò)文中所述目前似乎正在變成現(xiàn)實(shí)。有人用Javascript制造機(jī)器人和火箭,甚至有人用JavaScript在工業(yè)時(shí)代的單片機(jī)上制作一個(gè)天氣預(yù)報(bào)屏。比XML數(shù)據(jù)更密集,性能更好的JSON數(shù)據(jù)交換格式也在成為物聯(lián)網(wǎng)傳輸?shù)氖走x。支持NodeJS的硬件平臺(tái)也在不斷增多,如RaspberryPI, Tessel, Arduino 。還很多不知名的JS庫(kù) devicejs.org Sylon.js等;很顯然,采用Node.JS來(lái)驅(qū)動(dòng)你的物理設(shè)備,將極大地降低“創(chuàng)客”們的技術(shù)門檻。

注* 這是一篇老文,略有刪減,不過(guò)文中所述目前似乎正在變成現(xiàn)實(shí)。有人用Javascript制造機(jī)器人和火箭,甚至有人用JavaScript在工業(yè)時(shí)代的單片機(jī)上制作一個(gè)天氣預(yù)報(bào)屏。比XML數(shù)據(jù)更密集,性能更好的JSON數(shù)據(jù)交換格式也在成為物聯(lián)網(wǎng)傳輸?shù)?**。支持NodeJS的硬件平臺(tái)也在不斷增多,如RaspberryPI, Tessel, Arduino 。還很多不知名的JS庫(kù) devicejs.org Sylon.js等;很顯然,采用Node.JS來(lái)驅(qū)動(dòng)你的物理設(shè)備,將極大地降低“創(chuàng)客”們的技術(shù)門檻。

[[119696]]

星期五,2012年7月13日

在2010年9月7日,我犯了個(gè)錯(cuò)誤,在node-serialport 串口驅(qū)動(dòng)開(kāi)源項(xiàng)目中添加了一個(gè)“不建議使用”的聲明。我已經(jīng)有了一些使用各種無(wú)線頻譜在較大項(xiàng)目庫(kù)之間進(jìn)行通信的經(jīng)驗(yàn)(開(kāi)放API,像X10 ),通過(guò)傳感器監(jiān)測(cè)。本來(lái)我使用的是非常強(qiáng)大的pyserial庫(kù)驅(qū)動(dòng),剛開(kāi)始很順利,但在一些與感應(yīng)器交互的關(guān)鍵地方我還是感到了不便。我承認(rèn),這種感覺(jué)是非常不爽,我不是懷疑這個(gè)庫(kù),它已經(jīng)做得也非常好了。

就在這個(gè)時(shí)候,JSConf EU(歐盟)展示了一個(gè)Nikolai Onken 和 Jörn Zaefferer 關(guān)于JavaScript智能設(shè)備的提案。在提案中,他們表示使用JavaScript控制設(shè)備將會(huì)非常簡(jiǎn)單,比如:

  1. $("livingroom").bind("motion"function() { 
  2.   $(this).find("lights").brightness("75%").dimAfter("120s"); 
  3. }); 

這個(gè)東西撥動(dòng)了我的神經(jīng)。

通過(guò)模擬現(xiàn)實(shí)世界中的的對(duì)象和行為。鏈?zhǔn)降?,事件化的處理過(guò)程看上去非常自然。對(duì)于我的情況,我處理的是串口響應(yīng),這樣做的***例子就是“當(dāng)大門打開(kāi)后,切換所有的燈”。就像上文那段相似的jQuery代碼那樣。因?yàn)轫?xiàng)目規(guī)模的增加,我們已經(jīng)不需要一個(gè)非 常了解串行端口和Python的大師程序員,它只需要對(duì)JavaScript和jQuery有一個(gè)粗略的理解就可以了。我覺(jué)得這里有一些非常有價(jià)值的東 西,我開(kāi)始坐下來(lái)實(shí)現(xiàn)這些代碼。

在編寫node-serialport的***個(gè)版本時(shí),我想我應(yīng)該分享幾個(gè)非常另人振奮的東西。我看到 很多同樣的問(wèn)題,采用Node.JS進(jìn)行串口編程時(shí)經(jīng)常會(huì)碰到的那種,我想表達(dá)一下我的看法。我更喜歡使用的Node.js驅(qū)動(dòng)arduinos,無(wú)線裝 備,打印機(jī),烤面包機(jī)等(一切可以通過(guò)串口連接的東西)。首先最直接的原因就是簡(jiǎn)單。NodeJS的模塊系統(tǒng)和耦合非常低的原生綁定允許我能迅速完成底層 功能的開(kāi)發(fā),而不必引用太多的Node庫(kù),通過(guò)幾段代碼。這也讓我減小了對(duì)庫(kù)維護(hù)的工作,充分利用時(shí)間去解決實(shí)際問(wèn)題,而不必整天測(cè)試串口的功能。 Node.js與傳統(tǒng)的C+ +代碼連接是如此之簡(jiǎn)單,幾乎是微不足道的實(shí)施(保證正確性的前提下),這就是為什么我馬上愛(ài)上了它的原因。我認(rèn)識(shí)的人也有類似的感覺(jué)(或者恨)對(duì) Python或Ruby的本地綁定,但個(gè)人而言,我認(rèn)為C和JavaScript之間的語(yǔ)法相似性使得它們之間的編程過(guò)程更加的流暢,盡管跨越兩種語(yǔ)言。 如果你看一下Node.JS的底層代碼,一個(gè)串口的C++,你也許可以完全理解,即使你只有JavaScript編程的經(jīng)驗(yàn)。無(wú)可否認(rèn),這可能會(huì)造成一點(diǎn) 混亂,但對(duì)我來(lái)說(shuō)只是一點(diǎn)點(diǎn),完全無(wú)法掩蓋我對(duì)操作底層串行端口的喜悅。這是值得研究的。

盡管底層代碼已經(jīng)寫完了,但是我繼續(xù)為 Node.js串口編碼貢獻(xiàn)代碼的原因是,我希望我可以以一種比較優(yōu)雅的方式來(lái)解決這類問(wèn)題。如前所述,我在我的系統(tǒng)中使用了Node,串口 (Arduino的,等等)。在大多數(shù)系統(tǒng)中,在他們會(huì)等待某些事件或數(shù)據(jù),然后處理一些事件的反應(yīng)。這可以說(shuō)是JavaScript的優(yōu)勢(shì),絕大部分人 都可以處理,他們可以使用Node和JavaScript來(lái)思考。你也可以用其他語(yǔ)言,但JS無(wú)疑是最簡(jiǎn)單的,從低層的c++的代碼,到事件處理都得心應(yīng) 手,毫不費(fèi)力。在有關(guān)Node.JS無(wú)線擴(kuò)展機(jī)器人一文中,有人詢問(wèn)為 何不是Clojure或scala或Python或Ruby而選擇JavaScript我最直接的答案是,大量代碼成就了響應(yīng)式的系統(tǒng)(包括 eventmachine/ twisted/ Redis/ PubSub/等)此類系統(tǒng)的快速增長(zhǎng)增加了對(duì)事件驅(qū)動(dòng)機(jī)制的喜愛(ài)?,F(xiàn)在誠(chéng)實(shí)地講,因?yàn)槎喾N開(kāi)源硬件平臺(tái)的出現(xiàn)(Raspberry pi, arduino, x10等),軟件工程師現(xiàn)在也可以玩硬件了。在這種背景后,我相信會(huì)有越來(lái)越多的Ruby開(kāi)發(fā)人員使用Node.js創(chuàng)建智能硬件原型。它更輕量級(jí),操作 簡(jiǎn)單,并且很容易編寫復(fù)雜的響應(yīng)式系統(tǒng)。最重要的是它基于JavaScript,因此即使你的原型因?yàn)槟承?ldquo;更值得生產(chǎn)的”東西而失敗了,你也不會(huì)損失太 多時(shí)間。

下面這個(gè)例子是展示Node.JS的應(yīng)用有多輕量級(jí), 在Johnny-Five工作的Rick Waldron做出的驚艷的框架,看看從acceleromator處理事件的源代碼。它非常易于閱讀,易于理解而且僅需要10行代碼。控制伺服機(jī)構(gòu)的代碼,也僅有10多行。

所有這些都讓我相信,JS將是未來(lái)智能設(shè)備控制器的***編程語(yǔ)言。

我這樣說(shuō)是因?yàn)槲颐刻於悸?tīng)到越來(lái)越多的人作出更新,更亮,更智能的東西。對(duì)于我來(lái)講,它打破了軟件和硬件的邊界,這讓我很開(kāi)心,相對(duì)于純碎地寫代碼,智能硬件領(lǐng)域讓我們更接受真實(shí),我們有更大的潛力做些更多更好的事情。

原文地址: voodootikigod.com

譯文:http://ourjs.com/detail/540d6ec9f50bcc0a66000007

譯者:ourjs

責(zé)任編輯:閆佳明 來(lái)源: ourjs
相關(guān)推薦

2022-12-01 10:57:40

物聯(lián)網(wǎng)智能建筑

2024-04-16 14:35:25

物聯(lián)網(wǎng)智能建筑

2016-08-12 11:04:17

JavaScript物聯(lián)網(wǎng)應(yīng)用

2023-04-03 16:51:35

物聯(lián)網(wǎng)物流

2023-07-04 10:54:38

2023-09-22 09:59:45

2018-11-19 05:00:48

2019-06-05 13:44:15

2022-07-27 12:45:22

物聯(lián)網(wǎng)安全智能設(shè)備物聯(lián)網(wǎng)

2022-10-24 16:03:13

2022-03-18 09:24:30

工業(yè)物聯(lián)網(wǎng)數(shù)字化轉(zhuǎn)型智能工廠

2019-10-11 11:20:28

物聯(lián)網(wǎng)技術(shù)機(jī)器學(xué)習(xí)

2020-06-18 15:21:55

銀行物聯(lián)網(wǎng)IOT

2020-06-18 11:10:11

物聯(lián)網(wǎng)安全人工智能

2022-11-08 10:30:46

Matter物聯(lián)網(wǎng)智能家居

2023-11-07 11:08:23

物聯(lián)網(wǎng)IOT

2020-09-24 16:24:50

物聯(lián)網(wǎng)人工智能技術(shù)

2015-03-13 09:08:22

Adobe物聯(lián)網(wǎng)

2015-09-21 14:29:33

物聯(lián)網(wǎng)智能設(shè)備

2021-02-04 10:25:24

保險(xiǎn)公司智能設(shè)備物聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)