M5Stack计算机的终极遥控器
扫描二维码
随时随地手机看文章
M5Stack计算机上的终极远程
刚开始的时候,我对红外通信毫无经验。所以我做的第一件事是深入研究红外协议是如何工作的,定时,脉冲,载波频率,编码。只有在我理解了基本原理之后,我才开始考虑实现。
我想把整个红外数据库,数千个。ir文件分散在数百个文件夹中,打包到一个手持设备中。真正的挑战不只是将文件复制到SD卡上;它将该文件结构解析为闪电般的C数据模型,因此固件永远不会感觉正在加载。
但目标不仅仅是速度,还在于确保完整的数据库可以直接包含在固件中,让用户甚至不需要SD卡就能立即访问数千个远程服务器。
我设法生成了两个包含整个数据库的。h文件:
一个用于命令定义
另一种是将原始红外信号数据作为一个大的C结构:一个制造商列表,每个制造商都包含自己的遥控器列表,而遥控器又包含一个红外命令列表。
remotecomcommands .h包含30321条命令,RemoteData.h包含141598行IR数据。
协议支持和IR编码
为了支持如此广泛的远程和命令,我需要一种方法来为每个协议准确地编码IR信号。我最终改编了John Fine在2004年写的一段c++代码。他的工作包括定义和生成从原始数据到Pronto十六进制字符串的红外信号的逻辑。下面是系统中使用的一个简单的Pronto十六进制字符串的例子
这种格式定义了一个完整的红外信号,包括载波频率、定时单位和开/关脉冲序列。通过解码和生成这样的字符串编程,固件支持精确的,协议精确的传输为大范围的设备。
用户界面设计
用户界面从头开始设计,让人感觉快速和直观。有成千上万的远程浏览,流畅的导航是必须的。我确保用户可以通过尽可能少的操作从主菜单切换到正确的命令,并提供收藏夹、扫描仪和快捷键等有用的功能。对于普通用户来说,它足够简单,但对于技术环境中的快速远程切换,它的响应性和功能足够强大。
为什么电脑是完美的选择
让Cardputer在这个项目中大放异彩的不仅仅是内置的红外LED,还有集成的键盘。通过输入几个字母就能快速搜索到一个品牌,这让浏览一个庞大的远程数据库变得异常顺畅。不需要无休止地滚动。与明亮的显示屏相结合,它为远程狩猎这样可能乏味的事情创造了一个响应迅速、令人愉快的用户体验。
功能概述
•广泛的数据库:包含3 498远程配置文件从636制造商开箱即用。
•协议支持:了解60+ IR协议,从NEC和RC5到晦涩的Kaseikyo口味。
•大规模命令集:超过30 000个单独的命令准备传输。
•SD卡支持:浏览存储在SD卡上的额外远程无限扩展。
•扫描和查找:自动扫描模式通过远程循环,直到您的设备响应,然后让您保存匹配。
•收藏夹:引脚多达40个遥控器,以闪电般的速度访问(加上已包含的40个默认值)。
•文件兼容性(.ir):从Flipper - IRDB读取。ir文件,因此您可以重用Flipper社区的庞大库。
•文件夹导航和搜索:跳过文件夹,键入搜索,并立即加载远程。
本文编译自hackster.io