1 简介:
Raspberry Pi(中文名为“树莓派”,简写为RPi),它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100/1000Mb 以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。 Raspberry Pi B款只提供电脑板,无内存、电源、键盘、机箱或连线。
2 产品型号
目前一共累计推出了:A/A+/B/B+/2代B型/3代B型/3代B+型,推荐买最新的3B+,大概270块左右,性能最强;具体参数如下图
3:组装
主板如下图所示,示例中买的是pi3B+。如果光买裸机的话大概270块左右,但是注意,光有板子不能工作,至于需要买个SD卡,其它配置一般搞IT的多少会有现成的,不一定需要购买;
详尽的配置有:SD 卡、USB 键盘和鼠标、有HDMI 接口的显示器、HDMI 信号线、USB 电源、Micro-USB 连接线、网线、外壳
4:配置清单
直接上图,一图胜万言;遗憾的是没有usb3.0接口,也没有麦克;
5 安装系统
与电脑安装系统不同,树莓派的操作系统是直接将官网提供的.img镜像直接刻录至SD卡中就可以,也有的商家提供国内镜像。
大致的刻录方法是:
这里提供一下官网镜像下载地址:
https://www.raspberrypi.org/downloads/raspbian/
6:开机
将SD卡插好,接好电源后默认就直接开机了,主板没有电源开关;倒是在送的数据线有一个开关,可能是为了弥补这块缺失。因为公司没有给配置显示器,我又单独买了一个触摸屏;如果烧录没问题,到这里是能够正常开机的。
7:连接
开发板可以插网线,也可以用无线;这里我是直接配置的wifi,然后获取到IP地址之后,配置成静态的,防止后面变来变去;不过需要注意的是,不同的镜像默认用户名和密码可能都有差异,像我的环境里 默认用户是pi ,密码为raspberry,可以直接sudo -i切换至root;
现在网络通了就可以使用笔记本连接使用了。虽然它支持插鼠标键盘,但还是不喜欢;
第一种使用经常使用的xshell可以正常连接,
注:如果是官方镜像是没有安装sshd服务的,需要单独安装
8 播放视频
ok,到目前为此有了一台“小电脑了”,虽然配置不高,但毕竟花钱了。接下来我们放一段视频;首先要解决的问题是播放器,好在linux里,有一个叫kodi,很厉害。直接apt-get install kodi 安装就可以
在展厅我们试了一下,完全可以。正好那边有需要将展厅中用来投放视频的笔记本撤下来,这时候树莓派刚好符合,这个软件也可以循环播放。
突然意识到,在生活的各个角度这小玩意都会有用途,体积小,功耗还低,价格还便宜,能替换一些对计算要求能力低的场景。
9 通用的一些操作
耳机没输出?
这里记录一下关于耳机接口的问题,如果插上耳机,在播放视频的时候发现没有声音,可能声音从hdmi接口输出了;执行raspi-config,点高级选项-audio,选强制3.5毫米接口就好了
分区扩容
有时候烧录的镜像可能只占用SD卡一部分空间,为了将剩余的空间利用起来,需要将其进行扩容;好在系统提供了一个工具,执行raspi-config,点高级选项-expand filesystem
安装ssh服务
如果装的是官网的镜像,是没有安装此服务的,可以通过手动安装包并开启
sudo apt-get install openssh-server
systemctl start ssh
查看版本
cat /etc/os-release
查看内核
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.14.50-v7+ #1122 SMP Tue Jun 19 12:26:26 BST 2018 armv7l GNU/Linux
修改apt源
pi@raspberrypi:~ $ cat /etc/apt/sources.list
#deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
#deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
10:制作蓝牙接收器
开发板有一个3.5mm的耳机接口,平时可以接上有源音箱进行输出;虽然开发板也有一个蓝牙模块,但是测试发现如果使用手机直接连上的话,是无法进行播放手机声音的。于是乎有了下面的正文;
这个实验完全是为了搞一个类似蓝牙音箱效果;当然了,从性价比上讲,直接买一个蓝牙接收设备比它便宜多了,但是这个实验只是想利用它本身带得蓝牙搞得事情做;
第一步,打开树莓派蓝牙,手机同理,两者连接。
第二步,将音箱使用3.5毫米线接入主板,这里我用的是耳机,条件比较艰苦,没有音箱
第三步,如何将手机的音频投到板子里,默认不带这功能的;不过万能的互联网总是有大神的,经测试发现,下面的链接可以满足我们的要求
http://shumeipai.nxez.com/2018/12/28/install-a2dp-to-turn-the-raspberry-pi-into-a-bluetooth-speaker.html
大概就是:
git clone https://github.com/bareinhard/super-simple-raspberry-pi-audio-receiver-install
cd super-simple-raspberry-pi-audio-receiver-install
git checkout stretch-fix
sudo ./install.sh
安装的时候会有问答:2-y-n-0
后面过程会比较长,需要联网状态
按提示重启设备;下面记得用显示器连接树莓派打开蓝牙,并且让它处理可被发现的状态,这时候用手机扫描并连接
now,来用QQ音乐放一段收藏音乐,哇,出声了;太幸福了
不过站在巨人的肩膀固然好,但是我依然不了解他是怎么做的,并且这个项目看起来已经2年没有人更新了。
于是决定仔细看一下他是如何做到的。
1:文件结构
├── airplay_config.sh
├── airplay_install.sh
├── ap_config.sh
├── ap_install.sh
├── arduino
│ ├── boot-shutdown.ino
│ └── README.md
├── backup_files
│ ├── 99-com.rules
│ ├── bluetooth
│ ├── config.txt
│ ├── files
│ ├── main.conf
│ ├── README.md
│ ├── shairport-sync.conf
│ └── system.pa
├── boot
│ └── cmdline.txt
├── bt_pa_config.sh
├── bt_pa_install.sh
├── bt_pa_prep.sh
├── contributors.txt
├── dependencies.sh
├── etc
│ ├── hostapd
│ │ └── hostapd.conf
│ ├── lirc
│ │ ├── hardware.conf
│ │ └── lircd.conf
│ ├── network
│ │ └── interfaces
│ ├── pulse
│ │ └── daemon.conf
│ └── rc.local
├── features
│ ├── airplay
│ │ ├── README.md
│ │ ├── shairportend.sh
│ │ ├── shairportstart.sh
│ │ └── shairport-sync.conf
│ ├── ap
│ │ ├── interfaces
│ │ └── README.md
│ ├── bluetooth
│ │ ├── README.md
│ │ ├── volume-watcher.py
│ │ └── volume-watcher.service
│ ├── kodi
│ │ ├── cmdline.txt
│ │ └── README.md
│ ├── lirc
│ │ ├── config.txt
│ │ ├── firstrun.sh\
│ │ ├── hardware.conf
│ │ ├── lircd.conf
│ │ ├── Lircmap.xml
│ │ ├── rc.local
│ │ └── README.md
│ └── README.md
├── functions.sh
├── gmrender_install.sh
├── img
│ ├── README.md
│ ├── SSPARI.svg
│ ├── SSRPARI_1080_668.png
│ └── SSRPARI.png
├── init.d
│ ├── bluetooth
│ ├── bluetooth-agent
│ ├── bluetooth-agent-vol
│ └── pulseaudio
├── install_choices
├── installed_deps
├── install.log
├── install.sh
├── kodi_config.sh
├── kodi_install.sh
├── lib
│ └── systemd
│ └── system
│ ├── systemd-udevd.service
│ └── volume-watcher.service
├── LICENSE
├── lirc_config.sh
├── lirc_install.sh
├── misc
│ ├── 99-com.rules
│ ├── bluetooth
│ │ └── main.conf
│ └── pulse
│ └── system.pa
├── Network-Without-Internet.md
├── README.md
├── shScripts
│ ├── shairportend.sh
│ └── shairportstart.sh
├── snapcast_install.sh
├── sound_card_install.sh
├── ssrpari_bluetooth.zip
├── usr
│ └── local
│ └── bin
│ ├── bluez-udev
│ ├── bluez-udev.stretch
│ ├── bluezutils.py
│ ├── disable_wifi_on_bt.sh
│ ├── firstrun.sh
│ ├── Lircmap.xml
│ ├── say.sh
│ ├── simple-agent.autotrust
│ ├── updatewifi
│ └── volume-watcher.py
└── vol_bt_pa_config.sh
2:先从install.sh入手
要求必须是root执行,functions.sh和dependencies.sh在全文中一直被source,看起来像是定义好的一个个变量,后面的命令如果装包的话,直接引用某个变量就可以,之后把当前的目录追加到PATH中,后面是安装过程中看到的菜单,6个大的场景,每个场景都包含下面8个我称之为组件,不同的地方在于不同的场景每个组件是否安装有差异,像我们选择的第2个场景只安装3个组件
后面就是匹配这些组件,来分别调用各自的脚本来进行安装
Bluetooth --》bt_pa_install.sh bt_pa_config.sh
SoundCardInstall --》sound_card_install.sh
AirPlay--》airplay_install.sh 、airplay_config.sh
Kodi---》kodi_install.sh 、kodi_config.sh
Lirc --》lirc_install.sh 、 lirc_config.sh
GMedia --》gmrender_install.sh
其实在这里边我只需要安装跟蓝牙相关的内容就可以,所以看脚本的话,实际只需要关注bt_pa_install.sh 和bt_pa_config.sh就可以,看起来配置那个脚本挺复杂的,不太建议手动把里面的内容摘取出来再自己搞环境实验,直接运行脚本就可以了。
发现的问题:装好上面内容之后,系统自带的外放控制器显示不可用,但是如果用远程方式播放音乐就正常,蓝牙也正常,奇怪
这里可能涉及一些蓝牙的知识:https://www.cnblogs.com/vamei/p/6753531.html
另外,这里有篇详尽的手动安装步骤与讲解的文章,非常好: https://wangye.org/blog/archives/921/
11:制作智能音箱
这里正在使用的是开源的一个叫悟空的项目,需要提前准备麦克风、音响;
进行中
参考连接https://github.com/wzpan/wukong-robot