问题标签 [lirc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1070 浏览

c - 使用 LIRCd 检测密钥

我正在使用 LIRCd 使用正确的配置文件来捕获我在遥控器上按下的键。
根据文档,我必须等待阻塞函数lirc_nextcode()返回,然后我得到一个很好的解码行,如下所示:

第一个数字是键值,接下来是该键被按下的重复次数(这里为 0,因为我只是按下并释放它),然后是键名和我的遥控器的名称。

无论如何,我想做的是检测遥控器的钥匙

如果我按下一个按钮一段时间,这就是我得到的(每 200 毫秒换行一次):

因此,每当我长按一个键时,第二个数字就会增加,但一旦我松开它并再次按下它,它就会重置为 0。

我想要的是能够检测到重复停止的时刻。

现在,我可以看到如何实现密钥检测:如果lirc_nextcode()在一定时间后没有破解,我可以认为密钥已被释放。

我要问的是:是否有另一种(更合适的)方法可以做到这一点?
通过配置 LIRCd 可能吗?

或者,如果除了使用计时器之外没有其他方法可以做到这一点,那么最好的实现是什么?确实,lirc_getcode()阻塞的,所以每当计时器崩溃时,我都需要它返回!

编辑:顺便说一句,没有lirclircd标签,会很高兴!

0 投票
1 回答
760 浏览

linux - 将 lirc 用于手臂皮质 A8

需要你对 lirc 的帮助。我想使用 lirc 来解码 ir 信号。我正在使用基于 Cortex A8 和 2.6.37 内核的定制板,IR 是通过串行端口接收的。当我按下红外遥控器的按钮时,我可以看到 UART 中断正常出现。

但是,当我尝试使用 device=all 或 device=serial 运行配置脚本并按照 lirc.org 上的安装页面中所述运行 make 和 make install 时,它会向我发送内核配置无效的错误。

但是我仍然能够生成加载内核模块所需的 .ko 文件(lirc_dev 和 lirc_serial),但无法插入 lirc_serial 模块,因为我使用的是具有 mmio 的端口并且 lirc 使用的端口是 io 映射的。我的虚拟地址是 0xfa022000,物理地址是 0x48022000(使用 ttyO1)。我可以为这个地址使用 lirc 吗?我需要对代码进行任何更改吗?我也不能直接安装在我正在使用的板上,因为由于板上存在的东西很少,我无法在板上构建内核源代码。所以我在其他机器上运行设置并交叉编译 arm。所以我无法将配置文件放置在正确的位置,也没有创建节点(/dev/lirc0)。我应该手动创建节点还是插入模块来完成工作?在插入模块之前,我还需要将配置文件放在正确的位置吗?它还与内核版本有任何依赖关系吗?请建议我自己交叉编译和加载内核模块的步骤,并让我知道需要存在哪些所有 conf 文件或其他文件才能使事情正常工作。我真的非常感谢你的帮助。在过去的两周里,我一直在尝试。问候哈曼。我真的非常感谢你的帮助。在过去的两周里,我一直在尝试。问候哈曼。我真的非常感谢你的帮助。在过去的两周里,我一直在尝试。问候哈曼。

0 投票
1 回答
435 浏览

time - 仅在一天中的特定时间进行 Cron 启动脚本

所以我有一组脚本,用于在启动、屏幕保护程序和远程控制等某些事件期间控制我的接收器和电视电源。其中之一是在登录期间执行的,但问题是我可能不希望它在机器计划启动时运行脚本。如果在启动应用程序执行期间空白 = 0,我有逻辑忽略事件,因此它不会在启动或关闭期间发送 ir。我怎样才能通过使用 cron 来做到这一点?我选择 cron 是因为这些事件发生在启动应用程序之前。Cron 很棒,但据我了解,我只能在启动时运行或按计划运行,不能同时运行。我需要编写时间变量的脚本,但我不确定如何。

syson.sh(在登录期间作为启动应用程序和屏幕状态更改调用)

sysoff.sh(在关机期间作为 lirc init.d 脚本和屏幕状态更改的一部分调用)

xscreensaver.sh(屏幕保护看门狗,登录时调用)

0 投票
1 回答
424 浏览

cython - 如何将扩展类型从 cython 传递到导入的 C 库

我正在围绕 lirc 库创建一个 cython 包装器。我必须按照教程中的描述包装 lirc_config 结构,但我需要将 a 传递struct lirc_config *给库中的函数。

所以,有问题的结构是(来自/usr/include/lirc/lirc_client.h):

我需要调用的函数是:

这是我的 cython 包装器struct lirc_config

和有问题的行:

config需要是指向结构的指针。这个:

给我错误:

这是有道理的,因为它&正在尝试访问 LircConfig 的地址。

这个:

给我错误:

嗯,我以为我定义config._c_lirc_configcdef lirc_client.lirc_config *。我似乎无法访问struct lirc_config *.

我尝试过强制转换并将公共标记添加到 _c_lirc_config (如扩展类型文档底部所述)。

我不知道如何调用该lirc_code2char函数,因为 cython 不会让我访问 struct lirc_config 指针。那里有 Cython 专家吗?

0 投票
1 回答
2117 浏览

linux - 未找到 mode2 命令

我试图在树莓派上加载 LIRC GPIO。尝试这个时

它给

我需要安装一些东西来支持它吗?

0 投票
1 回答
3671 浏览

raspberry-pi - 在 Raspberry Pi 上的 IR 输入上执行 shell 命令

我是 Unix n00b,但我设法遵循了足够的指南来安装 node.js 和 node-sonos-http-api 这允许我执行 localhost/livingroom/play 来启动音乐

我有一个 Nwazet Pi 红外接收器,现在我想用我的电视遥控器控制 Sonos。

我在想我可以以某种方式使用 LIRC 监听传入的 IR,然后根据按下的内容来“curl localhost/livingroom/play”。

知道如何做到这一点以及从哪里开始吗?

0 投票
1 回答
1123 浏览

python - 如何为我的 Python 扩展创建依赖于体系结构的 Debian 包?

我编写了一个Python 3 LIRC扩展,因为 pylirc 不适用于 Python 3。我正在尝试将它打包到一个 Debian 包中,并且已经成功地创建了包python3-lirc_1.2.0-1_all.debpython-lirc_1.2.0-1_all.deb. 软件包安装良好,但仅适用于编译它们的特定架构。

所以python3-lirc_1.2.0-1_all.deb当它在我的笔记本电脑上编译时可以在我的笔记本电脑上python3-lirc_1.2.0-1_all.deb工作,当它在我的 Raspberry Pi 上编译时可以在我的 Raspberry Pi 上工作,但每个包都依赖于架构。

我可以在分发包之前重命名它们:

但这似乎不是正确的方法。我需要设置的 debian/{control,rules} 文件中是否有任何标志?通常这是自动处理的。

这是我的 debian/控制文件:

这是我的 debian/rules 文件:

0 投票
1 回答
102 浏览

c - LIRC 零键码 0x10001d0f

我正在使用 LIRCD 来捕获我在遥控器上按下的键。我能够捕获除零以外的所有键,当我按零时它根本没有响应。这就是我在 lircd.conf 中的内容。除零外,所有键都在工作

0 投票
2 回答
2575 浏览

lirc - LIRC - 如何用作键盘命令?

我对 Debian 中的 LIRC 有疑问。我现在搜索了几天,找不到任何解决我的问题的方法。

是否可以使用 IR-Remote 发送键盘指令?

我将解释:我在 shell 脚本中使用“读取”功能。所以,即我按“T”键发生了一些事情。现在我想通过 LIRC 发送相同的“T”,以便 shell 脚本也可以与遥控器一起使用。

另一种方法是,不是在 shell 脚本中,而是在我的 C 程序源中。在这里我使用这样的代码:

所以如果按下键盘上的按钮“t”,就会发生一些事情。

我希望有人可以帮助我使用 LIRC,因为我无法理解 LIRC 网页上的描述。每个示例都基于它们已经支持 lirc 命令的程序。

非常感谢你问候托马斯

0 投票
1 回答
436 浏览

linux - LIRC 36 kHz 调制功能在哪里?

我想修改 LIRC 以输出非调制信号(没有 36-39 kHz 调制)。我正在查看 irsend.c,但看不到硬件控制代码。它一定在 lirc 主文件中的某个地方。有什么提示吗?