1、树莓派准备
(1)安装散热片
(2)树莓派外壳安装 同时安装散热风扇 风扇线的接口,看得到金属触片一面,朝外。4脚接风扇红线、6脚接风扇黑线。若不转,金属出片一侧朝内尝试。
2、上电前的系统安装准备(烧写树莓派镜像)
树莓派的SD卡最好是16G或32G,8G不够用。并且要买SD卡读写速度快一点的;
准备SD卡的读卡器
下载SDFormatter(格式化SD卡)
下载Win32DiskImager(SD卡系统烧写工具) 进入官网 https://www.raspberrypi.org/downloads/ 下载页面,选择“RASPBIAN
下一步选择“RASPBIAN JESSIE LITE”,如果要使用桌面版本的,选择“RASPBIAN JESSIE WITH DESKTOP”下载压缩的镜像。将下载完的压缩镜像解压缩出来得到名为“xxxx-xx-xx-raspbian-jessie-lite.img”的镜像。
SD卡插入读写器,读写器插入到电脑 使用SDFormatter格式化SD卡,否则无法SD卡分区无法取消,烧写镜像提示失败。 打开Win32DiskImager烧写镜像 选择镜像和设备(你的SD卡),点“写”开始烧写镜像,等几分钟后提示写入成功。
当前版本的树莓派系统默认是关掉SSH的,你需要按如下的步骤操作开启SSH: 烧写完镜像后的SD卡,在Windows上可以看到一个boot分区,你需要在boot目录下创建一个名字为ssh的空文件(用记事本创建就好,保存时把.txt后缀删除),这一步做了才保证你后续远程登录没有问题。
3、启动树莓派 一切就绪,把卡插上,上电 树莓派网线连接路由器LAN口,电脑连接同一路由器网络,打开路由器管理界面,查找树莓派设备(设备名raspberrypi)查看树莓派IP 在电脑下载安装“putty”, 完成后打开软件,弹出配置界面,在主机名(Host Name)中输入树莓派对应IP地址、端口号,点击打开(弹出安全警告选择是)。
在进入登陆界面后,输入对应得树莓派账号、密码(默认账号:pi 密码:raspberry)即可连接到树莓派。(输入密码时是不显示的,不要怀疑你的键盘坏了) 登陆成功后界面如下图所示
4、系统配置 (1)开启SSH和VNC: 可直接利用sudo raspi-config命令进入设置模式,在Interfacing Options下面设置即可。 (2)为树莓派更换国内源。(国外的源延迟高,可能导致不能成功下载) .执行命令:) 使用管理员权限(经由sudo),编辑/etc/apt/sources.list文件。参考命令行为:
$ sudo nano /etc/apt/sources.list
用#注释掉原文件内容,用以下内容取代:
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
Ctrl+O 回车后保存文件,Ctrl+X 退出编辑器。 使用管理员权限(经由sudo),编辑/etc/apt/sources.list.d/raspi.list文件。参考命令行为:
$ sudo nano /etc/apt/sources.list.d/raspi.list
用#注释掉原文件内容,用以下内容取代:
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
Ctrl+O 回车后保存文件,Ctrl+X 退出编辑器。 注意: 网址末尾的raspbian重复两次是必须的。因为Raspbian的仓库中除了APT软件源还包含其他代码。APT软件源不在仓库的根目录,而在raspbian/子目录下。 编辑镜像站后,请使用sudo apt-get update 命令,更新软件源列表,同时检查您的编辑是否正确 (3)安装中文字库 接着上一步,在我们重启sudo reboot 后,输入终端更新命令:
sudo apt-get update
更新以后,输入以下命令
sudo apt-get install ttf-wqy-zenhei
安装过程中会提示你是否继续,按Y 这样中文字库就安装好了。
(4)将菜单界面设置成中文 输入命令
sudo dpkg-reconfigure locales
用空格键勾选前面带有 “zhCN” 的选项,这些表示是中文字库。 确保 “zhCN.UTF-8” 被选中,同时在选local字库时选择“zh_CN.UTF-8”
(5)安装中文输入法 输入命令
sudo apt-get install scim-pinyin
安装完成后,重启树莓派
sudo reboot
(6)设置时间 修改时间首先应该修改树莓派的时区,输入命令:
sudo dpkg-reconfigure tzdata
选择亚洲,然后选择上海
在树莓派上,打date命令可以看到系统的日期时间
5、远程桌面服务配置
(1)如果想远程树莓派,并有图像界面,则需安装xrdp和Linux的桌面服务 在putty的命令窗口下执行:
sudo apt-get install tightvncserver
完成Linux 桌面服务的安装。
在putty的命令窗口下执行
sudo apt-get install xrdp
(有Y/N选择时回车),完成xrdp的安装。
(2)打开电脑的运行窗口(快捷键:Window + R),输入mstsc,然后执行,在远程桌面连接窗口中输入树莓派IP,点击连接,
然后在Login to xrdp窗口中,Module选择sesman-Xvnc,用户名:pi,密码:raspberry,完成后即可进入系统图像界面。
在远程其树莓派时的电脑时提示错误“客户端无法建立与远程计算机的连接,远程计算机可能不支持所需的FIPS安全级别”或者“由于安全设置错误,客户端无法连接到远程计算机。确定你已登录到网络后。
注:在win10家庭版中无法进行下列操作 1、打开win10下的控制面板; 2、选择“管理工具”; 3、打开管理工具的“本地安全策略”; 4、在本地安全策略中,打开“本地策略”下的“安全选项”; 5、在右边的策略中,找到“系统加密:将FIPS算法用于加密 、哈希和签名”点击右键属性; 6、将“本地安全设置”设置为“已禁用”,在单击“应用”,后”确定”,即可远程控制!
6、使用USB免驱动摄像头获取图像
(1)安装软件“fswebcam、mplayer、alsamixer” 安装fswebcam(一款小型摄像头程序)输入命令:
sudo apt-get install fswebcam
安装mplayer(多媒体播放器)输入命令:
sudo apt-get install mplayer
(2)连接设备: 在终端输入: ls /dev 查找,是否可以看见 video0 这个设备,如果有,说明树莓派已识别它了,如果没有,需要重新更新下固件
运行lsusb命令,有相关摄像头的信息,
(3)调用摄像头看效果 在终端输入(必须在树莓派端执行,在SSH下执行命令会提示失败):
sudo mplayer tv://
即可调用mplayer看到实时图像 执行命令试拍一张看看效果
fswebcam -d /dev/video0 --no-banner -r 320x240 /home/pi/image.jpg
-d是配置使用哪个摄像设备,–no-banner应该是水印相关,不加的话,可能会报字体问题, -r后的是图片的宽与高,最后的是待保存的图片路径。 在实际使用时拍摄出的照片是纯黑,需要加-S参数,控制拍照延时。我使用的是10,实际它并不是命令等待10秒后才拍摄,大约只等待1s左右,不影响使用。
fswebcam -d /dev/video0 --no-banner -r 320x240 -S 10 /home/pi/image.jpg
七、安装opencv (1)下载若干依赖项 更新软件源
sudo apt-get update
sudo apt-get upgrade
依次下载依赖项
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install python-dev python-numpy
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
(2)获取源代码 从opencv官网下载opencv3.3.1的linux版本。建立opencv文件夹,解压opencv3.3.1
unzip opencv-3.3.1.zip
(3)安装opencv 进入解压文件夹(具体版本而定)
cd opencv-3.2.0
创建release文件夹
mkdir release
进入release目录下
cd release
配置cmake
sudo cmake -DCMAKE_BUILD_TYPE=RELEASE \
-D WITH_FFMPEG=OFF
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.1/modules \
-D BUILD_EXAMPLES=ON ..
编译源代码的时间非常的长
make
sudo make install;
八、安装tensorflow
(1)安装tensorflow-1.1.0-cp27-none-linux_armv7l.whl 首先用浏览器下载tensorflow-1.1.0-cp27-none-linux_armv7l.whl网址https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl 接下来,便是把下载的文件tensorflow-1.1.0-cp27-none-linux_armv7l.whl发送给树莓派,我是用的是Filezilla软件。然后安装。
sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl
注意:文件名称和执行命令是否一致,特别注意空格。否则可能出现以下情况。
(2)卸载,重装mock For Python 2.7
sudo pip uninstall mock
sudo pip install mock
(3)查找存放了用于图像识别的代码 查看Tensorflow的文件目录:/usr/local/lib/python2.7/dist-packages/tensorflow,在该目录的models/image/imagenet目录下,存放了用于图像识别的代码classify_image.py。 问题又来了 安装的一样是tensorflowv1.1.0,你会发现你没有models,更别说classify_image.py了。因为1.0版本以后models就被SamAbrahams大佬独立出来了,不在放在一个压缩包里了。 到网上下载models的文件包通过FileZilla发送给树莓派。 通过Linux命令将models文件复制到/usr/local/lib/python2.7/dist-packages/tensorflow目录下
sudo cp -r /home/pi/models /ucr/local/lib/python2.7/dist-packages/tensorflow
(4)下载解压Tensorflow深度学习图像识别库 通过电脑下载inception-2015-12-05.tgz后通过FileZilla发送给树莓派通过Linux命令复制到/usr/local/lib/python2.7/distpackages/tensorflow/models/image/imagenet/目录下
sudo cp -r /home/pi/inception-2015-12-05.tgz /usr/local/lib/python2.7/distpackages/tensorflow/models/image/imagenet/
打开inception-2015-12-05.tgz所在目录
sudo cp -r /home/pi/cat.jpg /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet
用指令tar解压该图像识别库
sudo tar xf inception-2015-12-05.tgz
解压后,可以看到目录下存放了一张实例图片cropped_panda.jpg
(5)小测试,模型识别物体
$ cd /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet
$ python3.5 classify_image.py --model_dir /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet --image_file mobike.jpg
其中,/usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet这个路径是TensorFlow的 Python图像分类程序 classify_image.py 所在的路径,不同的OS可能不一样。–model_dir 参数传入的是我们前面解压出来的模型文件所在的路径,–image_file 是待识别的图片的路径。
可见,TensorFlow认为图片是山地自行车(mountain bike)/全地形自行车(all-terrain bike)/越野车(off-roader)的概率是0.59306,识别结果还算可以。
|