切歌请按3或4!我把树莓派装进了旋转电话里,现在它成了一部MP3

简介: 切歌请按3或4!我把树莓派装进了旋转电话里,现在它成了一部MP3

旋转电话这个东西,相信大家看好莱坞老片的时候经常能看到。

文摘菌小时候觉得旋转电话比现在的普通电话酷多了,要是自己能有一个就好了。

无奖竞猜:这是哪部电影?

这样的幸运降临在了一个名叫gardines的博主身上。

一次偶然间打扫阁楼的机会,他就发现了这么一个老式旋转电话,而且似乎功能尚好。

考虑到家里并不怎么缺一个电话,于是他突发奇想,决定在里面放一个树莓派,把这个电话改装成一个MP3播放器。

他的目标是尽可能保留电话的原貌,所以可以看到,外观上的主要变化在背面的端口,从模块化的电话插孔改装成了现在的微型USB。

同时,他还在手柄上加了一个开关,主要控制树莓派的电源。不过从最终结果上来说,这个开关反而在使用舒适度上成了减分项。

秉承着尽可能保留外观的想法,MP3的扬声器也被安装在了耳机里。

成品如下图所示:

是不是有亿点心动?

接下来,就和文摘菌一起来看看,这个过程到底是怎么完成的吧~

必要的准备工作

整个项目需要用到的配件如下图所示:

然后就,话不多说直接上!

首先,清空电话内部的所有部件,然后切一块聚碳酸酯板,将树莓派安装在远离金属底座的地方。博主用了裁纸刀进行切割,并在一半的地方打上刻痕,在切口处切开。切割模板如下图所示:

下图是实际使用的板材。可以看到,还是有一些失误的,比如右上角的标签被弄坏了,除此之外,打孔的位置也存在一些误差。

然后用螺丝把树莓派固定在板材上,将其安装在电话底座上:

基本上,挂钩、旋转和拨号可以视为独立的开关。当接收器在挂钩上时,挂钩开关是打开的,当接收器被提起时,挂钩开关关闭。当转盘处于默认位置时,转盘开关是打开的,当转盘从默认位置移开时关闭。旋转开关停在关闭位置,然后打开和关闭的次数与所拨的号码一样多。

于是,用跳线将每个开关都连接到一个GPIO引脚上。每个开关都包括一个10k欧姆的电阻。

同时,为了便于连接和断开线路,要用胶水把跳线终端粘在一起,于是做出了一条“彩虹线(rainbow cable)”。

在这里选择一排GPIO引脚,它们都在一条线上。具体来说,连接到了引脚9、11、13、15和17,其中包括一个接地(引脚9)和一个3.3V(引脚17),以及它们之间的三个GPIO引脚。

于是就有了连线旋转引脚11,拨号引脚13和挂钩引脚15,如图所示:

接收器和电源

接下来,从接收器上拆下扬声器和麦克风,换上新的扬声器,用捻线把它们系在立体声音响上。

不过,事后看来,保留麦克风,只用单声道音频可能会更有趣。

在装上新扬声器后,接收器质量减小,不能把挂钩固定在支架上了,因为弹簧会把它推回去。于是在这里还需要给接收器加上一些镇流器。

而整个项目中最难搞的,就是焊接电源线了。

需要有两个插座携带电力,于是将其装在整个装置后面。插头相较而言更小但总算是能用的。

将Arch装在SD卡中

然后,从archlinuxarm.org下载可用于树莓派的Arch OS。

然后,在linux机上执行所有后续步骤。

下面是linux上的命令:

wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-latest.zip
wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-latest.zip.md5
cat ArchLinuxARM-rpi-latest.zip.md5md5sum ArchLinuxARM-rpi-latest.zip
md5sum ArchLinuxARM-rpi-latest.zip

最后两个命令输出的32个字符应该匹配,否则可能会发生一些奇怪的事情。

将图像写入SD卡,使用的是:

unzip ArchLinuxARM-rpi-latest.zip
dd bs=1M if=./ArchLinuxARM*.img of=/dev/sdX # replace X with location of SD card

这需要等一小段时间。

由于写入SD卡的图像只有2G,为了利用额外空间,还可以调整一下分区大小。

软件的启动和安装

到这一步的时候,把SD卡放在树莓派上,连接网线,启动。

应该就能看到树莓派上的一些灯在闪烁。

不过,由于树莓派上没有连接显示器/键盘,需要通过ssh进行远程连接:

ssh root@alarmpi.local

更新操作系统软件并安装所需软件:

pacman -Syu nodejs rsync parallel mpc mpd espeak alsa-utils git

系统会提示按“Y”或回车继续,然后会下载并安装几个软件包。

当该命令完成时,配置现在可以使用的软件:

bash /usr/lib/node_modules/piphone/config_mpd.sh
bash /usr/lib/node_modules/piphone/install_crontab.sh

然后重新启动,但是不要关闭ssh会话。

只要你的linux机上有MP3文件,你可以用以下命令把它们放到树莓派上:

在Pi上:
mkdir -p /var/lib/mpd/music
在linux机上:
rsync -av /path/to/music/* root@alarmpi.local:/var/lib/mpd/music/

当这个命令完成后,运行以下命令:

refresh_mpd

当命令完成后,就可以关闭树莓派了:

halt

这个时候,如果你看到闪烁的灯逐渐减少,最终只剩下一个灯,这表明电源已经连接。

然后,断开电源和网线的连接。连接GPIO引脚,把耳机插入音频插孔,把电源线从机箱接到树莓派上。

然后关上机箱,这时你应该能够将微型USB线插入手机背面,片刻之后,就一切准备就绪了。

在默认设置中,关机可以拨打“1178”,不过由于软件中的一些错误,可能需要多拨几次。

其他的命令如下:

1:轻声播放当前歌曲
2:大声播放当前歌曲
3: 轻声播放下一首歌曲
4: 大声播放下一首歌曲
5: 轻声播放前一首歌曲
6: 大声播放前一首歌曲
7,8,9,0:按标题搜索歌曲并播放。

播放完一首歌曲后,手机将停止并等待进一步的指令。

怎么样,本来就炫酷的旋转电话现在变得更酷了,你有什么类似的经验吗,欢迎来评论区和文摘菌分享~

相关报道:
https://www.instructables.com/Raspberry-Pi-in-Rotary-Phone/

相关文章
|
Unix 编译器 Linux
CMake Install:深度解析与实践(一)
CMake Install:深度解析与实践
1316 0
|
网络协议 Ubuntu Linux
linux网络配置文件
Linux网络配置文件因发行版不同而异:Ubuntu使用`/etc/network/interfaces`,Red Hat系列采用`/etc/sysconfig/network-scripts/ifcfg-ethX`,CentOS用`/etc/sysconfig/network`设置主机名和网关,`/etc/resolv.conf`配置DNS。其他文件如`/etc/hostname`和`/etc/nsswitch.conf`也影响网络设置。编辑这些文件时,记得先备份,并可能需重启网络服务以应用更改。具体操作应参考相应Linux发行版的文档。
665 1
|
6月前
|
Ubuntu Linux
查看Ubuntu版本的方法:
无论您是系统管理员还是普通用户,以上几种方法都可以很快地提供您所需的系统版本信息,并可以帮助您在需要进行系统升级或是向技术专家报告问题时,快速准确地提供系统详情。
1570 7
|
计算机视觉
树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)
树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)
树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)
|
机器人 异构计算 SoC
实例2:树莓派GPIO控制外部LED灯闪烁
本文是一个关于使用树莓派GPIO控制外部LED灯闪烁的实验教程,介绍了树莓派的基本概念、GPIO接口的使用、RPi.GPIO库的基本操作,以及通过Python编程实现LED灯周期性闪烁的详细步骤和代码示例。
888 1
实例2:树莓派GPIO控制外部LED灯闪烁
|
算法 IDE 开发工具
c语言的经典算法代码
c语言进阶11-经典算法代码
|
JSON Kubernetes API
使用FastAPI部署Ultralytics YOLOv5模型
YOLO是You Only Look Once(你只看一次)的缩写,它具有识别图像中的物体的非凡能力,在日常应用中会经常被使用。所以在本文中,我们将介绍如何使用FastAPI的集成YOLOv5,这样我们可以将YOLOv5做为API对外提供服务。
897 5
树莓派换源教程 树莓派4B换源教程
树莓派换源教程 树莓派4B换源教程
1666 2
|
编解码 Oracle 关系型数据库
【VNC】修改VNC分辨率大小
【VNC】修改VNC分辨率大小 VNC的分辨率过小有可能导致图形化界面操作过程中遇到“确认键或取消键”无法点击,分辨率过高又可能导致低分辨率客户端显示器无法显示。
25125 1
|
开发工具 git
openwrt编译
openwrt编译
588 1