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
    +关注

    关注

    243

    文章

    24438

    浏览量

    687472
  • adc
    adc
    +关注

    关注

    100

    文章

    7407

    浏览量

    553813
  • 服务器
    +关注

    关注

    13

    文章

    10093

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI算力模组TS-SG-SM7系列产品规格书

    腾视科技AI算力模组TS-SG-SM7搭载了算能AI芯片BM1684X,支持多模态大模型,可集成于边缘计算盒、智能NVR、机器人、无人机等,能高效适配各类场景化AI算法,实现人脸识别、视频结构化、行为分析、状态监测等应用,为智慧
    发表于 10-27 17:15 0次下载

    TS3121/TS3121A汽车级比较器技术解析与应用指南

    STMicroelectronics TS3121/TS3131A汽车单比较器具有高速响应和低功耗,可在1.8V至5.5V电源电压范围内工作。STMicroelectronics TS
    的头像 发表于 10-17 15:04 358次阅读
    <b class='flag-5'>TS</b>3121/<b class='flag-5'>TS</b>3121A汽车级比较器技术解析与应用指南

    代码如何重塑硬件设计,AI如何加速创新?

    “  TS Circuit 创始人 Sebe 与 Atopile 创始人 Matt 之间非常有意思的一段对话,讨论了代码如何重塑硬件设计及 AI 如何加速创新。非常值得完整的听一遍,用中文重塑了对话
    的头像 发表于 09-06 11:19 483次阅读

    不增加硬件成本实现智能穿戴离线地图

    专为智能设备打造的轻量级离线地图解决方案。通过创新的矢量压缩技术,仅占用10MB存储空间即可实现精准导航,支持智能手表、无人机等多种终端在无网络环境下的地图服务。无需硬件升级,快速部署,让小型设备也能拥有完整的离线导航能力。
    的头像 发表于 04-28 10:06 841次阅读
    不增加<b class='flag-5'>硬件</b>成本<b class='flag-5'>实现</b>智能穿戴离线地图

    FA15-220S06E2D4(-T)(-TS) FA15-220S06E2D4(-T)(-TS)

    电子发烧友网为你提供AIPULNION(AIPULNION)FA15-220S06E2D4(-T)(-TS)相关产品参数、数据手册,更有FA15-220S06E2D4(-T)(-TS)的引脚图
    发表于 03-24 18:53
    FA15-220S06E2D4(-T)(-<b class='flag-5'>TS</b>) FA15-220S06E2D4(-T)(-<b class='flag-5'>TS</b>)

    LC-AC01F2-TS LC-AC01F2-TS

    电子发烧友网为你提供AIPULNION(AIPULNION)LC-AC01F2-TS相关产品参数、数据手册,更有LC-AC01F2-TS的引脚图、接线图、封装手册、中文资料、英文资料,LC-AC01F2-TS真值表,LC-AC0
    发表于 03-24 18:49
    LC-AC01F2-<b class='flag-5'>TS</b> LC-AC01F2-<b class='flag-5'>TS</b>

    BK15-500S24H2N6(-T)(-TS) BK15-500S24H2N6(-T)(-TS)

    电子发烧友网为你提供AIPULNION(AIPULNION)BK15-500S24H2N6(-T)(-TS)相关产品参数、数据手册,更有BK15-500S24H2N6(-T)(-TS)的引脚图
    发表于 03-20 18:57
    BK15-500S24H2N6(-T)(-<b class='flag-5'>TS</b>) BK15-500S24H2N6(-T)(-<b class='flag-5'>TS</b>)

    BK15-800S24W2N6(-T)(-TS)(-TS1) BK15-800S24W2N6(-T)(-TS)(-TS1)

    电子发烧友网为你提供AIPULNION(AIPULNION)BK15-800S24W2N6(-T)(-TS)(-TS1)相关产品参数、数据手册,更有BK15-800S24W2N6(-T)(-TS
    发表于 03-20 18:56
    BK15-800S24W2N6(-T)(-<b class='flag-5'>TS</b>)(-<b class='flag-5'>TS</b>1) BK15-800S24W2N6(-T)(-<b class='flag-5'>TS</b>)(-<b class='flag-5'>TS</b>1)

    为什么说TS-AWG系列+外部衰减器是低幅脉冲测试的终极解决方案?

    现实中毫伏级信号等需低幅度脉冲测试设备,德思特 TS-AWG4000、TS-AWG5000、TS-AWG7000 及 TS-PG1000 等在生成极低幅度脉冲时,多需 30dB 外部衰
    的头像 发表于 03-14 15:35 656次阅读
    为什么说<b class='flag-5'>TS</b>-AWG系列+外部衰减器是低幅脉冲测试的终极解决方案?

    请问STM32G473是否支持硬件AES?

    STM32G473参考手册及数据手册中含有硬件AES相关内容及寄存器相关描述。但STM32G473xx.h中并无AES相关寄存器,pack版本已更新为最新。以地址方式直接赋值,Keil debug过程中查看AES外设赋值失败。STM32G473是否支持
    发表于 03-12 06:38

    ADC硬件过采样是怎么实现的?

    ADC硬件过采样是怎么实现
    发表于 03-11 07:46

    EE-176:ADSP-TS101S TigerSHARC处理器硬件设计核对表

    电子发烧友网站提供《EE-176:ADSP-TS101S TigerSHARC处理器硬件设计核对表.pdf》资料免费下载
    发表于 01-14 16:27 0次下载
    EE-176:ADSP-<b class='flag-5'>TS</b>101S TigerSHARC处理器<b class='flag-5'>硬件</b>设计核对表

    TS2PCIE412ruar芯片能否用于SATA1.0信号切换?是否支持SATA OBB信号?

    面的TS2PCIE412ruar芯片,该芯片是PCIE信号切换器。看其相关的datasheet,信号带宽可支持3.0Gbps。不知该芯片能否用于SATA1.0信号切换?是否支持SATA OBB信号?
    发表于 01-07 08:04

    晶扬电子高速信号线专用浪涌保护器件TS0321TB-Fx解析

    1 新品上市 近日,晶扬推出高速信号线专用浪涌保护器件 TS0321TB-Fx 。TS0321TB-Fx使用了 晶扬独家研发 的超低电容技术和先进封装技术,实现了对超高速信号线路的浪涌保护。 2
    的头像 发表于 12-31 09:13 1353次阅读
    晶扬电子高速信号线专用浪涌保护器件<b class='flag-5'>TS</b>0321TB-Fx解析

    TS3DV520E的传输距离可以扩大吗?

    目前使用的切换芯片:TS3DV520E带宽:1.65 Gbps转接后传输距离:约300mm 我们现在做如下两个升级: 1. 带宽支持到2.5Gbps; 2. 对差分信号进行驱动放大,使其能够传输
    发表于 12-16 08:36