0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现对TS-7680硬件的支持

星星科技指导员 来源:嵌入式计算设计 作者:Michael Schmidt 2022-06-29 14:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

该项目建立在文章“使用 Node.js 加快嵌入式系统上市时间”的基础上,提供并展示了如何为简单的 Web 服务器实现代码。Web 服务器提供了控制板的能力,例如通过获取和设置数字 I/O (DIO) 值(或打开和关闭 LED)。它还提供了一个简单的客户端网页来访问此功能,使其成为一个独立的解决方案,用于通过电路板本身提供的网页来控制电路板。

在“在运行 Linux嵌入式单板计算机上开始使用 node.js ”中,我们展示了如何在Technologic Systems TS-7680等单板计算机 (SBC) 上安装 node.js。在这个示例项目中,我们展示了如何实现对 TS-7680 硬件的支持,并提供一个简单的网页来控制板。DIO 控制通过可视化界面进行说明,该界面可以显示和更改板上四个 LED 的状态。板上的模数转换器ADC) 的当前状态也会定期显示和更新。最后,提供了一个按钮,该按钮对加速度计进行一秒钟的采样并显示其数据图表。

该项目由两部分组成:

在用户(客户端)网络浏览器中运行的 JavaScript 和 HTML

用于直接硬件接口(服务器)的 Node.js 项目文件(包括 JavaScript、包文件和 C++ 源代码)。

这将在支持 ARMv5 CPU、使用节点 0.10 的 Technologic Systems TS-7680 上进行演示。

注意:正确安装此演示需要具有 256 MB 板载 RAM 的 TS-7680。如果您想在只有 128 MB RAM 的板上运行此演示,请从该 ftp 服务器下载包含 service-mx28adc 模块的压缩包, 并通过解压缩包含您的 node_modules 目录的目录来安装它。之后apt install命令将识别该模块已经安装并且不会尝试编译它。

让我们看看我们将要创建的文件。

对于客户:

ts7680.js –这是 TS-7680 用户界面的实际实现。它将显示 LED 和 ADC 的当前状态,并提供对加速度计进行采样的接口。

index.html –这是显示用户界面的 HTML 代码。

7680-0000.JPG 至 7680-1111.JPG –这些图像文件将在 Web 界面中显示 TS-7680 的板载 LED 状态。LED 上的每个位组合(0000、0001、0010 等)都存在一个文件。

服务器上有几个 Node.js 包,每个包执行特定的功能:

ts7680-demo-server –这是顶级服务器,用于指定和控制服务器组件的实例化。它还包含使整个项目成为独立包所需的所有客户端文件。

server.js –实现

package.json –清单

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

file/ –包含客户端文件的子目录

express-modular-server –这是一个模块化框架,用于从 Node.js 提供 HTTP 和 HTTPS 网页。

server.js –实现

package.json –清单

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

service-app –服务于 Web 应用程序(app.html + app.js + 应用程序特定模块)的插件,用于在其中实现的默认文件处理。

default-file.js -静态文件服务的实现

package.json –清单

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

app.js –应用处理的实现(本项目中未使用)

service-mma8451 –为 TS-7680 上的NXP MMA8451 3 轴加速度计实现应用程序编程接口 (API) 支持的插件。

mma8451.js –实施

package.json –清单

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

service-mx28adc –实现对TS-7680 上i.MX28 CPU 低分辨率模数转换器 (LRADC)外围设备的支持的插件。

mx28adc.js –实现 API 支持的插件

mx28adc.cc –实施

package.json –清单

Binding.gyp –构建文件

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

service-gpio –通过 Linux /sys 文件系统实现对 GPIO 的 API 支持的插件。

gpio.js –实现

package.json –清单

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

现在,进入代码。

ts7680-演示服务器

首先,让我们看看我们将调用以运行我们的服务器的顶级 JavaScript 文件:server.js。

express-modular-server 软件包使创建 Web 服务器变得容易。我们为每个服务编写一个插件,用于初始化 API 端点和服务请求。然后我们配置服务器,指定每个所需的端点,并启动服务器。

对上面的代码逐段剖析,我们首先将当前工作目录更改为安装包的目录。这是因为我们的包将所有静态提供的文件封装在file/相对于该目录的子目录中。

process.chdir(__dirname)

接下来,我们需要 express-modular-server:

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

这将返回一个函数,我们使用初始化数据作为同一表达式的一部分调用该函数:

({

http:true

})

在这里,我们传递一个包含初始化参数的对象。我们感兴趣的唯一参数是运行 HTTP 服务器。参数http:true指定了这一点,尽管我们也可以提供一个数字端口而不是 true。默认使用端口 8080。

然后我们将每个 API 添加到服务器,从包名称中省略“service-”前缀。初始化返回模块对象,该对象具有添加与关键 API 关联的 API 的功能。

.API(“gpio”)

当这个函数返回时,gpio 插件(来自 service-gpio 包)被加载。此函数返回模块对象本身,因此我们可以链接另一个调用以添加任意数量的 API 端点:

.API(“mma8451”)

.API(“mx28adc”)

.API(“app”)

现在我们为加速度计、ADC 和服务 Web 应用程序添加了端点。添加完端点后,我们再调用一次来启动服务器:

.start()

而已!这是我们的代码的样子:

poYBAGK774OAV_kBAACIiwacH7s782.png

在安装演示之前需要运行一些命令才能使安装和构建过程正常工作。首先,由于 Debian 中缺少标头,我们需要升级 npm 并设置一个符号链接来指向它:

poYBAGK7742ATI2qAABQwTFpthM870.png

一旦 npm 升级,任何时候它运行都会返回一个错误,说 npm 不支持 node.js v0.10.29,你应该升级到更新的版本。忽略此警告,因为 v0.10.29 是 TS-7680 支持的最新版本,因为较新的版本缺少 ARM v5 支持。

您可以使用单个命令安装整个演示:

npm install ts7680-demo-server

我们的下一部分将从 GPIO 模块开始详细检查服务器使用的模块。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    244

    文章

    24793

    浏览量

    693820
  • adc
    adc
    +关注

    关注

    100

    文章

    7980

    浏览量

    557485
  • 服务器
    +关注

    关注

    14

    文章

    10467

    浏览量

    91894
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADV7680:APIX2 发射器的卓越之选

    ADV7680:APIX2 发射器的卓越之选 在电子工程师的设计工作中,选择合适的芯片对于产品的性能和功能起着至关重要的作用。今天,我们就来深入了解一款功能强大的芯片——ADV7680,它是一款支持
    的头像 发表于 05-13 15:25 132次阅读

    onsemi FDMC7680 N-Channel MOSFET:高效电源管理的理想之选

    onsemi FDMC7680 N-Channel MOSFET:高效电源管理的理想之选 在电子设备的电源管理和负载切换应用中,MOSFET扮演着至关重要的角色。今天,我们就来深入了解一下
    的头像 发表于 04-16 17:40 1029次阅读

    FDMS7680 N - 通道 PowerTrench® MOSFET:高效与高性能的完美结合

    FDMS7680 N - 通道 PowerTrench® MOSFET:高效与高性能的完美结合 在电子设计领域,MOSFET(金属 - 氧化物 - 半导体场效应晶体管)是至关重要的元件,它在众多电路
    的头像 发表于 04-16 09:50 371次阅读

    低功耗高速16位ADC——AD7680的技术剖析与应用指南

    低功耗高速16位ADC——AD7680的技术剖析与应用指南 在电子设计领域,模数转换器(ADC)是连接模拟世界与数字世界的桥梁。ADI公司的AD7680作为一款16位、高速、低功耗的逐次逼近型ADC
    的头像 发表于 04-07 11:40 270次阅读

    探索TS94x系列运算放大器:特性、应用与设计要点

    探索TS94x系列运算放大器:特性、应用与设计要点 在电子设计领域,运算放大器是不可或缺的基础元件,它广泛应用于各种电路中,为信号处理、放大等功能提供支持。今天,我们就来深入了解一下TS
    的头像 发表于 03-18 16:35 504次阅读

    深入剖析TS951、TS952、TS954:多功能低功耗运放的卓越之选

    深入剖析TS951、TS952、TS954:多功能低功耗运放的卓越之选 在电子设计领域,运算放大器(运放)是不可或缺的基础组件,其性能的优劣直接影响到整个电路的表现。今天将带大家深入
    的头像 发表于 02-26 17:45 1506次阅读

    探索TS5A2053单通道10Ω SPDT模拟开关:特性与应用解析

    探索TS5A2053单通道10Ω SPDT模拟开关:特性与应用解析 在当今的电子设计领域,模拟开关扮演着至关重要的角色,它能够实现信号的切换和路由,为各种电子设备的正常运行提供支持。今天,我们就来
    的头像 发表于 01-15 10:45 1007次阅读

    Texas Instruments TS2PCIE2212:PCI Express信号开关的卓越之选

    Texas Instruments TS2PCIE2212:PCI Express信号开关的卓越之选 在电子设计领域,PCI Express信号开关是实现信号高效切换和处理的关键组件。今天,我们就来
    的头像 发表于 01-14 17:30 721次阅读

    探索TS12A4516/TS12A4517:高性能CMOS模拟开关的奥秘

    探索TS12A4516/TS12A4517:高性能CMOS模拟开关的奥秘 在电子工程师的日常设计工作中,选择合适的模拟开关至关重要。今天,我们就来深入了解德州仪器(TI)的TS
    的头像 发表于 01-14 17:25 1438次阅读

    探索TS2PCIE412:高性能PCIe开关的技术剖析

    探索TS2PCIE412:高性能PCIe开关的技术剖析 在当今的电子设备中,PCI Express(PCIe)总线的应用越来越广泛,而PCIe开关作为实现总线复用和扩展的关键组件,其性能直接影响
    的头像 发表于 01-14 15:00 612次阅读

    实操必备:广东宏展 TS2 与 TS3 系列冷热冲击试验箱养护要点

    广东宏展TS2/TS3冷热冲击箱需规范维护,定期保养,确保运行稳定与测试精度。
    的头像 发表于 01-10 14:09 369次阅读
    实操必备:广东宏展 <b class='flag-5'>TS</b>2 与 <b class='flag-5'>TS</b>3 系列冷热冲击试验箱养护要点

    广东宏展 TS2/TS3 冷热冲击试验箱:从结构到原理的全面解读

    广东宏展TS2和TS3系列冷热冲击箱分别采用腔体切换与气流导向结构,TS2体积紧凑、性价比高,TS3功能更全面,适合不同行业需求。
    的头像 发表于 01-09 14:20 476次阅读
    广东宏展 <b class='flag-5'>TS</b>2/<b class='flag-5'>TS</b>3 冷热冲击试验箱:从结构到原理的全面解读

    探索TS3USBA225:USB与音频切换的理想之选

    信号处理方面表现出色,能为系统设计带来诸多便利。 文件下载: ts3usba225.pdf 一、TS3USBA225简介 TS3USBA225是一款2通道单刀三掷(SP3T)多路复用器,支持
    的头像 发表于 12-24 09:55 593次阅读

    请问GPIO的状态保持需要硬件支持吗?

    GPIO的状态保持需要硬件支持吗?
    发表于 12-15 07:07

    伺服控制要 “集成 + 灵活”?TMC4671:硬件实现 FOC,还支持前馈补偿!

    TMC4671:硬件实现FOC伺服控制要“集成+灵活”?做伺服项目时,大家总希望芯片既能装下核心功能,又能应对不同电机需求——而TMC4671这款完全集成的伺服控制芯片,刚好踩中了“集成”与“灵活
    的头像 发表于 12-10 17:48 790次阅读
    伺服控制要 “集成 + 灵活”?TMC4671:<b class='flag-5'>硬件</b><b class='flag-5'>实现</b> FOC,还<b class='flag-5'>支持</b>前馈补偿!