OrangePi第一次配置
入手了OrangePi Zero玩玩,已经把他做成了智能音箱了,结果不知道怎么回事就突然出问题了。之前一直都是通过WiFi连接SSH服务器来控制OrangePi Zero,现在的情况是WiFi刚连上就死机了。
OrangePi Zero已经用胶粘在音箱里了,TF卡可以取出来,但是网口没有空间插网线了。突然想起来手上还有一个CH340(USB转TTL)可以用来连接OrangePi Zero,记录一下不用网线配置OrangePi。
烧入Armbian
官方的Linux镜像已经完全不更新了。还是Armbian好,一直在不断更新,内核也到了5.4
下载OrangePi Zero的镜像,需要注意的是,我强烈推荐Ubuntu版的Armbian,Debian版反应迟缓、经常死机,具体原因不清楚。
然后解压,校验镜像7z e Armbian_*.7z && sha256sum --check Armbian_*.img.sha
接着将SD卡插入电脑,查看SD的分区,如sdXlsblk -p
依次卸载SD卡的所有分区sudo umount /dev/sdX*
等等
烧录镜像sudo dd bs=4M if=[你解压出来的img文件] of=/dev/sdX conv=fsync
TTL连接
将USB TTL的Tx和Rx分别与OrangePi Zero的Rx和Tx连接起来,插入电脑的USB口。
安装并以root身份开启puttysudo apt-get install putty
sudo putty
串口设备选择ttyUSB0,波特率115200,打开串口,然后接通OrangPi Zero的电源,不出意外可以看到串口打印出内核启动的信息了。
连接WiFi
Armbian默认的root密码是1234,设置好新密码后我们就可以连接wifi了nmcli radio wifi on
nmcli d wifi connect YOUR_SSID password YOUR_PASSWROD
然后我们就可以查看IP地址了ifconfig
尝试SSH连接吧,记得运行armbian-config
更换国内软件源
断线重连
为了防止由于WiFi不稳定造成的断线问题,我们可以利用Crontab每分钟检测WiFi连接情况,判断是否要重新连接。sudo crontab -e
追加一行* * * * * ping $(ip route show default | awk '/default/ {print $3}') -c3 || reboot
设置音频输出
不管是树莓派还是其他Pi,ALSA管理的音频输出一直是我头疼的问题。一方面ALSA的配置极其复杂,各种card,device,asound.conf,.asoundrc让人眼花缭乱;另一方面这些开发板音频口底噪都比较大,如果能在软件方面提高音量,那跟从功放端提高音量相比可以减少噪声输出。
对于OrangePi Zero,我赶紧把调好步骤记录下来
1 | /usr/bin/amixer -c 0 cset numid=3 31 |
编辑/etc/asound.conf
1 | sudo tee /etc/asound.conf >/dev/null <<'EOF' |
接着重启即可,然后测试默认音频输出
1 | speaker-test -c2 -twav |
此时应该可以听到轻柔的女声,如果不行就放大招————重装alsa
1 | sudo apt-get --purge --reinstall install alsa-base alsa-utils |
配置硬件看门狗
1 | apt install watchdog |
/etc/watchdog.conf
参考如下
1 | # Defaults compiled into the binary |
接着启用watchdog
1 | service watchdog start && systemctl enable watchdog |