编程语言
首页 > 编程语言> > 树莓派3B+TensorFlow Python3.7

树莓派3B+TensorFlow Python3.7

作者:互联网

树莓派踩坑记

安装系统

备份文件

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 选择就行了

另一个软件 要安装
img

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博客 https://blog.csdn.net/Lxl121181/article/details/73189198

好像还是不行 用显示器连接 开机的时候发现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"
}
  1. 注意完整复制,没复制全结果一堆错。
  2. 如果VNC桌面设置wificountry失败,sudo raspi-config里 location设置也失败 添加country=CN
  3. 注意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

安装python3.5

下载安装

树莓派3B安装 Python 3.5 - weixin_44345862的博客 - CSDN博客 https://blog.csdn.net/weixin_44345862/article/details/91444514

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 ( S S L ) / i n c l u d e − I (SSL)/include -I (SSL)/include−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博客 https://blog.csdn.net/weixin_42290927/article/details/85260131

错误&解决

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博客 https://blog.csdn.net/abc_321a/article/details/82056019

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 ..

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QRpwARus-1617458677929)(img/1566051217905.png)]

第一次错误。

-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

mport 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 ..

1566051217905

第一次错误。

-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

标签:树莓,https,sudo,dev,Python3.7,install,pip,3B,wpa
来源: https://blog.csdn.net/weixin_43924621/article/details/115421718