0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)對(duì)TS-7680硬件的支持

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Michael Schmidt ? 2022-06-29 14:20 ? 次閱讀

該項(xiàng)目建立在文章“使用 Node.js 加快嵌入式系統(tǒng)上市時(shí)間”的基礎(chǔ)上,提供并展示了如何為簡(jiǎn)單的 Web 服務(wù)器實(shí)現(xiàn)代碼。Web 服務(wù)器提供了控制板的能力,例如通過(guò)獲取和設(shè)置數(shù)字 I/O (DIO) 值(或打開(kāi)和關(guān)閉 LED)。它還提供了一個(gè)簡(jiǎn)單的客戶端網(wǎng)頁(yè)來(lái)訪問(wèn)此功能,使其成為一個(gè)獨(dú)立的解決方案,用于通過(guò)電路板本身提供的網(wǎng)頁(yè)來(lái)控制電路板。

在“在運(yùn)行 Linux嵌入式單板計(jì)算機(jī)上開(kāi)始使用 node.js ”中,我們展示了如何在Technologic Systems TS-7680等單板計(jì)算機(jī) (SBC) 上安裝 node.js。在這個(gè)示例項(xiàng)目中,我們展示了如何實(shí)現(xiàn)對(duì) TS-7680 硬件的支持,并提供一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)來(lái)控制板。DIO 控制通過(guò)可視化界面進(jìn)行說(shuō)明,該界面可以顯示和更改板上四個(gè) LED 的狀態(tài)。板上的模數(shù)轉(zhuǎn)換器ADC) 的當(dāng)前狀態(tài)也會(huì)定期顯示和更新。最后,提供了一個(gè)按鈕,該按鈕對(duì)加速度計(jì)進(jìn)行一秒鐘的采樣并顯示其數(shù)據(jù)圖表。

該項(xiàng)目由兩部分組成:

在用戶(客戶端)網(wǎng)絡(luò)瀏覽器中運(yùn)行的 JavaScript 和 HTML

用于直接硬件接口(服務(wù)器)的 Node.js 項(xiàng)目文件(包括 JavaScript、包文件和 C++ 源代碼)。

這將在支持 ARMv5 CPU、使用節(jié)點(diǎn) 0.10 的 Technologic Systems TS-7680 上進(jìn)行演示。

注意:正確安裝此演示需要具有 256 MB 板載 RAM 的 TS-7680。如果您想在只有 128 MB RAM 的板上運(yùn)行此演示,請(qǐng)從該 ftp 服務(wù)器下載包含 service-mx28adc 模塊的壓縮包, 并通過(guò)解壓縮包含您的 node_modules 目錄的目錄來(lái)安裝它。之后apt install命令將識(shí)別該模塊已經(jīng)安裝并且不會(huì)嘗試編譯它。

讓我們看看我們將要?jiǎng)?chuàng)建的文件。

對(duì)于客戶:

ts7680.js –這是 TS-7680 用戶界面的實(shí)際實(shí)現(xiàn)。它將顯示 LED 和 ADC 的當(dāng)前狀態(tài),并提供對(duì)加速度計(jì)進(jìn)行采樣的接口。

index.html –這是顯示用戶界面的 HTML 代碼。

7680-0000.JPG 至 7680-1111.JPG –這些圖像文件將在 Web 界面中顯示 TS-7680 的板載 LED 狀態(tài)。LED 上的每個(gè)位組合(0000、0001、0010 等)都存在一個(gè)文件。

服務(wù)器上有幾個(gè) Node.js 包,每個(gè)包執(zhí)行特定的功能:

ts7680-demo-server –這是頂級(jí)服務(wù)器,用于指定和控制服務(wù)器組件的實(shí)例化。它還包含使整個(gè)項(xiàng)目成為獨(dú)立包所需的所有客戶端文件。

server.js –實(shí)現(xiàn)

package.json –清單

README.md – Markdown格式的自述文件

file/ –包含客戶端文件的子目錄

express-modular-server –這是一個(gè)模塊化框架,用于從 Node.js 提供 HTTP 和 HTTPS 網(wǎng)頁(yè)。

server.js –實(shí)現(xiàn)

package.json –清單

README.md – Markdown格式的自述文件

service-app –服務(wù)于 Web 應(yīng)用程序(app.html + app.js + 應(yīng)用程序特定模塊)的插件,用于在其中實(shí)現(xiàn)的默認(rèn)文件處理。

default-file.js -靜態(tài)文件服務(wù)的實(shí)現(xiàn)

package.json –清單

README.md – Markdown格式的自述文件

app.js –應(yīng)用處理的實(shí)現(xiàn)(本項(xiàng)目中未使用)

service-mma8451 –為 TS-7680 上的NXP MMA8451 3 軸加速度計(jì)實(shí)現(xiàn)應(yīng)用程序編程接口 (API) 支持的插件。

mma8451.js –實(shí)施

package.json –清單

README.md – Markdown格式的自述文件

service-mx28adc –實(shí)現(xiàn)對(duì)TS-7680 上i.MX28 CPU 低分辨率模數(shù)轉(zhuǎn)換器 (LRADC)外圍設(shè)備的支持的插件。

mx28adc.js –實(shí)現(xiàn) API 支持的插件

mx28adc.cc –實(shí)施

package.json –清單

Binding.gyp –構(gòu)建文件

README.md – Markdown格式的自述文件

service-gpio –通過(guò) Linux /sys 文件系統(tǒng)實(shí)現(xiàn)對(duì) GPIO 的 API 支持的插件。

gpio.js –實(shí)現(xiàn)

package.json –清單

README.md – Markdown格式的自述文件

現(xiàn)在,進(jìn)入代碼。

ts7680-演示服務(wù)器

首先,讓我們看看我們將調(diào)用以運(yùn)行我們的服務(wù)器的頂級(jí) JavaScript 文件:server.js。

express-modular-server 軟件包使創(chuàng)建 Web 服務(wù)器變得容易。我們?yōu)槊總€(gè)服務(wù)編寫一個(gè)插件,用于初始化 API 端點(diǎn)和服務(wù)請(qǐng)求。然后我們配置服務(wù)器,指定每個(gè)所需的端點(diǎn),并啟動(dòng)服務(wù)器。

對(duì)上面的代碼逐段剖析,我們首先將當(dāng)前工作目錄更改為安裝包的目錄。這是因?yàn)槲覀兊陌鼘⑺徐o態(tài)提供的文件封裝在file/相對(duì)于該目錄的子目錄中。

process.chdir(__dirname)

接下來(lái),我們需要 express-modular-server:

var server = require(“express-modular-server”)

這將返回一個(gè)函數(shù),我們使用初始化數(shù)據(jù)作為同一表達(dá)式的一部分調(diào)用該函數(shù):

({

http:true

})

在這里,我們傳遞一個(gè)包含初始化參數(shù)的對(duì)象。我們感興趣的唯一參數(shù)是運(yùn)行 HTTP 服務(wù)器。參數(shù)http:true指定了這一點(diǎn),盡管我們也可以提供一個(gè)數(shù)字端口而不是 true。默認(rèn)使用端口 8080。

然后我們將每個(gè) API 添加到服務(wù)器,從包名稱中省略“service-”前綴。初始化返回模塊對(duì)象,該對(duì)象具有添加與關(guān)鍵 API 關(guān)聯(lián)的 API 的功能。

.API(“gpio”)

當(dāng)這個(gè)函數(shù)返回時(shí),gpio 插件(來(lái)自 service-gpio 包)被加載。此函數(shù)返回模塊對(duì)象本身,因此我們可以鏈接另一個(gè)調(diào)用以添加任意數(shù)量的 API 端點(diǎn):

.API(“mma8451”)

.API(“mx28adc”)

.API(“app”)

現(xiàn)在我們?yōu)榧铀俣扔?jì)、ADC 和服務(wù) Web 應(yīng)用程序添加了端點(diǎn)。添加完端點(diǎn)后,我們?cè)僬{(diào)用一次來(lái)啟動(dòng)服務(wù)器:

.start()

而已!這是我們的代碼的樣子:

poYBAGK774OAV_kBAACIiwacH7s782.png

在安裝演示之前需要運(yùn)行一些命令才能使安裝和構(gòu)建過(guò)程正常工作。首先,由于 Debian 中缺少標(biāo)頭,我們需要升級(jí) npm 并設(shè)置一個(gè)符號(hào)鏈接來(lái)指向它:

poYBAGK7742ATI2qAABQwTFpthM870.png

一旦 npm 升級(jí),任何時(shí)候它運(yùn)行都會(huì)返回一個(gè)錯(cuò)誤,說(shuō) npm 不支持 node.js v0.10.29,你應(yīng)該升級(jí)到更新的版本。忽略此警告,因?yàn)?v0.10.29 是 TS-7680 支持的最新版本,因?yàn)檩^新的版本缺少 ARM v5 支持。

您可以使用單個(gè)命令安裝整個(gè)演示:

npm install ts7680-demo-server

我們的下一部分將從 GPIO 模塊開(kāi)始詳細(xì)檢查服務(wù)器使用的模塊。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23278

    瀏覽量

    660940
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6498

    瀏覽量

    544683
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9165

    瀏覽量

    85436
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TS3DV520E的傳輸距離可以擴(kuò)大嗎?

    目前使用的切換芯片:TS3DV520E帶寬:1.65 Gbps轉(zhuǎn)接后傳輸距離:約300mm 我們現(xiàn)在做如下兩個(gè)升級(jí): 1. 帶寬支持到2.5Gbps; 2. 對(duì)差分信號(hào)進(jìn)行驅(qū)動(dòng)放大,使其能夠傳輸
    發(fā)表于 12-16 08:36

    ts3dv642是否真正支持60hz?

    ts3dv642,該芯片datasheet中寫的支持60hz HDMI2.0;但是綠聯(lián)的一款采用該芯片的產(chǎn)品中卻寫的只支持30hz,幫忙確認(rèn)一下該芯片是否真正支持60hz,謝謝!
    發(fā)表于 12-06 08:25

    受電端Type-C設(shè)計(jì),PD協(xié)議的純硬件實(shí)現(xiàn)詳解

    power)雙重角色的可供電設(shè)備 在SINK純耗電方的PD協(xié)議的實(shí)現(xiàn)方式通常需要單片機(jī)配合軟件代碼,在產(chǎn)品開(kāi)發(fā)過(guò)程中不僅需要硬件開(kāi)發(fā)團(tuán)隊(duì),還需要軟件的支持,極大的增加了開(kāi)發(fā)難度。所以為了使電子產(chǎn)品SINK純耗電方的開(kāi)發(fā)更為簡(jiǎn)便
    的頭像 發(fā)表于 11-13 11:01 ?362次閱讀

    使用TS5A22362必須要接負(fù)載嗎?

    在使用TS5A22362作為音頻SPK通道切換輸出,使用萬(wàn)用表測(cè)量SPK輸出頻率時(shí)發(fā)現(xiàn)未接負(fù)載的情況下(末端接萬(wàn)用表)音頻信號(hào)震蕩很厲害;大約會(huì)產(chǎn)生1.5MHZ的震蕩頻率;請(qǐng)問(wèn)這是正常的嗎?使用TS5A22362必須要接負(fù)載嗎?
    發(fā)表于 11-01 08:21

    SRC4392怎么實(shí)現(xiàn)硬件控制?

    SRC4392芯片支持軟件模式和硬件模式, 看了參考設(shè)計(jì),還是沒(méi)弄懂,怎么實(shí)現(xiàn)硬件控制,要是有光硬件模式的原理圖就好了! 只看SRC439
    發(fā)表于 10-31 06:44

    新的 MathWorks 硬件支持支持從 MATLAB 和 Simulink 模型到高通 Hexagon 神經(jīng)處理單元架構(gòu)的自動(dòng)化代碼生成

    在 Snapdragon? 系列處理器中。MathWorks 硬件支持包,則專門針對(duì) Qualcomm Technologies 的 Hexagon NPU 架構(gòu)進(jìn)行優(yōu)化,實(shí)現(xiàn) MATLAB
    的頭像 發(fā)表于 09-23 11:59 ?275次閱讀

    利用CLB實(shí)現(xiàn)基于硬件的同步整流控制

    電子發(fā)燒友網(wǎng)站提供《利用CLB實(shí)現(xiàn)基于硬件的同步整流控制.pdf》資料免費(fèi)下載
    發(fā)表于 08-31 09:44 ?0次下載
    利用CLB<b class='flag-5'>實(shí)現(xiàn)</b>基于<b class='flag-5'>硬件</b>的同步整流控制

    德思特分享 突破FPGA限制:德思特TS-M4i系列數(shù)字化儀利用GPU加速實(shí)現(xiàn)高效塊平均處理

    本白皮書將展示如何使用德思特TS-M4i系列數(shù)字化儀的高速PCIe流模式來(lái)在軟件中實(shí)現(xiàn)塊平均處理,從而突破FPGA的限制。我們用了TS-M4i.2230(1通道,5 GS/s,8位垂直分辨率,1.5 GHz帶寬)作為例子,對(duì)比
    的頭像 發(fā)表于 08-20 09:26 ?1297次閱讀
    德思特分享 突破FPGA限制:德思特<b class='flag-5'>TS</b>-M4i系列數(shù)字化儀利用GPU加速<b class='flag-5'>實(shí)現(xiàn)</b>高效塊平均處理

    突破FPGA限制:TS-M4i系列數(shù)字化儀利用GPU加速實(shí)現(xiàn)高效塊平均處理

    的容量,最大樣品量通常在32k到500k之間。 本白皮書將展示如何使用TS-M4i系列數(shù)字化儀的高速PCIe流模式來(lái)在軟件中實(shí)現(xiàn)塊平均處理,從而突破FPGA的限制。我們用了TS-M4i.2230(1通道,5 GS/s,8位垂直分
    的頭像 發(fā)表于 08-19 15:27 ?333次閱讀
    突破FPGA限制:<b class='flag-5'>TS</b>-M4i系列數(shù)字化儀利用GPU加速<b class='flag-5'>實(shí)現(xiàn)</b>高效塊平均處理

    神經(jīng)網(wǎng)絡(luò)專用硬件實(shí)現(xiàn)的方法和技術(shù)

    神經(jīng)網(wǎng)絡(luò)專用硬件實(shí)現(xiàn)是人工智能領(lǐng)域的一個(gè)重要研究方向,旨在通過(guò)設(shè)計(jì)專門的硬件來(lái)加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和推理過(guò)程,提高計(jì)算效率和能效比。以下將詳細(xì)介紹神經(jīng)網(wǎng)絡(luò)專用硬件
    的頭像 發(fā)表于 07-15 10:47 ?1142次閱讀

    PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?

    。 使用 MCUBoot 驗(yàn)證兩個(gè)應(yīng)用程序時(shí),運(yùn)行時(shí)間大約需要五秒鐘。 在 README.md 的 \"安全 \"一欄中寫道 與軟件實(shí)現(xiàn)相比,硬件加速加密技術(shù)將啟動(dòng)時(shí)間縮短了四倍多
    發(fā)表于 05-29 08:17

    TSIM是否支持TC3xx系列在沒(méi)有硬件的情況下調(diào)試應(yīng)用程序?

    你好, TSIM是否支持TC3xx系列在沒(méi)有硬件的情況下調(diào)試應(yīng)用程序? AURIX TC3xx - Free Entry ToolChain 是否有助于實(shí)現(xiàn)上述目的?
    發(fā)表于 05-17 07:02

    【天拓四方】物聯(lián)網(wǎng)網(wǎng)關(guān)硬件和云端分別實(shí)現(xiàn)了哪些功能?

    網(wǎng)關(guān)硬件和云端分別實(shí)現(xiàn)了哪些功能,并探討這些功能如何為物聯(lián)網(wǎng)系統(tǒng)帶來(lái)的支持。 一、物聯(lián)網(wǎng)網(wǎng)關(guān)硬件的功能 物聯(lián)網(wǎng)網(wǎng)關(guān)硬件作為物聯(lián)網(wǎng)系統(tǒng)中的關(guān)鍵
    的頭像 發(fā)表于 04-19 16:18 ?330次閱讀

    映泰發(fā)布銳炫A750OC顯卡,支持7680×4320@60Hz顯示

    映泰銳炫A750 OC顯卡厚度為2.2槽,配備三個(gè)DP2.0接口,可實(shí)現(xiàn)7680*4320@60Hz的高分辨率輸出;同時(shí)還具備一個(gè)HDMI 2.0接口,支持4096*2160@60Hz的高清視頻傳輸。
    的頭像 發(fā)表于 04-12 16:31 ?854次閱讀

    STSPIN32F0支持硬件浮點(diǎn)運(yùn)算嗎?

    STSPIN32F0 支不支持硬件浮點(diǎn)運(yùn)算
    發(fā)表于 03-13 06:32