首先下载python脚本文件

http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz

然后 接着用杜邦线连接至第4针脚充当天线。

在终端执行

sudo python
>>> import PiFm

>>> PiFm.play_sound("sound.wav")

用Raspberry Pi搭建一个豆瓣FM的调频广播台其实并不是一件很困难的事情,为实现这个目标,要解决的两个问题是:

  • 从豆瓣FM网站上下载MP3音乐码流并解码
  • 把音频信号调制成调频信号发射出去

造轮子的事情不要自己做,这两个问题其实已经都解决了:Github上的fmd项目实现了一个通过本地声卡播放豆瓣FM的服务器;这篇文章则介绍了如何写程序对音频信号进行调制并控制Raspberry Pi的GPIO端口把信号发送出去。所以剩下的事就是把它们组合起来就可以了。

组合代码这种脏活累活我也给大家做好了,可以从Github上获取。嗯,这份代码目前的质量是It just works,各位make一下就好,没事就不要vim它了……

git clone git://github.com/lifanxi/fmd.git

代码下载后在Raspberry Pi上可以直接make编译,如果缺少依赖,可能需要安装libcurl4-openssl-dev, libjson0-dev, libmpg123-dev, libao-dev这些依赖包(我用的是Raspbian发行版)。

fmd的使用方法可以参考Github上的说明,我所实现的扩展就是在fmd.conf配置文件中可以把driver配成”pifm”,然后把device配成88MHz~108MHz之间的某个指定的调频发射频率值(这是大多数国家调频收音机所支持的频率范围,如果你有别的无线电接收设备,这个值也可以设成是<250的任意值)来实现FM广播的发射。当driver配成pifm而不是默认的alsa时,fmd就会工作在FM广播模式。

注意,由于FM发射的代码需要直接mmap /dev/mem设备,所以把driver配成pifm让fmd工作在FM广播模式时,需要以root权限来执行fmd。以root权限运行fmd时,注意HOME目录可能会变成/root,所以相关配置文件也得改放到/root/.fmd中。

fmd运行起来后,按照文档的说明,可以telnet到127.0.0.1:10098上或用fmc执行play命令开始广播,把收音机(带收音功能的手机当然也可以)调到device参数所指定的频率上就可以收听了。

raspberry fm电台相关推荐

  1. JavaCV音视频开发宝典:基于JavaCV实现wav音频直播服务,wav在线FM电台直播服务,无需流媒体服务,浏览器原生audio标签直接播放wav直播音频

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 ​ 前言 之前写过了mp3实现FM电台直播服务:<JavaCV音视频开发宝典:J ...

  2. 十分钟快速DIY简易FM电台和收音机

    十分钟快速DIY简易FM电台和收音机 FM简介 实现功能 使用前准备 器件连接 频率调节 广播音乐 无线话筒 总结 原文链接:https://www.yourcee.com/newsinfo/2923 ...

  3. oracle中fm990.9,国内主要FM电台频率数据.doc

    国内主要FM电台频率数据 国内主要FM电台频率数据湖南省 发射地点 电台名称 频道名称 对外呼号 波段 频率 发射功率 KW 广播时间 备注 湖南人民广播电台 新闻频道 调频 91.2 MHz 湖南人 ...

  4. 凤凰FM电台 v7.3.0

    类型:影音播放 版本:v7.3.0 大小:16.8M 更新:2019/3/2 语言:简体 等级: 平台:安卓, 4.0以上 下载地址: 凤凰FM电台 v7.3.0(1) 凤凰FM电台 v7.3.0(2 ...

  5. 现在的FM电台呀,什么玩艺儿

    今天一不小心听了会收音机调频,tnnd 就没听见啥正经的节目,满耳朵的前列腺和各种肝交替出现,像是操着各种口音的媒子和操着其它各种口音的江湖游医占领了晚饭后的电台.wk,这些人医死了人电台是不是也要负 ...

  6. 豆瓣FM电台Chrome扩展——下载

    作为一个豆瓣fm的忠实用户,被豆瓣fm与音乐不期而遇的理念深深吸引. 最近豆瓣推出升级到PRO享受更高品质音乐的服务,升级后确实质量提升明显.但是有个功能仍然没有提供,那就是无法下载喜欢的歌曲. 在对 ...

  7. [No0000F1]js获取喜马拉雅和荔枝FM电台专辑音频

    荔枝FM小书签.txt javascript: (function() {if ($('#down_url')) {$('#down_url').remove();};$(document.body) ...

  8. 基于51单片机调频收音机 FM电台收音机系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.程序源码 七.资料包括 摘要 本文在具体分析了STC89C52单片机的技 ...

  9. 张高兴的 Windows 10 IoT 开发笔记:FM 电台模块 KT0803L

    GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/KT0803L

最新文章

  1. 【设计模式】建造者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  2. Spring集合 (List,Set,Map,Properties) 实例
  3. php 获取服务器,PHP 获取服务器详细信息
  4. 计算机网络课制作双绞线实验,《计算机网络》课程实验——网线制作.pdf
  5. springboot日志配输出路径配置_SpringBoot日志配置详解
  6. Qt之利用事件过滤器在QLabel上画框
  7. 一文教你如何深入机器学习,从编程基础到完整的项目实战
  8. 29. git ignore
  9. 转载——sunlogin远程控制安装bug解决
  10. 递归算法php,PHP递归算法的详细示例分析
  11. 讲解【分布式事务】的一篇良心之作!
  12. 难倒高手了,c语言枚举end的作用是什么?
  13. 离散时间傅里叶变换(DTFT)与离散傅里叶级数(DFS)
  14. SD内存卡禁止写入只读怎么办?另类SPI模式修复坏卡
  15. 20190901笔记默写[mò xiě] write from memory
  16. 刘邦的用人之道!真心服气
  17. threejs粒子效果
  18. 猫眼网历史日票房数据爬取
  19. 什么是机器学习,为什么它如此重要?
  20. 公众号内文章懒得翻,巧用搜索神器轻松搞定

热门文章

  1. 用Particular制作炸出红包的效果
  2. Qt的纽带风格界面实现(最新的Office Ribbon风格)
  3. CAN总线转光纤/CAN光端机在海湾消防报警主机联网中应用
  4. LibreSSL SSL_read: error:02FFF031:system library:func(4095):
  5. 从硬盘这些年的发展说开去
  6. 微信支持搜索后批量删除好友,语音进度条自由拖动
  7. 交互界面设计快速原型设计实验报告
  8. markdown标记语法typora编辑器
  9. 2022年货节盘点:看看你的年货买亏了吗?
  10. Java中static关键字的作用