使用 Node.js 通过 Raspberry Pi 3 model B 进行 GPIO

2023-11-30

我正在尝试使用树莓派 3 B 型让 LED 闪烁,

我的机器上安装了所有必需的模块,即 npm 、 nodejs 、 pi-gpio (修复了检测 gpio 的微小更改)

代码是:

var gpio = require("pi-gpio");

gpio.open(16, "output", function(err) {     
gpio.write(16, 1, function() {          
        gpio.close(16);                     
    });
});
//reading the data on the pin i.e pin : 16 
gpio.open(16, "output", function (err) {
    gpio.read(16, function (err, value) {
         console.log("Data is "+ value);
         gpio.close(16);
    });
});

但上面的代码在运行时会抛出错误,

节点应用程序.js

错误 :尝试打开引脚 16 时出错 gpio-admin:无法将数据刷新到/sys/class/gpio/export:设备或资源繁忙

提前致谢

我可以看到电路图和代码的任何链接。

担忧:我不想改变平台。节点.js

我正在使用的 pi-gpio 是:https://github.com/rakeshpai/pi-gpio


pi-gpio只是在后台写入 GPIO 设备,因此您可以跳过node.js and pi-gpio并手动执行相同的操作以进行测试。

Example:

gpio.open(16, ...
# is the same as writing in terminal:
echo 16 > /sys/class/gpio/export

and

... "output" ...
# is the same as writing in terminal:
echo "out" > /sys/class/gpio/gpio16/direction

etc.

首先,尝试重新启动 Pi,看看是否可以解决问题。

如果这没有帮助,请尝试以 root 身份手动关闭/取消导出引脚,然后重新运行脚本。

# unexport the pin as root in case something's holding on to it
sudo echo 16 > /sys/class/gpio/unexport

下面的命令基本上构成了pi-gpioAPI。您可以将这些行放入 shell 脚本中来控制 GPIO。首先按照我编写它们的顺序在不使用 sudo 的情况下测试它们,如果它们不起作用,请尝试使用 sudo。如果它们仍然不起作用,我认为您存在接线/硬件问题,或者需要在其他地方更改一些系统设置。

# unexport the pin
sudo echo 16 > /sys/class/gpio/unexport

# export it again
sudo echo 16 > /sys/class/gpio/export

# make it an output
sudo echo "out" > /sys/class/gpio/gpio16/direction

# write a HIGH - is the LED on now?
sudo echo 1 > /sys/class/gpio/gpio16/value

# read the value of the pin - is it 1 after writing a 1 to the pin?
cat /sys/class/gpio/gpio16/value

# write a LOW - did it turn off?
sudo echo 0 > /sys/class/gpio/gpio16/value
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Node.js 通过 Raspberry Pi 3 model B 进行 GPIO 的相关文章

  • 谷歌应用程序引擎nodejs本地开发

    有没有办法在本地运行我的nodejs应用程序 以便我可以模拟在生产App Engine中运行的应用程序而无需部署它 由于某种原因 我的应用程序在 Google App Engine 中的行为与我的本地主机不同 我厌倦了每次为了查看是否存在错
  • Puppeteer 无法在 VPS (DigitalOcean) 上工作

    我在水滴中数字海洋 https www digitalocean com 我收到这个错误 node 5549 UnhandledPromiseRejectionWarning TimeoutError Navigation Timeout
  • 在express中root后通过可选参数传递路由控制?

    我正在开发一个简单的网址缩短应用程序 并有以下快速路线 app get function req res res render index link null app post function req res function makeR
  • 节点项目的 Azure git 部署失败

    我正在尝试将我的项目部署到azure 它正在失败 这些是我采取的步骤 git init git config core longpaths true git add git commit m initial commit 所有这些都有效 我
  • Node.js 重用 MongoDB 参考

    我无法理解 Node js 例如 MongoDB 访问 这是我得到的 mydb js var mongodb require mongodb server new mongodb Server staff mongohq com 10030
  • 在 TypeScript 中将 Chai 自定义插件声明为 NodeJS 全局变量

    这是我之前的问题 https stackoverflow com questions 61676032 declare nodejs global variables in before hook in webdriverio using
  • 如何使用特定版本的NPM?

    如何切换我正在使用的 npm 版本 现在 npm v 1 1 65 但我需要 1 0 x 我尝试过 但出现错误 npm version 1 0 npm ERR version No package json found 有人知道如何使用不同
  • Node.js“需要”其他文件而不需要命名空间

    我正在将代码库从 100 浏览器端切换为浏览器端和服务器端的混合 我发现的问题是 要让我的代码使用 node js 运行 我必须使用模块 为了将我的代码变成模块 需要对几乎所有代码进行巨大的重构 原因是在浏览器上 许多功能是跨文件使用的 而
  • Node.js + Socket.io + Windows 7 / 8?

    我一直在到处寻找 但似乎找不到解决方案 是否可以在 Windows 7 上的 Node js 上安装 Socket io 如果没有 是否有某种替代方案 或者您知道未来有任何 Windows 支持吗 通常使用 Node js 包管理器 但是我
  • Socket.io 与服务器离线连接

    如何检测服务器是否离线或由于其他原因无法连接 我的代码看起来像这样 this socket io connect connectionInfo reconnect false 它不会抛出任何错误 因此 try catch 子句不起作用 Us
  • 错误:模块“html”不提供视图引擎(Express)

    我正在尝试设置一个简单的路由应用程序 但在渲染页面时不断遇到错误 Error Module html does not provide a view engine 奇怪的是我已经在 app js 文件中指定了视图引擎 但仍然收到错误 app
  • 没有导出的成员/节点模块

    我刚刚开始使用 5 分钟快速入门找到的 Angular 2 Typescripthere https angular io docs ts latest quickstart html 我遇到了一个看起来很常见的问题 但可能有点不同 我遇到
  • 有没有办法将击键发送到节点中的终端?

    我特别想发送 ctrl l 清除终端 这样每次我测试脚本时终端都是干净的 如果您使用的是 Linux console log 033 2J 如果你使用的是 Windows 我认为这可行 将光标设置在 0 0 var util require
  • AJAX 发送数据到 Node.js 服务器

    我尝试使用 AJAX 将数据发送到 Node js 服务器 但不断遇到同样的问题 即接收问题 这是客户端 JavaScript AJAX 代码 var objects function return new XMLHttpRequest f
  • Node.js Async/Await 模块导出 [重复]

    这个问题在这里已经有答案了 我对模块创建有点陌生 想知道 module exports 并等待异步函数 例如 mongo connect 函数 完成并导出结果 在模块中使用 async await 正确定义了变量 但是当尝试通过要求模块来记
  • 在社交媒体上分享 Reactjs 链接时,react-helmet 中的元标记不显示

    我有一个在客户端运行reactjs的项目 在后端运行nodejs express 我实现了react helmet来更新索引之外的路线的标题和元标记 例如 用户查看帖子 viewpost q POSTID 然后客户做了一个GET reque
  • Sequelize WHEREsequelize.fn(...) AND some='something' 排序问题

    我有一个 Sequelize findOne 函数 它会选择给定点与多边形 col geom 相交且状态 active 的行 var point sequelize fn ST GeomFromText POINT lng lat 4326
  • 全局未在 ../node_modules/socket.io-parser/is-buffer.js 中定义

    预先感谢您帮助我 我正在尝试在我的一个角度组件中连接套接字 但在浏览器的控制台中它会抛出一个错误 指出 Global 未在 Object node modules socket io parser is buffer js 中定义 这是我的
  • 使用 Socket.IO 时如何访问会话标识符?

    我有一个聊天 我需要管理独特的连接 我四处搜寻 但我找到的解决方案似乎都已被弃用 那么 如何使用 Socket IO 获取套接字的会话 ID 我在用着Node js http en wikipedia org wiki Node js Ex
  • Morgan Logger + Express.js:写入文件并在控制台中显示

    我正在尝试将 Morgan 与 Express js 结合使用来编写日志文件 同时也在控制台上显示我的日志 我正在使用这段代码 var logger require morgan var accessLogStream fs createW

随机推荐

  • 有条件地子集化并计算闪亮数据框中的新变量

    我正在尝试在 Shiny 的数据框中计算一个新变量 该变量是根据另一个变量有条件计算的 这是我正在尝试做的一个小例子 mydata lt data frame cbind x 1 y 1 10 value lt 10 from user i
  • GPU 的哈希表实现[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在寻找可用于 CUDA 编码的哈希表实现 那里有什么好的吗 像Python字典之类的东西 我将使用字符串作为我的键 阿尔坎塔拉等人演示了一种在 GPU 上构建哈希表的数据并行算法
  • MediaPlayer.setDataSource 导致有效文件出现 IOException

    这段代码曾经有效 然后 也许我在某个地方改变了一些东西 或者如果我对 Android 很了解的话 更新会在媒体播放器中引入一个错误 它停止工作了some设备 特别是我的 Nexus S 2 3 6 文件test m4a 17 775 201
  • 从 dll 导出函数指针

    我在 dll 文件中有一个函数指针 在实现中 而不是标头中 如何在exe源代码中调用this指针指向的函数 您可以导出返回指针的函数 标题 typedef void MyPtr declspec dllexport MyPtr GetMyP
  • 写入视频文件并同时播放

    在我有趣的项目中 我从 youtube 下载视频文件 并写入本地磁盘上的文件 同时我也想玩一下 目的是将文件缓存在本地磁盘上 以便当我想再次观看视频时 应用程序可以在本地播放它 从而节省带宽 我在用着Python 3 3 1 PyQt4 P
  • 如何在 XML Schema 1.1 中使用替代方案

    从我读到的所有内容来看 我在下面定义的模式应该有效 强调替代方案 我收到以下错误 http www w3 org 2001 XMLSchema alternative 在此上下文中不支持元素 你能指出我做错了什么吗 这是我当前的架构
  • 如何在 Android 中将图像 URL 分享到 WhatsApp?

    我需要在我的应用程序中将图像分享到 WhatsApp 我有图片网址 为了分享到 WhatsApp 我使用以下代码 String image url http images cartradeexchange com img 800 vehic
  • 如何禁用heroku上的资产管道?

    heroku cedar 隐式预编译了我的资产 即使我已经写了 config assets enabled false 如何禁用资产功能 问题是编译 slug 时应用程序配置不可用 最近解决了这个问题http devcenter herok
  • while 循环仅在 bash 中的文件的第一行上运行[重复]

    这个问题在这里已经有答案了 我有一个 while 循环 应该迭代一个文本文件 但停在第一行 我不明白为什么 我的代码如下 while read hadoop accounts do if grep no lock no remove the
  • 调试Android振动

    各位 我的手机无缘无故震动 所以我想确定发送振动命令来振动的应用程序 Android 会记录此类事件吗 或者我可以编写一个应用程序来监控Vibrator vibrate TIMEOUT 来自另一个应用程序的调用 笔记 我有 root 访问权
  • 2D 位集存储为 1D 时的 XOR 位集

    回答当你只关心速度时如何存储二进制数据 我想写一些来做比较 所以我想用std bitset 然而 为了公平比较 我想要一个一维std bitset模拟 2D 所以不要有 bitset lt 3 gt b1 string 010 bitset
  • JAX-WS 返回空列表

    我是网络服务新手 我遇到了一些问题 在服务器端我使用 spring ws 在客户端我使用jax ws 使用 wsimport 工具 我根据我的 wsdl 生成了 java 类 一切正常 但由于某种原因 jax ws 无法正确解析数组和列表
  • 使用 Struts 2 实现 Spring Security

    我想实现 Spring Security Struts2 我在执行项目时遇到了问题 没有为与上下文路径 Project 关联的名称空间 和操作名称 j spring security check 映射的操作 因为struts xml中没有名
  • 使用 Java Mail 下载附件

    现在我已经下载了所有消息并将它们存储到 Message temp 如何获取每封邮件的附件列表 List
  • GKE:带有推送订阅者的 Pod 之间的 Pubsub 消息

    我正在使用具有多个 Pod 的 GKE 部署 并且需要在 Pod 之间发送和接收消息 我想用pubsub 推送订阅者 我发现对于推送 我需要为订阅者 Pod 配置 https 访问 为了接收推送消息 您需要一个可公开访问的 HTTPS 服务
  • 反编译器字节码和混淆器

    我们可以从java字节码完全逆向工程源代码吗 为什么 Java 中允许此功能以及 Java 反编译器对抗混淆器的成功率如何 我知道这个问题很老了 但我一直在寻找可靠的答案 直到什么也没找到 因此 在这篇文章中 我总结了我在混淆 J2EE J
  • XML 序列化对象列表

    查看 Microsoft 关于 XML 序列化的文章 https msdn microsoft com en us library 58a18dwa aspx 他们在 序列化对象数组 下给出了一个示例 如下所示 public class P
  • 使用 java asm 获取函数参数值以进行字节码检测

    我使用 asm 在每个执行的函数中插入回调函数 我如何打印争论者的价值观 我正在使用 MethodAdapter visitCode 将我的函数注入到运行的每个函数中 我想将函数参数插入到一个数组中 并将该数组发送给我的回调函数 并将参数返
  • 为什么某些 TemplateBinding 值未显示在设计器中,而其他值却显示在设计器中? [带有重现代码]

    我遇到了一个奇怪的情况 以下示例代码替换窗口的内容 使用设置器的背景颜色并提供带有两个标签的堆栈面板 一张用于背景 一张用于标题 问题是 他们在设计时
  • 使用 Node.js 通过 Raspberry Pi 3 model B 进行 GPIO

    我正在尝试使用树莓派 3 B 型让 LED 闪烁 我的机器上安装了所有必需的模块 即 npm nodejs pi gpio 修复了检测 gpio 的微小更改 代码是 var gpio require pi gpio gpio open 16