10浏览
查看: 10|回复: 0

[K10项目分享] 行空板K10制作网络收音机

[复制链接]
本帖最后由 topdog 于 2026-6-8 23:26 编辑

行空板K10凭什么做出千元商用网络收音机的声音?这篇文章从物理原理出发,讲清楚传统收音机和网络收音机的本质区别,以及 K10 是怎么做到的。
一、传统收音机:捕捉空气中的电磁波
它是怎么工作的?
广播电台把声音信号"骑"到高频载波上——这叫调制。以 FM 为例,声音的强弱变化被转换成载波频率的微小偏移(频偏),然后通过发射塔以几百到几十千瓦的功率广播出去。
收音机这边,一根拉杆天线捕捉到微弱的电磁波,经过选频(选出你要的那个频率)、放大(信号太弱了)、解调(把声音从载波上"卸"下来)、功放(推喇叭),你就听到了声音。
声音 → 调制 → 发射塔 → 电磁波 → 天线接收 → 解调 → 喇叭

这条路的天花板在哪?

  • 距离:FM 有效覆盖半径通常 50-100 公里。发射功率、天线高度、地形决定了你能听到多远。出了城,本地台就没了。
  • 干扰:高楼反射造成多径干扰,雷雨天气电离层扰动,隧道里直接没信号。FM 是模拟信号,干扰无法修复。
  • 电台数量:一个城市的 FM 频段(87.5-108MHz)以 200kHz 间隔划分,理论上能塞 100 个台,但实际上为避免邻频干扰,一个城市通常只有二三十个。
  • 音质:FM 频响上限约 15kHz,本身就有带宽损耗。而且模拟传输链路中每一级放大都会引入噪声。

二、网络收音机:不走电磁波,走互联网
原理完全不同
网络收音机没有天线——或者说,它的"天线"是 WiFi 模块。它不接收空中电磁波,而是通过 TCP/HTTP 协议从互联网上的流媒体服务器拉取数据。
电台把音频实时编码成 MP3 或 AAC 数据包,服务器通过 CDN 分发。你的设备连上 WiFi 后,向服务器发起 HTTP 请求,服务器持续返回音频数据流,设备边收边解码边播放。
音频源 → MP3/AAC 编码 → 流媒体服务器 → CDN → 互联网 → WiFi → HTTP 拉流 → 解码 → 喇叭质的飞跃
  
维度
  
  
传统 FM 收音机
  
  
网络收音机
  
  
信号载体
  
空中电磁波
互联网数据包
  
覆盖范围
  
50-100 公里
全球,有网就能听
  
电台数量
  
本地二三十个
理论无限,本项目内置 99 个精选台
  
音质
  
FM 带宽受限(~15kHz)
MP3/AAC/FLAC,可达 CD 级
  
元数据
  
ICY 协议实时推送歌名、艺人
  
抗干扰能力
  
受天气、建筑影响
只依赖 WiFi 质量,TCP 重传保证完整
  
硬件门槛
  
模拟电路复杂
一片 WiFi SoC + 音频 DAC 即可
关键差异:传统收音机是模拟广播——信号在传输过程中持续衰减、引入噪声,不可修复。网络收音机是数字传输——数据包有校验、丢包可以重传,到你耳朵之前没有任何质量损失。

三、K10 是怎么实现的?
硬件架构
K10 板载 ESP32-S3 芯片,集成了:

  • 2.4GHz     WiFi — 负责网络连接
  • 双核 Xtensa LX7 @ 240MHz — 一个核跑音频解码,一个核跑 UI
  • 8MB     PSRAM — 音频缓冲和流数据处理
  • I2S     数字音频总线 —     直连功放,无模拟损耗
外围:ILI9341 320×240 彩屏 + XL9535 IO 扩展(按键)+ NS4168 D 类功放
软件数据流WiFi STA 连接路由器  ↓HTTP GET 请求电台流媒体 URL  ↓ESP32-audioI2S 库逐块接收 MP3/AAC 数据  ↓软件解码(MP3/AAC/FLAC/OGG 全支持)  ↓PCM 原始音频 → I2S 总线(BCLK=0, WS=38, DOUT=45)  ↓NS4168 D 类功放 → 喇叭关键技术点
双核 FreeRTOS 架构:Core 0 专跑音频任务(audio.loop() 每 10ms 一次,解码 + 喂功放),Core 1 跑 UI(按键、显示刷新、WiFi 事件、Web 服务器)。两个核通过 spinlock 保护共享变量交换命令和状态,互不阻塞——按键永远秒响应,不会因为音频卡住。
ICY 元数据协议:国际电台的流媒体服务器在 MP3 帧间隙插入元数据块,包含当前播放的歌名、艺人。ESP32-audioI2S 库自动解析并通过回调推送,K10 在屏幕上实时滚动显示——传统收音机永远做不到这个。
Web 配网:ESP32-S3 同时启动 AP + STA(APSTA 模式),手机连上 K10 的热点 k10-radio-XXXX,浏览器打开 192.168.4.1 输入WiFi 密码。凭据存入 NVS 闪存,之后开机自动重连。这是从 K10_VLM 项目借鉴的配网模式,无需任何物理按键或串口操作。
纯数字音频链路:从流媒体服务器的 MP3 数据,到ESP32 软件解码,到 I2S 总线,到 D 类功放——整条链路没有一处模拟信号转换。这也是为什么一台不到 200 元开发板的音质能比肩千元级商用网络收音机:数字链路天然零底噪

四、项目亮点一览
  
特性
  
  
说明
  
  
国际电台 20 个
  
Jazz/Classic/Oldies/Pop,全带 ICY 歌名
  
国内电台 79 个
  
央广 + 各省市音乐广播,蜻蜓 FM 源
  
Web 配网
  
手机连热点,浏览器输入密码即可
  
手机遥控
  
连 WiFi 后浏览器访问 K10 IP 调音量、切台
  
双按键
  
短按切台、长按切列表/调音量/关机
  
自动跳过死台
  
15 秒超时自动跳下一个
  
16MB 合并镜像
  
merged.bin 一键烧录,方便分享

五、烧录即用1,固件分享链接:https://cloud.189.cn/t/mEZ7vqryEjue(访问码:7sic)
2,下载 Internet_Radio_Share.ino.merged.bin(16MB),用 esptool 写入地址0x0:
esptool.py --chip esp32s3 --port COM7 --baud 921600 write_flash 0x0 Internet_Radio_Share.ino.merged.bin

3,用 ESP FlashDownload Tool(Windows GUI),选ESP32-S3,地址填 0x0。
开机 → 手机连热点 k10-radio-XXXX → 浏览器 192.168.4.1→ 输入 WiFi → 开始听。

行空板K10制作网络收音机图1






您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2026 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail