树莓派踩坑记
安装系统
备份文件
ext2explore-2.2.71 可以读取linux里的文件 只能读不能写!!!备份文件也用这个!
还有个 Etcher-v1.4.4 能读写 试了没成功
保存下/home/pi 下的文件
格式化SD卡
https://www.sdcard.org/downloads/formatter_4/
要安装
插上直接格式化即可
下载系统
http://shumeipai.nxez.com/download
第一次下了Ubuntu 没有图形界面 尝试安装失败了
还是用回Raspbian
rpi:list-of-oses [创客百科] http://wiki.nxez.com/rpi:list-of-oses 里面有个kill系统有时间装上
烧录系统
用的Etcher 选择就行了
另一个软件 要安装
SSH连接要在根目录下创建一个SSH的空文件
初始账号pi 密码raspberry
其他
烧录完就可以启动了 会有引导
连接 网线接电脑 arp -a 找物理地址 b8-27-eb开头的IP 再SSH连接
或者网线连接路由器 Xshell 连接ip 账号pi 密码raspberry
设置密码 sudo passwd (raspberry) [su root 密码为这个]
VNC需要手动打开 sudo raspi-config——5 Interfacing Options——VNC——OK——Finish
连接wifi同样 sudo raspi-config
VNC设置分辨率设置方法是在终端输入:sudo raspi-config 命令,然后按下面的顺序选择分辨率设置 Advanced Options > Resolution。要重启.
然后可以在VNC上操作了
更改密码后就不是初始密码了 VNC连上wifi后也不是原来IP地址了 然后就可以拔网线了
SFTP也需要安装
输入法也要安装
略略略
安装中文
安装中文字体:sudo apt-get install ttf-wqy-zenhei
安装输入法:sudo apt-get install scim-pinyin
修改配置 sudo raspi-config——change_locale在Default locale for the system environment:中选择zh_CN.UTF-8。往下翻一会儿直到找到zh_CN UTF-8把光标移动到前面,然后按下空格键打上*号。选择主要语言zh_CN UTF-8。sudo reboot重启完成好就可以在VNC连接上去后使用中文显示和中文输入法了,切换中文输入法一样也是ctrl+space。
其他
手动修改wifi密码:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
树莓派内查ip: ifconfig
PortScan工具可以扫描ip
树莓派忘记密码了?四步重设密码 – 树莓派中文站 http://www.52pi.net/archives/290
更换源
wget -qO- https://tech.biko.pub/resource/rpi-replace-apt-source-buster.sh | sudo bash
无线网卡无法使用
坑
图形界面的网卡点了要设置country,设置了也没用,用命令行进设置也不行。
无线网卡是 wlan0 ,用ip add可以查看。
sudo vim /etc/network/interfaces
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "wifi名称"
wpa-psk "wifi密码"
注意:如果你一直没进过图形化界面,请把原来的: wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
运行sudo /etc/init.d/networking restart如果没有出错的话就重启
如果出错 查看是不是名称密码错误,可以改用Mac连接,参考下面连接:
Ubuntu server16.04 网络配置中遇到的问题 - 璐潇晓璐的博客 - CSDN博客
好像还是不行 用显示器连接 开机的时候发现DHCP错误 删掉增加的东西后可以用网线连接
尝试删除/etc/wpa_supplicant/wpa_supplicant.conf内的文件 然后增加上面的wlan0再重启
填
所以还是要去外网查资料。。。。
Configuring WPA2 using wpa_supplicant on the Raspberry Pi | kerneldriver https://kerneldriver.wordpress.com/2012/10/21/configuring-wpa2-using-wpa_supplicant-on-the-raspberry-pi/
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="Your SSID Here"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="YourPresharedKeyHere"
}
- 注意完整复制,没复制全结果一堆错。
- 如果VNC桌面设置wificountry失败,sudo raspi-config里 location设置也失败 添加country=CN
- 注意wifi密码格式是不是WPA-PSK
sudo nano /etc/network/interfaces
静态IP():
# allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet static
address 10.1.2.20
netmask 255.255.255.0
network 10.1.2.0
gateway 10.1.2.1
动态IP dhcp:
# allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
/etc/wpa_supplicant/wpa_supplicant.conf是上面那个文件
然后输入命令sudo ifup wlan0
或者关闭再启动sudo ifdown wlan0
sudo dhcpcd
重启发现没有随系统启动wifi,解决:
dhcpcd not running on reboot - Raspberry Pi Forums https://www.raspberrypi.org/forums/viewtopic.php?t=132066
原因是开启启动的服务关闭了,重新开启即可:
sudo systemctl enable dhcpcd.service
sudo systemctl daemon-reload
emmm好像还是失败了,明天再试。。。
unknown options:ssid
sudo dhcpcd 时会有unknown options:ssid 删除 sudo nano /etc/dhcpcd.conf 底下的配置就好了 (这个文件好像是桌面的wifi设置的配置 。。。)然后再重启sudo dhcpcd 能连上了
不要用桌面工具设置参数!
无法开机自启
journalctl -xe
Prevent Raspberry Pi Dropping WiFi – Don’t Press That https://dontpressthat.wordpress.com/2017/11/03/prevent-raspberry-pi-dropping-wifi/
放弃治疗
安装免驱摄像头
GitHub上下载最新源码。直接下载也行,配置了git的话比较方便
git clone https://github.com/jacksonliam/mjpg-streamer.git
编译准备
sudo apt-get install cmake libjpeg8-dev
编译安装
cd mjpg-streamer
cd mjpg-streamer-experimental
make all #编译
sudo make install #安装
sudo mjpg_streamer -i “./input_uvc.so -r 640x480 -f 10 -n” -o “./output_http.so -p 8080 -w /usr/local/www” #此命令尤为重要,如下图所示,输出信息,说明成功!
直插板子的摄像头
sudo raspi-config Enable Camera 测试:raspistill -t 2000 -o image.jpg
安装python3.5
(有可能安装失败)
源码下载安装
树莓派3B安装 Python 3.5 - weixin_44345862的博客 - CSDN博客
sudo apt-get update
sudo apt-get install build-essential tk-dev -y
sudo apt-get install libncurses5-dev libncursesw5-dev libreadline6-dev -y
sudo apt-get install libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev -y
sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev -y
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxvf Python-3.5.2.tgz
cd Python-3.5.2
chmod -R 777 ./configure
./configure --prefix=/usr/local/opt/python-3.5.2
chmod -R 777 ./Modules/_ctypes/libffi/configure
修改配置
make按照这段进行,否则安装不上pip
安装 sudo apt-get install libssl-dev
在刚刚解压的Python-3.5.2里找到 Modules/Setup ,nano打开ctrl+w 找到 SSL
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other # socket line above, and possibly edit the SSL variable: #SSL=/usr/local/ssl _ssl _ssl.c -DUSE_SSL -I(SSL)/include/openssl -L$(SSL)/lib -lssl -lcrypto 取消注释掉这几行
ctrl+O保存 ctrl+X退出编辑 回到Python-3.5.2目录
执行
sudo ./configure --with-ssl --prefix=/usr/local/opt/python-3.5.2 LDFLAGS="-static" --disable-shared
sudo make
sudo make install
安装完后链接:
sudo ln -s /usr/local/opt/python-3.5.2/bin/pydoc3.5 /usr/bin/pydoc3.5
sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5 /usr/bin/python3.5
sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5m /usr/bin/python3.5m
sudo ln -s /usr/local/opt/python-3.5.2/bin/pyvenv-3.5 /usr/bin/pyvenv-3.5
sudo ln -s /usr/local/opt/python-3.5.2/bin/pip3.5 /usr/bin/pip3.5
pip直接测试 pip3 install requests 不用链接就可以使用了
更新pip sudo pip3 install --upgrade pip
使用时要sudo pip3
Linux 下python3 pip 不可用解决方法 - Rao的博客 - CSDN博客
错误&解决
make: *** [Makefile:1772:Modules/_ssl.o] 错误 1
上面修改配置 要加 timemodule.c
_socket socketmodule.c timemodule.c
出现这个问题:
warning: implicit declaration of function ‘CRYPTO_add’; did you mean ‘CRYPTO_free’? [-Wimplicit-function-declaration]
安装 sudo apt install libssl1.0
再make
出现:
make: *** [Makefile:733:Programs/_freeze_importlib] 错误 1
解决:
./configure LDFLAGS="-static" --disable-shared
make LDFLAGS="-static" LIBS="-lintl -liconv" LINKFORSHARED=" "
出现:
/usr/bin/ld: 找不到 -lintl
/usr/bin/ld: 找不到 -liconv
collect2: error: ld returned 1 exit status
make: *** [Makefile:823:Parser/pgen] 错误 1
这个没找到解决办法
pip更换国内源
临时用的话加参数pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple
直接配置:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
su root 切换成root 因为pip3是用sudo运行的所以用户目录是root
手动配置:
cd /root
mkdir ./.pip
touch ./.pip/pip.conf
nano ./.pip/pip.conf
配置写:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
系统默认Python3.7.3 安装TensorFlow
参考:https://itnext.io/installing-tensorflow-2-3-0-for-raspberry-pi3-4-debian-buster-11447cb31fc4 配置: Raspberry Pi Model: Raspberry 3/4 (tested on 3B) Raspberry Version: Debian Buster (Debian 10) Python Version: 3.7 (Default python 3.7.3 with a fresh Raspberry Image)
Installation Attempts: Debian Stretch 9 python 2.7 (unable to install TF2) python 3.5.3 (Failure) python 3.6 (Error: Tensorflow.python.platform not found) python 3.7 (GLIBC_2.27 not found)
检查
cat /etc/os-release python3 --version pip3 --version
Upgrade pip (>19.0), setuptools (≥41.0.0) and install Tensorflow 2 dependencies.
用python3.7的执行
pip install --upgrade pip
pip3.7 install --upgrade setuptools
pip3.7 install numpy==1.20.1
sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev gcc gfortran python-dev libgfortran5 libatlas3-base libatlas-base-dev libopenblas-dev libopenblas-base libblas-dev liblapack-dev cython libatlas-base-dev openmpi-bin libopenmpi-dev python3-dev
pip3.7 install keras_applications==1.0.8 --no-deps
pip3.7 install keras_preprocessing==1.1.0 --no-deps
pip3.7 install h5py==2.9.0
pip3.7 install pybind11
pip3.7 install -U --user six wheel mock
numpy==1.19.0也行
tensorflow2.0 以下 建议:用numpy 1.16.+
pip install -U numpy==1.16.4
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__version__
'1.20.1'
Python 3.x + Tensorflow v1 series https://github.com/PINTO0309/Tensorflow-bin/#usage
wget "https://raw.githubusercontent.com/PINTO0309/Tensorflow-bin/master/tensorflow-2.3.0-cp37-none-linux_armv7l_download.sh"
sudo chmod +x tensorflow-2.3.0-cp37-none-linux_armv7l_download.sh
sudo pip3 uninstall tensorflow
./tensorflow-2.3.0-cp37-none-linux_armv7l_download.sh
sudo -H pip3 install tensorflow-2.3.0-cp37-none-linux_armv7l.whl
TensorFlow1.15.0:
找到旧版本的 https://github.com/PINTO0309/Tensorflow-bin/blob/main/previous_versions/download_tensorflow-1.15.0-cp37-cp37m-linux_armv7l.sh
打开https://drive.google.com/uc?export=download&id=1GzjSi71jDUOVOoThEAtThEah5SqCoV59 手动下载
TensorFlow1.14.0:
https://github.com/PINTO0309/Tensorflow-bin/blob/main/previous_versions/download_tensorflow-1.14.0-cp37-cp37m-linux_armv7l.sh
https://drive.google.com/u/0/uc?export=download&confirm=wl1K&id=1mUP6t4o7xBXhXDTTkS91uluZstqcnQj5
安装:pip3.7 install tensorflow-1.14.0-cp37-cp37m-linux_armv7l.whl
安装tensorflow环境
树莓派摄像头运行物体检测 - tensorflow with SSD - 简书 https://www.jianshu.com/p/ea5abe01aaf1
平台版本:uname -a 可以看到
Linux raspberrypi 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux
TensorFlow离线安装包下载:https://github.com/lhelontra/tensorflow-on-arm/releases
下载armv7l这个版本的 python3.5 对应cp35 Python3.7对应cp37版本。(tensorflow-1.14.0-cp35-none-linux_armv7l.whl)
sudo pip install --upgrade tensorflow-1.14.0-cp35-none-linux_armv7l.whl
这里的TensorFlow需要编译安装依赖,有可能会卡死,依赖也可能安装失败。
卡死可以增大swap内存空间。
Linux下安装numpy - abc_321a的博客 - CSDN博客
import tensorflow 时发现要numpy1.12版本以上,之前用源码安装的是1.9版本 ↓重装
安装numpy
(或者用 pip install -U numpy)
用pip无法卸载,直接安装
https://pypi.org/project/numpy/#files 下载
(numpy-1.17.0-cp35-cp35m-manylinux1_i686.whl numpy-1.17.0-cp35-cp35m-manylinux1_x86_64.whl平台不同,不支持树莓派)
numpy-1.17.0.zip 解压,进入解压文件夹
sudo python3.5 setup.py install
漫长的等待,测试:python3.5 -c ‘import numpy; numpy.test()’ (这句好像不行,直接在python里面import numpy)
安装OpenCV
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.1/modules \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_TESTS=OFF \
-D BUILD_EXAMPLES=ON ..
第一次错误。
-DBUILD_TESTS=OFF \增加这个在cmake的时候
sudo rm -rf release
mkdir release
cd release
cp -r release/ release_o/
sudo apt-get update
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv