这篇文章属于此系列:
一个用树莓派做的会聊天,能人脸识别(支持云台追踪)和发送邮件的小玩具
https://blog.csdn.net/yonglisikao/article/details/82804318
我正在做一个树莓派(RaspberryPi)+人脸识别+语音识别的项目。人脸识别打算使用face_recognition这个为Python提供的库;语音识别打算使用科大讯飞云平台(听说他家语音识别做的很棒!)。这是我第一次使用树莓派,前几天在淘宝的这家店买的最新的PI 3B+ 英国版 套件三。这个套件的特别之处在于
它包含了基本的:SD卡(闪迪 16G),读卡器,电源线(5V 2.5A);
以及有必要的:外壳,散热片,风扇;
并且对此项目很有必要的:摄像头模块(Picamera);
可能会有用的:HDMI线,摄像头模块支架,装好的Raspbian系统(官方推荐系统)。
这里不会用到:显示器,路由器,网线,但需要一台能够联网的并且能开热点的电脑(我使用的是Win10)。我会从系统下载开始,把远程登陆树莓派作为主体,并以OpenCV的安装作为结束来记录我的树莓派之旅,希望我的经验对你有帮助。
系统下载:
树莓派的系统可以直接从树莓派的官网下载(如果你英文不错,官网会是个很有帮助的地方,他的HELP模块有对树莓派很多技术支持),如下图,左边那个NOOBS是为装备完善的新手准备的,右边那个则是为其他用户准备的,最终安装的Raspbian系统区别不大。我们点击右边的图标,进去之后选择左边的完整版,下载ZIP文件,大约1.6G,完成后解压。如果你的解压软件无法解压,官方推荐7ZIP,他们用这个测过,是免费的。不过我自己用的是Bandizip,也是免费的,挺好用的。解压完成后,得到一个img文件(如果你下载NOOBS,你会得到一堆文件),大小超过4G(这是一些较老的解压软件不支持的原因)。
系统烧录:
系统下载,解压完成后就可以开始进行烧录了。烧录需要用到两个工具:SD Card Formatter(用来格式化SD卡),Win32 Disk Imager(用来烧录系统)。这两个工具都可以在官网免费下载。我在前面里提过:我买的SD卡已经装好了系统。装好系统的卡通过读卡器在电脑上显示的是两个磁盘,一个boot(可读,总大小不大),一个U盘(不可读,不要格式化)。
如果你的SD卡(class10,8G及以上,如果你也要装OpenCV,推荐16G及以上)没有装系统,在烧录之前最好用SD Card Formatter 格式化一下(不会需要很多时间,操作也很简单,选择你要格式化的盘,然后点击Format就行),保证烧录前你的SD卡是空的。格式化之后可以开始烧录了,打开Win32 Disk Imager,镜像文件选择刚才下载并解压好的img文件,设备选择你的空SD卡,点击写入即可,这一步会需要一些时间。以上两个步骤(格式化,烧录)都需要注意不要选错盘了,不然可能会造成不太好的后果。
P.S. 我的SD卡原本有一个金色的图标覆盖住了一部分接触区,这可能是为什么我最初把卡插上时只有红灯亮。把它撕掉之后,绿灯才开始闪烁。关于指示灯的意义,可以参考:树莓派LED指示灯状态的解释|树莓派实验室
远程登陆:
我们想使用SSH远程登陆树莓派,但是自2016年11月树莓派官方发布的Raspbian系统便不再默认开启SSH服务,不过,官网上也有在装系统时开启此服务的操作指南,方法很简单,只需要在boot目录下新建一个空文件,就叫ssh(注意:没有拓展名或者说这就是拓展名)。具体操作可以是:先创建txt文件,再改名。用电脑ssh远程登陆树莓派,需要电脑和树莓派在同一局域网中,我们不用网线,不用路由器,那要怎么办呢?办法是:
电脑方面,以Win10系统为例,先将电脑连上网,我连的是校园网,然后打开移动热点(只有联网才能开启移动热点,可以电脑屏幕右下角的Wi-Fi图标,那里有启动选项),右键点击移动热点可以进入设置界面(当然也有其他方法进入这个界面),然后点击编辑,设置网络名称(SSID)和网络密码(PSK),注意:不要有中文和奇怪的符号。网络频带选择为2.4G(虽然树莓派支持5G,但是经过尝试,只有2.4G能连上,我不知道为什么),接下来打开网络和共享中心
按上面第一张图的指示点击进入WLAN状态界面,点击 属性,切换到 共享 栏,按照上面第二张图进行设置,这个设置能让通过热点连接的用户上网。
再来看树莓派方面,只要它能连上热点就能和电脑处在同一个局域网内,但我们还不能登陆树莓派,那么怎么让树莓派自动开启Wi-Fi并连接到我们的热点上呢?可能你已经注意到,在刚才的那份SSH服务自动开启的官方指南里有让树莓派第一次启动后自动连接指定Wi-Fi的方法,具体操作方法是:用你的电脑和读卡器读取SD卡(可以直接接着刚才的烧录步骤),在boot目录下创建一个名为wpa_supplicant.conf的文件,与上面创建“ssh”文件的方法相似。只不过,需要在文件里面写下
country=CN
crtl interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="testing"
psk="testingPassword"
}
P.S.“country=CN”代表Wi-Fi使用地区为中国(CN),你需要将ssid后面的“testing”中的内容替换为你前面设置的网络名称,psk后面的“testingPassword”也同样需要替换为你设置的网络密码。
上面的写法可以实现基本的Wi-Fi连接功能,这就足够了,不过也其他“花式”写法,可以实现不同的功能,这些有兴趣的同学可以自己去研究。
接下来,就可以把SD卡插上,电源插上,开始供电,树莓派启动!
前面没有说过树莓派的安装方法,因为电源线(有些电源线自带开关,注意一下)和SD卡的插法很简单。不过如果你也有一个小风扇,它的连接方法值得注意一下,不妨参考下面树莓派的GPIO引脚说明图(隔壁的图,我把连接放这里)。连接实物图可以参照下面另一张图。
电源和SD卡插上后,你的树莓派应该就开始默默工作了(前面提到过,可以观察电源旁的绿灯是否闪烁,以此判断SD卡是否在工作),如果一切顺利,经过一小段时间(大约半分钟,如果太久还是不行,建议多尝试一下),树莓派就会自动连接到前面设置的Wi-Fi,你会在移动热点的设置界面看到你的树莓派——raspberrypi,同时你还能看到它的IP地址,像下图这样。
现在你的电脑和树莓派(PI)已经处于一个局域网内,并且也知道到了PI的IP(这样写是不是很:)有趣),接下来我们将使用SSH远程登陆你的PI,但是Windows并不自带ssh,所以我们需要下载一个工具——PuTTY,你同样可以在官网免费下载。下载安装完毕后,运行并像下图这样输入你PI的IP,端口(Port)默认是22,下面还有一个保存的功能,不难使用。
然后点击Open,弹出如下窗口,直接点击 否
接下来就是让你输入用户名和密码了,(都是默认的)用户名为:pi,密码为:raspberry,像下图这样,密码是不会显示出来的,直接输就行,就算错了,也有机会重新输入。如果一切顺利,你就成功登陆树莓派了。跟你直接在树莓派上打开Terminal是一样的。但如果你是第一次使用树莓派,你一定很好奇,直接打开树莓派到底是一种怎样的体验?接下来,满足你!
我们将要使用Windows自带的远程桌面打开树莓派的桌面。首先,需要在树莓派上安装xrdp,方法是:在刚打开的界面里输入:sudo apt-get install xrdp,可以直接复制粘贴,不过,粘贴的时候是点击右键(而不是Ctrl+V);然后,打开Windows的远程桌面(Win10可以直接搜索:远程桌面连接,也可以摁Win+R,打开“运行”,然后在里面输入:mstsc.exe,点击确定就行)。打开远程桌面后,点击“显示选项”可以有更多设置,像下面输入你PI的IP,如果你想现在输入用户名,可以现在输,如果不输后面还会有机会,然后就点击“连接”就行了,等待连接,如果问你密码,告诉它就行(依然是:raspberry)。
如果一切顺利,那么你就成功打开了树莓派的桌面,像这样
然后它可能会提示你改密码(同时你可能也注意到我左上角的程序栏里的应用比你的少,这是因为我把它们卸载了,这样能节省不少空间)如果你想修改密码,可以回到Terminal(可以从你的远程桌面打开,或者依然使用ssh),这里使用ssh。输入:sudo raspi-config,进入以下界面,这相当于一个”电脑管家“,第一个就是修改密码的选项,按照提示操作就行。其他选项就不再介绍,操作不复杂,自己去探索把!
不过有一个操作是很有必要进行的,选择“7 Advanced Options”,进去后再选择“A1 Expand Filesystem”,记得选择“Finish”,让它开始操作,这样能够使你SD卡的空间的到充分的应用(当然,如果你是使用NOOBS安装的系统,就不需要进行这一步)。
完成后,再输入指令:sudo reboot,让你的PI重启,不过你也会与它断开连接,你可以使用同样的方法与PI再次连接,然后,你可以使用指令:df -h,查看你的内存使用情况。
最后,如果你想退出,可以使用指令:exit
Raspbian Stretch: Install OpenCV 3 + Python on your Raspberry Pi
这个教程是由Adrian Rosebrock写的,非常详细,里面还有一个视频,如果你是新手,推荐看着视频,对照网页一步一步做,即使英语不好也没关系,“照葫芦画瓢”总是不难的。(不过需要注意的是:网页上的内容是有过更新的,而视频里的内容则是最初版的,不过变化也没有太大,适当变通即可)
后记:
这是我第一次使用树莓派,这几天一直在折腾这个东西,网上已经有不少教程。在这些教程的帮助下,系统只重装了3次,安装OpenCV只失败了2次:),我就能够:只带一个电脑,用充电宝给树莓派供电,在一个有Wi-fi的地方,“优雅地玩弄”树莓派。以上内容是我这几天所学的整合。
P.S. 网上有用网线把树莓派和电脑连接起来的方法,但现在很多电脑(如果不是游戏本)可能并不会有网线接口,所以我用热点代替网线。无论是用网线还是用热点,Windows系统都默认把它当作“本地连接*11”,这反映出:在某种程度上,它们是一样的。
2018/9/7 更
1.最后我用的是百度语音,因为方便;
2.用充电宝给树莓派供电是我依靠想象力实现的。