因为有两个内容想要写的,都是而且都不长所以都放在同一篇里面吧。
树莓派广播FM
刚玩了下用树莓派广播FM。用的是PiFm. 可以点这里进行下载(我好像下载的是旧版的。不过可以用就是了,估计没有立体声或者什么的这些特性
tar -zxvf pifm.tar.gz
解压到任意位置。目录中有.c源文件,编译好的二进制文件,测试用的那个星战的wav音乐,还有python脚本。 python里面的使用方法是
import PiFm
PiFm.play_sound("sound.wav")
其实打开PiFm查看里面的代码也就是运行了编译好的二进制文件而已,或许是为了python里面调用方便所以才做成一个模块的吧。
另一种使用方法是直接开pifm.
sudo ./pifm sound.wav 100.0
因为查看源码的话会发现需要mmap直接操作/dev/mem所以需要root权限。 然而从入手树莓派到现在这几年一直都用Archlinux就只用root用户的我似乎并不知道什么是sudo 顺便说个悲伤的事情吧,树莓派上用Archlinux的人似乎并不多,关于树莓派的东西大多数人(99%)都是用官方那个系统吧,所以在其他发行版问题就多了,还没地方问。像之前搞摄像头的时候就遇到raspistill死活都不能正常运行的情况。google了一番才知道是Archlinux本身的问题,之前还有几个解决方案后来似乎成了遗留问题一直没能解决了? 参数1是要进行广播的声音文件,留空静音?设置为-表示接收stdin的数据,用于管道传入数据,参数2是广播的频率,可以从1Mhz到250Mhz,可选参数,默认是103.3。参数3是声音文件的采样率,默认22500hz。
自己试了一下,默认103.3Mhz的频率信号比较弱,距离稍微近点也听不大清楚,而且似乎干扰很严重,后来设置成90Mhz之后就算保持一段距离也能够清楚的听清广播的内容:P网上有人说频率是30的倍数信号都特别强,因为普通收音机只能接收大约88 Mhz~108 Mhz的频率所以其他频率我也不能验证,不过从90Mhz的情况来看确实是这样,还是在没有加天线的情况下。
其他的一些使用方式
sudo ./pifm left_right.wav 103.3 22050 stereo
# Example command lines
# play an MP3
ffmpeg -i input.mp3 -f s16le -ar 22.05k -ac 1 - | sudo ./pifm -
# Broadcast from a usb microphone (see arecord manual page for config)
arecord -d0 -c2 -f S16_LE -r 22050 -twav -D copy | sudo ./pifm -
他大概的一个原理是映射物理内存的外围总线(0x20000000)到虚拟地址的内存空间对外部设备进行操作,启用时钟发生器并设置GPIO4输出.这时后频率设置是100Mhz,收音机原本的噪声会突然变静音,应该是因为树莓派发射的静音信号。然后再把声音数据调制发射出来。按照这原理就算声音文件播放结束之后树莓派仍然还在发射静音
信号,只能重启后清除内存数据才能恢复原样了,否则他就一直射下去..
SSH登录设置
其实之前是设置过的。然后旧电脑升级后系统没了一直也没再去搞。现在觉得每次登录都要输密码太麻烦了就重新设置并记录下来。
经常要对树莓派SSH登录进行管理,而且还经常开了好几个连接,博客更新也是通过树莓派,所以打算直接用公私鈅进行登录认证了。
常用的电脑一个是sutface pro3跑windows一个是台式机跑ubuntu。先从简单的ubuntu开始吧。
Linux
用ssh-keygen生成公私鈅,位于~/.ssh下面
cirno@LoveLive:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cirno/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/cirno/.ssh/id_rsa.
Your public key has been saved in /home/cirno/.ssh/id_rsa.pub.
然后把公钥id_rsa.pub里面的内容添加到树莓派用户目录下的.ssh/authorized_keys里面就行。 再次运行
cirno@LoveLive:~/.ssh$ ssh [email protected]
Welcome to Arch Linux ARM
Website: http://archlinuxarm.org
Forum: http://archlinuxarm.org/forum
IRC: #archlinux-arm on irc.Freenode.net
Last login: Sun Jun 28 01:36:41 2015 from 192.168.1.107
[root@alarmpi ~]#
不用密码直接登录了。
Windows
Windows 下面用的putty进行连接(话说windows接下来都要原生支持ssh了到时候是不是就可以抛弃putty了,不过感觉putty本身设置功能就特别强大了估计windows原生ssh可玩性还不高吧)。 运行puttygen.exe生成公私鈅。指针在空白处移动生成随机内容。生成出来的公鈅保不保存都可以反正可以载入私鈅再生出来。把私鈅保存到找的到的地方,公鈅照样添加到树莓派用户目录下的.ssh/authorized_keys里面。在putty的设置中连接->SSH->认证 中添加刚才保存的私鈅,把设置保存到树莓派的会话中就行,打开会话输入用户名就能够自动认证登录进去了。q(≧▽≦q)