带橙色Pi的Airplay接收器。 如何使HiFi音响系统无线化。

我是一个音乐迷,我喜欢以小价格获得高质量的结果。 这个故事就是这样发生的。

首先,我的妻子给了我一个惊人的生日礼物:Heco音乐风格的扬声器。 我很高兴能像没人一样开心,但是我那令人讨厌的Audioplile头脑却有了一个让生活更加幸福的想法。 我想用Airplay / Spotify无线魔术播放音乐。

要求:

  • 连接到WiFi并与Airplay配合使用的设备
  • 产生可接受的音质
  • 预算少于100欧元(最好少得多)

选项:

  • 准备使用高品质的接收器,价格为400–800欧元,例如Denon DRA或某些Yamaha。 缺点 :庞大而昂贵。
  • 第三代二手Apple TV售价70欧元。 缺点 :内置低质量的声音,没有任何选择可以改善它。
  • Apple Mac mini 2007,价格为55-70欧元。 优点 :有USB,因此可以插入很多外部声卡,原生支持Airplay和Spotify。 缺点 :已有10年历史,最大支持的操作系统是10.7.5(当前是5代历史,现代的Spotify OSX客户端需要10.9+)。
  • Raspberry PI为30Euro +外部声卡。
  • 橙色PI售价13欧元(官方速卖通)。 与上述相同,但便宜2.5倍。

如您所料,我愿意选择最便宜的选择。

我还必须找到一个声卡。 有适合Raspberry PI的声卡列表,我选择了Creative SoundBlaster Play 2(我在eBay上偶然得到了20欧元)

摘要:

  • 橙色PI Lite-13欧元
  • Creative SoundBlaster Play 2 — 20欧元
  • Micro SD U3卡32GB — 13欧元
  • 电源线USB至4.0×1.7 — 4欧元(原文如此!)

50欧元 ,还不错! 特别考虑到我可以重复使用声卡和SD卡。

橙色PI

Orange PI有很多版本,在为它寻找操作系统时,请记住这一点。 我有一个Orange PI Lite(在此处查看完整规格),大部分与Raspberry PI 3相同。

不同之处在于:

  • 它具有更少的RAM(512MB和1GB)
  • 它具有更强大的CPU(可以播放4k视频流,Raspberry PI只能播放1080p @ 30fps)
  • 它内置WiFi
  • 没有以太网
  • 它需要更多的功率(至少1.5A,否则在我的情况下WiFi无法正常工作)。 使用iPad 2.1A电源时效果很好。

简介:WiFi具有巨大的优势,无需额外花费5–10欧元购买WiFi USB donlge。

这里有很多有用的信息(俄语)

现在我需要几个晚上才能完成这项工作。

将图像刻录到OSX上的Micro SD卡

我尝试了错误的Raspbian(用于Orange PI Zero),正确的Raspbian(用于Orange PI Lite)和Armbian 。 只有最后一个可以正常工作。

  1. 下载图片https://www.armbian.com/orange-pi-lite/
 #文件名: 
#Armbian_5.35_Orangepilite_Ubuntu_xenial_default_3.4.113_desktop.7z
酿造安装p7zip xz
7za e Armbian_5.35_Orangepilite _ *。7z

然后,根据http://rayhightower.com/blog/2015/11/27/orange-pi-mini-2-setup-for-mac-os-x/

2.插入SD卡,使用discutil列表找到它(注意大小)

 $ diskutil list 
...
/ dev / disk2(外部,物理):
#:TYPE NAME SIZE IDIFIFIER
0:FDisk_partition_scheme * 31.0 GB磁盘2
1:Linux 30.7 GB disk2s1

3.卸载它(从步骤2中获取磁盘名称)

 $ diskutil unmountDisk /dev/disk2 
Unmount of all volumes on disk2 was successful

4.烧!!! (注意映像名称和磁盘名称)

  sudo dd if= Armbian_5.35_Orangepilite_Ubuntu * .img of=/dev/disk2 bs=1m 

5.轻轻弹出,保持良好状态。

橙色PI设置

  1. 通过USB到以太网适配器将Orange PI连接到Internet,然后稍等片刻。 用户名和密码为:

root / 1234

系统将要求您更改root密码并创建一个非root用户

2.打开终端,进行一些改进:

  apt-get更新 
apt-get升级
  #首先修复语言环境 
apt-get install-重新安装language-pack-en -y
语言环境
回声“ LC_ALL = C” >> / etc / environment
dpkg-重新配置语言环境
  #启用交换文件(默认情况下禁用) 
sudo swapoff -a
须藤rm / var / swap
  #选择交换文件的位置和大小,例如SD卡上的512Mb: 
须藤dd if = / dev / zero bs = 1M count = 512 of = / var / swap
须藤chmod 0600 / var / swap
须藤/ sbin / mkswap / var / swap
须藤nano /etc/sysctl.conf
#将vm.swappiness = 0更改为vm.swappiness = 32并保存

有一个选项可以限制CPU频率:

  h3消耗-m 1000 
h3消耗-p
  #有效设置: 
#cpu允许1008 MHz,可能1200 MHz,活动4核

也有使用散热器的建议。

3.然后通过主机名通过SSH对其进行访问(参考:https://jaimyn.com.au/connect-armbian-orange-pi-without-ip/)

注意:在最新固件中,默认情况下可以使用

  #安装avahi守护程序 
apt-get install avahi-daemon
  #现在登录,尝试在您的笔记本电脑上进行SSH: 
ssh root@orangepilite.local
  #在以下文件中将“ orangepilite”更改为其他名称(如果需要): 
#/ etc / hostname
#/ etc / hosts

4.连接到WiFi

  $ root @ orangepilite:〜#nmcli dev wifi 
SSID模式CHAN RATE信号条安全
  MacNetwork Infra 7 54 Mbit / s 67 *** WPA2 
  evdoty Infra 12 54 Mbit / s 50 ** WPA1 WPA2 
  SN_103_3 Infra 11 54 Mbit / s 49 ** WPA2 

如果您在此处看到一个空白列表,并且确定有WiFi,则很可能是您的电源不足(请记住,我提到它至少需要1.5A的电流)。

有时,我的Orange PI在没有任何理由(对我来说很明显)的情况下无法启用WiFi,在这种情况下,重新启动会有所帮助。

如果重启没有帮助,请尝试使用外部USB WiFi加密狗,并开始认为Raspberry PI的价格可能高出2.5倍。

如果您在此处看到您的网络,请尝试连接:

  nmcli设备wifi连接“ MacNetwork”密码“ mypassword” 

如果对我来说工作正常,并且可以选择验证状态:

  root @ orangepilite:〜#nmcli设备状态 
设备类型状态连接
wlan0 wifi已连接MacNetwork
lo回送不受管-

5.设置声卡

将声卡插入USB,然后

  #检查系统日志 
尾-f / var / log / syslog
#将会出现一条消息,表明已连接音频设备
  #将您的用户添加到`audio`中,以防万一 
sudo adduser根音频
  #检查您的声卡是否可用 
root @ orangepilite:〜#播放-l
  ****播放硬件设备列表**** 
卡0:音频编解码器[音频编解码器],设备0:SUNXI-CODEC sndcodec-0 []
...
卡1:sndhdmi [sndhdmi],设备0:SUNXI-HDMIAUDIO sndhdmi-0 []
...
卡2:S2 [Sound Blaster Play! 2],设备0:USB音频[USB音频]

好的,我们的设备是#2。 让我们将其设置为默认值。 编辑/etc/asound.conf

  defaults.pcm.card 2 
defaults.ctl.card 2

基本上,这足以使外部声卡默认工作。 但是,如果您想进行微调,请添加以下内容(在某些俄罗斯论坛中找到)

  pcm。!默认{ 
型插头
slave.pcm {
dmix类型
ipc_key 1024
奴隶 {
pcm“ hw:2”
#rate 48000#仅支持48khz的USB DAC需要此行
period_time 0
period_size 1920
buffer_size 19200
}
}
}
  ctl。!default { 
输入硬件
卡2
}

然后重启并测试

 重启 
  #让我们看看它是否有效,您应该听到嘈杂的声音 
演讲者测试

您可以在alsamixer中更改输出音量

  alsamixer 
#使用箭头更改音量并按ESC退出
 # save settings 
alsactl store

6.安装Airplay守护程序

聪明又聪明的人自由使用了软件,使设备可以充当Airplay接收器。 它在这里:https://github.com/mikebrady/shairport-sync

  Add-apt-Repository PPA:dantheperson / shairplay-sync 
apt-get更新
apt-get升级
apt-get install shairport-sync
重启

现在,在设备列表中查看iPhone中的音乐播放或Spotify,您应该会看到orangepilite

如果您很幸运,应该可以播放音乐。 但是,如果像我一样,您每隔5秒就会听音乐一会儿。 这意味着我们必须从源代码构建sportport(在Orange PI上,这出奇的快)

安装构建依赖项(我们将使用OpenSSL为ALSA后端构建)

  #删除已安装的版本 
apt-get remove shairport-sync
  apt-get install build-essential git xmltoman autoconf automake libtool libdaemon-dev libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev 
  git clone https://github.com/mikebrady/shairport-sync.git --depth 1 
  cd shairport同步 
autoreconf -i -f

现在让我们配置shairport。 我使用以下构建标志:

  • with-alsa-使用ALSA(高级Linux声音体系结构)。 替代方法是PulseAudio,但ALSA距离硬件更近,并且在我发现的所有示例中都使用了beeing。
  • with-avahi-使用Avahi联网服务(该软件可在您每次处理.local域时使用的本地服务中帮助发布和发现服务)
  • with-ssl = openssl-使用OpenSSL
  • with- systemd-支持在引导时启动Shairport Sync
  • with-metadata-不知道,只是在这里找到
  ./configure --with-alsa --with-avahi --with-ssl = openssl --with-systemd --with-metadata 

如果一切正常,现在是时候安装它了。 我更喜欢使用checkinstall

 检查安装 

您将被问到一些随机的问题,有时您会看到

 该软件包将根据以下值构建: 
  0-维护者:[root @ orangepilite] 
1-摘要:[AirTunes模拟器。 带音频同步的多房间]
2-名称:[shairport-sync]
3-版本:[3.1.7]
4-发布:[1%{?dist}]

如果在“发布”部分中看到相同的蠕变值,则将其更改(例如为1)

 输入数字以更改其中任何一个,或按Enter键继续:4 
 输入新的发行号: 
>> 1

毕竟你应该看到

 做完了 新软件包已安装并保存到 
/root/shairport-sync/shairport-sync_3.1.7-1_armhf.deb
您可以随时使用以下方法将其从系统中删除:
dpkg -r shairport-sync

这就是为什么我使用checkinstall而不是make install的原因 -可以选择使用dpkgapt删除软件包

现在让我们在启动时启动服务并运行它

  systemctl启用shairport-sync 
服务shairport同步启动

7.安装Spotify客户端(TBD)

还有一个选项可以安装Spotify客户端,但是我还没有尝试过。

dtcooper / raspotify
Just Works™的Raspberry Pi的Spotify Connect客户端– dtcooper / raspotify github.com

8.蓝牙接收器(TBD)

Arkq / bluez-alsa
蓝牙音频ALSA后端。 通过在GitHub上创建一个帐户为Arkq / bluez-alsa开发做出贡献。 github.com

apt-get install libglib2.0-dev libbluetooth-dev

https://learn.adafruit.com/install-bluez-on-the-raspberry-pi/installation

wget https://downloads.sourceforge.net/opencore-amr/fdk-aac-0.1.6.tar.gz

tar xzvf v0.1.6.tar.gz && cd fdk-aac-0.1.6 /

./configure —前缀= / usr — disable-static

使

检查安装

而已。

事情不一定要高估才算很棒。