chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

下一代物聯(lián)網(wǎng)全棧開(kāi)發(fā)

大?。?/span>0.6 MB 人氣: 2017-09-30 需要積分:1

  Java數(shù)據(jù)展示開(kāi)源項(xiàng)目匯總

  D3(https://github.com/d3/d3)是基于SVG的矢量圖操作工具。通過(guò)使用Java,D3將數(shù)據(jù)以矢量圖形式展示出來(lái)并提供了任意伸縮的能力,在HTML5出現(xiàn)之前,D3是二維可視化的底層標(biāo)準(zhǔn)。通常許多繪制圖表與數(shù)據(jù)可視化工具都使用D3作為底層驅(qū)動(dòng)引擎,在其之上提供用戶友好的API接口

  three.js(https://github.com/mrdoob/three.js/)是基于WebGL的Java3D繪圖工具。通過(guò)WebGL擴(kuò)展,Java語(yǔ)言實(shí)現(xiàn)了直接驅(qū)動(dòng)底層顯卡進(jìn)行3D繪圖。three.js在3D圖像基礎(chǔ)上還提供了VR支持,可以方便的使用Java來(lái)實(shí)現(xiàn)VR數(shù)據(jù)展示。

  ionic(https://github.com/driftyco/ionic)是基于AngularJS的移動(dòng)端跨平臺(tái)開(kāi)發(fā)環(huán)境,能夠在一個(gè)統(tǒng)一的框架下使用Java HTML CSS,同時(shí)完成開(kāi)發(fā)iOS、Android、Window Phone程序,并根據(jù)各個(gè)環(huán)境的不同UI做自動(dòng)適配。

  Electron(https://github.com/electron/electron)是基于Node.js與chrome的跨平臺(tái)桌面開(kāi)發(fā)環(huán)境,electron通過(guò)將瀏覽器內(nèi)核和后臺(tái)Node.js服務(wù)進(jìn)行打包,實(shí)現(xiàn)了一個(gè)使用Java的全棧開(kāi)發(fā)環(huán)境,無(wú)需任何修改就能夠?qū)⒊绦虿渴鸬絎indows、macOS、Linux平臺(tái)上。

  nw(https://github.com/nwjs/nw.js)是輕量級(jí)的Java跨平臺(tái)桌面開(kāi)發(fā)環(huán)境,它實(shí)現(xiàn)了在HTML代碼中直接調(diào)用Node.js的各種API函數(shù),提供了一個(gè)平滑自然的桌面應(yīng)用開(kāi)發(fā)環(huán)境,隱藏了客戶端服務(wù)器編程的細(xì)節(jié)。

  物聯(lián)網(wǎng)Java實(shí)例講解

  為更好理解Java物聯(lián)網(wǎng)開(kāi)發(fā),下面以筆者設(shè)計(jì)的物聯(lián)網(wǎng)系統(tǒng)為例,詳細(xì)介紹物聯(lián)網(wǎng)系統(tǒng)的設(shè)計(jì)。所有設(shè)計(jì)資料都是開(kāi)源的,讀者可以對(duì)照源碼網(wǎng)頁(yè)與文檔。( http://openfpgaduino.github.io)

  ● 物聯(lián)網(wǎng)網(wǎng)關(guān)最小系統(tǒng)硬件設(shè)計(jì)

  對(duì)于應(yīng)用于物聯(lián)網(wǎng)的嵌入式系統(tǒng),系統(tǒng)的硬件設(shè)計(jì)是重要的組成部分,通常來(lái)說(shuō)應(yīng)對(duì)不同的應(yīng)用,嵌入式硬件的系統(tǒng)設(shè)計(jì)會(huì)有所不同,每個(gè)系統(tǒng)都會(huì)按照相應(yīng)的應(yīng)用場(chǎng)景進(jìn)行調(diào)整。但是物聯(lián)網(wǎng)的核心系統(tǒng)通常是一個(gè)設(shè)計(jì)構(gòu)架可以應(yīng)用于一大類的系統(tǒng),所需要調(diào)整的通常是外圍設(shè)備。

  下一代物聯(lián)網(wǎng)全棧開(kāi)發(fā)

  圖1

  如圖1所示是筆者設(shè)計(jì)的物聯(lián)網(wǎng)網(wǎng)關(guān)最小系統(tǒng),在系統(tǒng)設(shè)計(jì)思想上首先保證了核心系統(tǒng)的通用性,采用了ARM處理器。因?yàn)槭蔷W(wǎng)關(guān)節(jié)點(diǎn),設(shè)計(jì)上需要網(wǎng)關(guān)直接連接IP網(wǎng)絡(luò)并提供全功能的網(wǎng)絡(luò)服務(wù),因此選擇了能夠完整運(yùn)行Linux系統(tǒng)的ARM9處理器,運(yùn)行完整的Linux也是能夠運(yùn)行Node.js與完整Java的必要條件。由于采用了標(biāo)準(zhǔn)Linux,雖然Linux內(nèi)核提供了一些實(shí)時(shí)性補(bǔ)丁,但由于編程模型復(fù)雜而且也不適合與Node.js集成,因此在最小核心系統(tǒng)中加入了FPGA。FPGA能夠在硬件層面完成實(shí)時(shí)響應(yīng),解決了系統(tǒng)的實(shí)時(shí)響應(yīng)需求,其次由于FPGA是一種可配置系統(tǒng),能夠根據(jù)應(yīng)用需要進(jìn)行設(shè)計(jì)與配置,所以引入FPGA也極大提高了系統(tǒng)的適配能力,為靈活適配各種不同物聯(lián)網(wǎng)應(yīng)用提供了基礎(chǔ)。

  ● 物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)軟件設(shè)計(jì)

  物聯(lián)網(wǎng)網(wǎng)關(guān)的軟件設(shè)計(jì)完全是基于硬件設(shè)計(jì)的構(gòu)架,最大限度發(fā)揮硬件的功能,設(shè)計(jì)流程如下:

  1.首先在ARM9處理器上運(yùn)行完整的Linux系統(tǒng),其擁有完整的網(wǎng)絡(luò)服務(wù),并能根據(jù)需要通過(guò)APT-GET命令來(lái)安裝所需要的軟件包。

  2.在Linux系統(tǒng)基礎(chǔ)上,運(yùn)行Node.js+MongoDB來(lái)提供所有網(wǎng)絡(luò)服務(wù)。

  3.在Node.js里運(yùn)行HTTP服務(wù)器來(lái)提供基于Restful API的各種本地服務(wù),包括各種外設(shè)與I/O的控制。

  4.運(yùn)行HTTP服務(wù)器,基于RESTful API,實(shí)現(xiàn)了基于HTML5的云IDE開(kāi)發(fā)環(huán)境。方便技術(shù)極客對(duì)網(wǎng)關(guān)的功能進(jìn)行定制,這些IDE包括了Java的IDE,基于圖形編程的Blockly IDE和可以配置FPGA模塊功能和引腳定義的Web設(shè)計(jì)工具,當(dāng)然也包括較為底層的c語(yǔ)言IDE。

  有了這些功能,用戶就可以根據(jù)自己的需要,編寫(xiě)簡(jiǎn)單的程序來(lái)控制與物聯(lián)網(wǎng)網(wǎng)關(guān)連接的任何設(shè)備,實(shí)現(xiàn)自己的智能物聯(lián)網(wǎng)。

  在板子內(nèi)部,通過(guò)實(shí)現(xiàn)Linux內(nèi)核驅(qū)動(dòng)的用戶空間模式,實(shí)現(xiàn)了Node.js直接訪問(wèn)FPGA內(nèi)存空間、控制FPGA內(nèi)部邏輯,并最終控制與FPGA相連接的各種物聯(lián)網(wǎng)外設(shè)的功能。同時(shí)還實(shí)現(xiàn)了Node.js對(duì)FPGA的現(xiàn)場(chǎng)再配置,這樣直接通過(guò)網(wǎng)絡(luò)下載FPGA配置文件,即可現(xiàn)場(chǎng)改變整個(gè)核心系統(tǒng)。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?