到树莓派的官网下载 Raspberry Pi Imager
工具(根据自己的操作系统不同,选择合适的版本进行下载)
在 Raspberry Pi Imager
中 CHOOSE OS
选择 Raspbian(other)
--> Raspbian Lite
然后在 CHOOSE SD CARD
中选择对应的 SD 卡,最后点击 WRITE
开始写入
在 /boot
文件夹下添加 wpa_supplicant.conf
文件,内容如下:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi-A"
psk="12345678"
key_mgmt=WPA-PSK
priority=1
}
network={
ssid="WiFi-B"
psk="12345678"
key_mgmt=WPA-PSK
priority=2
scan_ssid=1
}
ssid:网络的ssid
psk:密码
priority:连接优先级,数字越大优先级越高(不可以是负数)
scan_ssid:连接隐藏WiFi时需要指定该值为1
在 boot 分区新建一个文件,空白的即可,文件命名为 ssh。注意要小写且不要有任何扩展名。
树莓派在启动之后会在检测到这个文件之后自动启用 ssh 服务。随后即可通过登录路由器找到树莓派的 IP 地址,通过 ssh 连接到树莓派了。
sudo raspi-config
在gui界面中选择 Interfacing Opertions
--> Camera
1). 开启蓝牙并设置开机启动
sudo service bluetooth start
sudo update-rc.d bluetooth enable
2). 安装bluez-tools
sudo apt-get install bluez-tools
3). 修改 /etc/systemd/network/pan0.netdev
sudo nano /etc/systemd/network/pan0.netdev
/etc/systemd/network/pan0.netdev
的内容如下:
[NetDev]
Name=pan0
Kind=bridge
4). 修改 /etc/systemd/network/pan0.network
sudo nano /etc/systemd/network/pan0.network
/etc/systemd/network/pan0.network
的内容如下:
[Match]
Name=pan0
[Network]
Address=172.20.1.1/24
DHCPServer=yes
5). 修改 /etc/systemd/system/bt-agent.service
sudo nano /etc/systemd/system/bt-agent.service
/etc/systemd/system/bt-agent.service
的内容如下:
[Unit]
Description=Bluetooth Auth Agent
[Service]
ExecStart=/usr/bin/bt-agent -c NoInputNoOutput
Type=simple
[Install]
WantedBy=multi-user.target
6). 修改 /etc/systemd/system/bt-network.service
sudo nano /etc/systemd/system/bt-network.service
/etc/systemd/system/bt-network.service
的内容如下:
[Unit]
Description=Bluetooth NEP PAN
After=pan0.network
[Service]
ExecStart=/usr/bin/bt-network -s nap pan0
Type=simple
[Install]
WantedBy=multi-user.target
7). 启动各项服务
sudo systemctl enable systemd-networkd
sudo systemctl enable bt-agent
sudo systemctl enable bt-network
sudo systemctl start systemd-networkd
sudo systemctl start bt-agent
sudo systemctl start bt-network
8). 开机自动打开可被发现
sudo nano /etc/rc.local
在 exit 0
的前面加上:
sleep 10s
bt-adapter --set Discoverable 1
操作完以后 reboot 重启可以用手机蓝牙找到 raspberrypi 的蓝牙设备,并且通过 172.20.1.1 可以访问到树莓派的服务
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
/etc/apt/sources.list
sudo chmod 777 /etc/apt/sources.list
sudo echo "" > /etc/apt/sources.list
sudo nano /etc/apt/sources.list
/etc/apt/sources.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
/etc/apt/sources.list.d/raspi.list
sudo chmod 777 /etc/apt/sources.list.d/raspi.list
sudo echo "" > /etc/apt/sources.list.d/raspi.list
sudo nano /etc/apt/sources.list.d/raspi.list
/etc/apt/sources.list
的内容如下
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
这里是一个坑,raspbian好像无法从ntp自动更新时间,所以系统的时间是错的,这个问题会导致 apt update
的时候报错,所以需要手动修改系统的时间跟现在的时间一致,应该不需要精确到秒,差不多就行了
sudo date -s "2020-04-21 15:18:00"
# 日期字符串根据自己实际的时间修改
sudo apt update
sudo apt upgrade
如果不做 2.4
的步骤的话,在这一步可能会报错,报错了的话在shell里面用 date
命令看一下是不是日期出问题了
安装Python-opencv是一个巨大的坑。。。
去百度的话,都会建议编译安装,但是我大概尝试了5次左右都编译安装失败了。
如果项目不需要opencv4的话,如果opencv3可以满足需求的话,那执行下面的命令即可:
sudo apt-get install python3-opencv
如果项目需要用到opencv4的话,那就很麻烦了。。。
# 安装依赖
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config -y
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libfontconfig1-dev libcairo2-dev -y
sudo apt-get install libgdk-pixbuf2.0-dev libpango1.0-dev -y
sudo apt-get install libgtk2.0-dev libgtk-3-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103 -y
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
然后先尝试 pip3 install opencv-python
,由于网络的原因多半是会失败的,但是失败的提示信息里面会给出whl
包的下载地址,复制这个下载地址然后用wget
下载下来,再用pip3
进行安装
安装完成后,在shell
里面进入python3
import cv2
cv2.__version__
此时多半是会报错的,可能出现的问题及解决方法如下:
ImportError: libImath-2_2.so.23: cannot open shared object file: No such file or directory
下载libilmbase12_2.2.0-12_armhf.deb
sudo dpkg -i libilmbase12_2.2.0-12_armhf.deb
cd /usr/lib/arm-linux-gnueabihf && sudo mv libImath-2_2.so.12 libImath-2_2.so.23
ImportError: libhdf5_serial.so.103: cannot open shared object file: No such file or directory
sudo apt-get install libhdf5-serial-dev
ImportError: libIlmImf-2_2.so.23: cannot open shared object file: No such file or directory
sudo apt-get install libopenexr-dev
ImportError: libgstbase-1.0.so.0: cannot open shared object file: No such file or directory
sudo apt-get install libgstreamer1.0-0 libgstreamer-plugins-base1.0-0
ImportError: /home/pi/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8
python3
前面加上 LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1
,如 :python3 server.py
需要修改为:
LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 python3 server.py
在 github下载 适合的whl
文件(当前的32位系统用的是 tensorflow-2.1.0-cp37-none-linux_armv7l.whl )
sudo pip3 install tensorflow-2.1.0-cp37-none-linux_armv7l.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
中间要是有 whl
包下载失败就用 wget
下载或者用迅雷下载了传上去安装(下载失败了会显示下载地址的)
sudo python3
import tensorflow
tensorflow.__version__
由于对python3.7而言,还没有现成的.whl包,所以需要我们下载源程序自己编译。
sudo raspi-config
选择 Advanced Options
-> Expand Filesystem
sudo nano /etc/dphys-swapfile
找到 CONF_SWAPSEIZE
修改其值为2048
# 重启文件交换系统使修改生效
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
注意:进行完这一步以后一定要重启一下机器 reboot
sudo apt install libopenblas-dev libblas-dev m4
sudo apt install cmake cython python3-dev python3-yaml python3-setuptools
mkdir pytorch_install
cd pytorch_install
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
export NO_CUDA=1
export NO_DISTRIBUTED=1
export NO_MKLDNN=1
export NO_NNPACK=1
export NO_QNNPACK=1
git submodule update --remote third_party/protobuf #这里是协议缓冲区的一个bug,用此语句修复
cd /home/pi/pytorch_install/pytorch
python3 setup.py build
需要等待很长时间
sudo -E python3 setup.py install
python3
import torch
torch.__version__