树莓派系统烧录+自动连接wife,启动ssh,设置静态IP+ssh或远程桌面连接+opencv安装
最近一个项目涉及树莓派,所以入坑树莓派,从系统烧录到舒服的连接使用,踩了很多坑,所以参照网上的各类教程,分享安装的经验,希望对以后入坑的小伙伴有帮助。(小伙伴按我说的流程走,应该不会遇到bug,如果还是失败的话,可以直接烧录我后面提供的已经弄好的镜像)
一、目录
1. 系统烧录
2. 安装ssh连接软件,和远程桌面软件
3. 启动系统,并设置自动连接wife,启动ssh,设置静态IP
4. 安装opencv
二、资源下载(免费)
地址:链接:https://pan.baidu.com/s/1_5Z_CkoUAv5CTUFYpuVLyQ
提取码:abxk
–来自百度网盘超级会员V1的分享
里面包含已配置好的树莓派镜像(raspberry.zip),opencv安装包,opencv额外文件,树莓派第一次启动添加的ssh和wpa_supllicant.conf文件
三、安装步骤
(一)系统烧录
-
登录https://www.raspberrypi.org/software/operating-systems/获取最近版本的系统,选择Raspbian Buster with desktop and recommended software版本,解压得到.img的系统镜像文件,文件待用。
-
下载烧录工具Win32DiskImager(请自行网上搜索下载安装)和格式化工具SDFormatter(请自行下载安装)。
-
将SD卡(建议16GB以上)用读卡器插入电脑。
首先对SD卡进行格式化:
格式化之后,将先前下载的img镜像文件烧录进SD卡。打开Win32DiskImager工具:
选择好镜像文件和SD卡,点击写入即可,等待几分钟就烧录成功。以后想重装系统,步骤也是先格式化,在进行烧录。
(二)安装ssh连接软件,和远程桌面软件
在启动树莓派前,先在windows上安装远程连接的软件。我在这里只介绍常用的几种,进行ssh连接的有Winscp,vscode和putty等,远程桌面软件为VNC Viewer。
-
winscp的安装和使用
winscp安装请自行搜索下载安装。安装后打开,
点击新建站点,
主机名为树莓派的IP(IP如何查看后面会提到),端口一般默认是22,如果所连接的端口不匹配,修改即可,用户名为pi,密码默认是raspberry。
点击保存,登录即可。
-
vscode使用ssh
vscode的安装就省略啦,请自行搜索下载安装,我就不赘述了。打开vscode如下:
点击扩展,下载安装remote ssh插件。
安装好后,进行如下操作:
点击加号,输入树莓派的IP,回车
将hostname修改为树莓派的IP,增加一行
Port 22
User 后面改为pi。
之后做如图操作,输入密码raspberry,即可连接树莓派。
-
putty的使用
安装好putty后,打开:
输入IP,点击打开,在输入用户名pi,密码raspberry,即可连接。
-
VNC Viewer使用
安装VNC后打开:
点击左上角file,新建一个连接,输入IP和name,点击ok,即可连接,要注意在连接前请先开启树莓派的VNC功能。
(三)启动系统,并设置自动连接wife,启动ssh,设置静态IP
-
在将SD卡插入树莓派前,在是SD卡的boot目录下新建两个文件,一个为ssh,不用加任何后缀,文件不用添加任何内容,另一个命名为wpa_supllicant.conf,文件内容如下,主要用于配置网络,
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=CN network={ ssid="wife名" psk="wife密码" key_mgmt=WPA-PSK priority=1//优先级 } #后面要添加网络直接在后面添加即可 network={ ssid="wife名2" psk="wife密码2" key_mgmt=WPA-PSK priority=3#优先级 }
-
将SD卡插入树莓派,连接电源,如果连接的wife是电脑或手机热点,树莓派的IP可以直接在电脑和手机里看到。
-
根据IP,使用一个ssh连接软件进行连接。
-
启动自动连接wife
在终端输入
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
nano为一种树莓派文件编辑器,在里面添加你想添加的网络
添加后以后启动树莓派,都会自动连接wife。
-
启动ssh连接和远程桌面
首先输入如下命令
sudo raspi-config
选择第2个Interface options
选择p2,开启ssh自动连接,选择p3自动开启VNC桌面连接。
选择2,Display options,进入如下
选择D1,进入,选择桌面的类型。
之后重启树莓派即可首先自动连接wife,ssh和远程桌面。
-
设置静态的IP
由于树莓派连接不同的wife,其IP地址也会变化,造成ssh连接不方便,所以我们将IP设置成静态的。
在终端输入
sudo nano /etc/dhcpcd.conf
在文件末尾加上
interface eth0#有线连接的静态IP
static ip_address=192.168.137.96/24#IP可以更改后两个数值,后面两个将最后以为改为1即可。
static routers=192.168.137.1
static domain_name_servers=192.168.137.1
interface wlan0#无线连接的IP
static ip_address=192.168.137.96/24
static routers=192.168.137.1
static domain_name_servers=192.168.137.1
保存退出,即实现设置静态IP。
(四)opencv安装
-
在安装前,为了增加下载速度,更换树莓派的源。
终端输入
sudo nano /etc/apt/source.list
注释掉原来的内容,改成清华源
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
保存退出,
执行
sudo apt-get update
然后更改系统源
输入
sudo nano /etc/apt/source.list.d/raspi.list
注释掉原来的内容,添加如下内容(中科大源)
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main ui
保存退出即可首先换源。
-
换好源后,可以直接将我提供的opencv文件导入树莓派,导入方法可以使用winscp实现,直接拖入即可
导入opencv_contrib-3.4.0和opencv-3.4.0文件。
-
安装opencv前想安装numpy(我安装的时候提示系统已经安装)
sudo pip3 install numpy
-
安装OpenCV所用到的库
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
-
在设置cmake参数前,为确保成功请查看python3.7的一些路径。
需要查看的有
PYTHON3_EXECUTABLE=/usr/bin/python3.7 PYTHON_INCLUDE_DIR=/usr/include/python3.7 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include
主要是查看路径上是否有对应的文件,查看完毕后,执行下列命令
cd /home/pi/opencv-3.4.0
sudo mkdir build
cd build
#配置cmake参数
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.7 PYTHON_INCLUDE_DIR=/usr/include/python3.7 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include ..
配置成功的图片如下
-
在编译前进行如下操作,确保一次性成功。
-
在我的百度云盘里的pi文件里的所有带i结尾的文件全部都拷贝到 /home/pi/opencv_contrib-3.4.0/modules/xfeatures2d/src/ 路径下
-
将/home/pi/Downloads/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2目录下的xfeatures2d文件夹和xfeatures2d.hpp文件复制粘贴到
/home/pi/Downloads/opencv-3.4.0/modules/stitching/include/opencv2目录下#文件复制命令 sudo cp -r 源文件路径 目的文件路径
-
找到/home/pi/Downloads/opencv-3.4.0/modules/python/src2 中的cv2.cpp文件,然后在第885行把char* 改成 const char*
#由于cv2.cpp文件是只读文件,无法直接更改,需要想改变属性为可写的 cd /home/pi/Downloads/opencv-3.4.0/modules/python/src2 sudo chmod 666 cv2.cpp#修改为可读可写 sudo nano cv2.cpp
-
做完上述操作即可编译安装
cd /home/pi/opencv-3.4.0/build sudo make #编译,可能需要4-5小时 sudo make install #安装 sudo ldconfig#更新动态库
-
检验安装是否成功
python3 import cv2 cv2.__version__
-
6 cv2.cpp#修改为可读可写
sudo nano cv2.cpp
~~~
-
做完上述操作即可编译安装
cd /home/pi/opencv-3.4.0/build sudo make #编译,可能需要4-5小时 sudo make install #安装 sudo ldconfig#更新动态库
-
检验安装是否成功
python3 import cv2 cv2.__version__