本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

国外大神教你自制WIFI信号放大器

发布时间:2021-12-09
分享到:

国外大神教你自制WIFI信号放大器

发布时间:2021-12-09
分享到:

几年前我从一个朋友那里买了一个 XMS 放大器,虽然它有它的用途,但每次改变输入时都必须切换响度功能,我感到非常沮丧。这是现在成为我的网络启用放大器的开始。最初,我打算在放大器的输入切换时自动永久开启响度功能,所以我买了一个 USB-UIRT,这样我就可以使用它(通过红外线)来改变放大器输入,然后将响度功能切换为一个单一命令。我很高兴我可以通过计算机/鼠标点击等触发命令。然后我打开放大器,令我高兴的是发现主音频处理器/混音器是一个支持 i2c 的 4 通道 PT2314!从现在开始,这改变了游戏规则,我不仅可以按照我最初的意愿去做,我现在可以通过 i2c 完全控制放大器,只需移除原来的控制板和显示器即可。Raspberry Pi 是该项目的自然选择,因为它 本机支持 i2c 并且只需要一个 USB WiFi 加密狗就可以让它联网。

组件清单:
数量         组件名称
1    ×    基于PT2314的放大器
2    ×    带 LED 指示灯的开关(一个有一个黄色 LED 用于循环输入,另一个有一个红色 LED 用于静音)
1    ×    基于 HD44780 的 2x16 LCD 带背光
1    ×    Si470x i2c 无线电模块
1    ×    3.3v <--> 5v 逻辑电平转换器(用于将 RPi 与 PT2314 耦合)
1    ×    树莓派
2    ×    0.1uF电容(与旋转编码器一起使用)
1    ×    旋转编码器(用于音量控制)
2    ×    200Ω电阻(用于限制来自 RPi 的两个 LED 的电流)
1    ×    74HC595(电子元件/杂项 电子元器件)

制作步骤

主要的 i2c 控制软件是用 Python 编写的,并使用单独的线程来更新 16x2 LCD 并从用于音量控制的旋转编码器(从原始控制板中抢救出来)获取位置信息。优秀的 Python Twisted Web 服务器用作 REST 服务器,以 JSON 进行响应。在端口 80 上还有一个 HTML 页面,任何连接到本地网络的人都可以使用它来控制放大器。这是第一个重要的里程碑,我对我的放大器进行了网络控制!

该项目的下一个改进是创建一个 Android 应用程序,该应用程序将通过 REST 网络服务器与放大器进行通信。我完成了这个,但对整体外观/感觉不满意,因为它缺乏很多设计风格。正是在这个时候,我获得了设计师的服务,帮助我获得了更容易接受的控制器外观/感觉。 借助设计师提供的 SVG 和屏幕截图,我在短时间内创建了一个支持 Javascript 的网页,现在可以控制音量、低音、高音和切换静音。 

作为一名工程师,我不能停在这里,现在我有办法在前端通过 HTML/Javascript 添加更多功能并在后端添加更多 Python。下一步是在 Raspberry Pi 上安装 MPD(音乐播放器守护程序)并使用 MPD API 与 HTML 前端进行通信。RPi 的模拟音频输出连接到原始放大器输入之一。这现在使放大器现在也成为一个方便的音乐播放器,连接到我的 NAS 以获取音乐文件源并连接到我的主客厅扬声器。现在要是我能加个收音机就好了……

接下来是将无线电添加到功能列表中,这包括一个 Si470x i2c 无线电模块。添加这个模块对于 Raspberry Pi 来说相对简单,但由于某种原因,两个 i2c 设备不能很好地相互配合。我研究了这样一个事实,即 PT2314 被逻辑电平转换为 5v(从 3.3v),而无线电模块没有。最后,我最终启用了 RPI 上的第二个 i2c 端口(顺便说一句,它禁用了 RPI 的原生相机插槽的使用),从而使两者完全分开。与音乐播放器 (MPD) 一样,无线电模块的模拟输出连接到原始放大器的另一个输入。总体而言,这是添加的最佳功能之一,因为我在电视广告中断期间一直切换到广播。

添加的最新功能是将最后一个原始放大器音频输入连接到标准 RCA 转 3.5 毫米立体声电缆,用作 辅助的。与已经添加的其他更复杂的功能相比,添加它是微不足道的。过来的朋友现在可以轻松地将他们的音频源连接到主扬声器。

从电子方面来看,如上所述,PT2314 使用 5v <--> 3.3v 逻辑电平转换器耦合到 RPi。16x2 LCD 显示屏(带背光)用于显示当前选择的放大器输入,并且诸如音乐播放器之类的输入具有滚动文本,在第二行显示当前正在播放的歌曲。该 LCD 最初是通过 RPi 直接控制的(通过 4 线数据 + 1 条使能控制线)。从那时起添加的其他功能已经看到 LCD 通过 74HC595 移位寄存器控制,这将所需的总 IO 减少到仅三个。音量控制旋转编码器直接连接到 RPi 并通过软件解释运动。前面板上只有两个按钮,因为我希望尽可能减少物理控制。两个按钮上都有一个 LED 指示按钮已被按下,这当然需要来自 RPi 的另外两个 IO。顶部按钮切换静音功能,底部按钮在可用输入之间循环。我希望静音功能具有的一项特殊功能是,当放大器静音时,它不受音量变化的影响。朋友们的反馈是,仅此功能就值得一试!您将设备(例如电视)静音多少次,因为它太吵了,只能在调低音量时处理相同级别的音频,因为这样做会使设备取消静音。RPi 的电源是重新设计的三星充电器,它有足够的电流来运行 RPi、USB WiFi、LCD、逻辑电平转换器、移位寄存器、按钮 LED 和 i2c 无线电模块。

下一步计划努力添加更多功能。我从 eBay 购买了一个便宜的 HDMI 切换器,我可以用它来切换 HDMI 输入,例如 PS4 / TV / XBox 等。 RPi 能够发送和接收 HDMI-CEC 命令,所以我升级后就可以使用了我的电视,以便它能够执行这样的命令来切换电视台/更改电视输入等。我考虑在混音中添加一个 USB-DVB-T,但觉得这对放大器来说进入了不同的领域,因为它会不仅需要更多的电源来运行,这意味着向 RPi 添加一个 X 会话,它目前在运行优秀的 Linux 发行版 Arch Linux 时运行良好。在这一点上,原始放大器构建使用 Raspbian 发行版,但启动时间超过 120 秒!

感谢您的阅读和关注。

外文原文:点击进入
声明:本文由Hackaday授权电路城翻译,系电路城的原创内容,转载请注明出处! 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论