Raspberry Pi 4B(4GB版)上搭建Donkeycar开发环境
在树莓派上搭建Donkeycar开发环境
- 在树莓派上搭建Donkeycar开发环境
- 1 系统安装与SSH配置
- 2 更新系统
- 3 配置树莓派
- 4 安装依赖包
- 5 安装Python的虚拟环境
- 6 安装 Donkeycar 的源码包
- 6.1 创建项目目录
- 6.2 克隆仓库源码
- 6.2.1 在GitHub上fork仓库到自己的账户下
- 6.2.2 将自己GitHub上的仓库导入到自己的码云仓库里
- 6.2.3 克隆仓库源码到本地
- 6.3 以可编辑模式安装项目
- 6.4 安装 TensorFlow
- 6.5 安装 numpy
- 6.6 验证 TensorFlow 是否安装成功
- 7 安装OpenCV
- 8 安装 OLED 显示服务
- 9 从模板创建Donkeycar实例
在树莓派上搭建Donkeycar开发环境
1 系统安装与SSH配置
在树莓派上最好安装Lite版的系统,占用空间相对较小。我这里选择的是2020-08-20-raspios-buster-armhf-lite.zip
,可以从清华源上下载这个安装镜像压缩文件,然后使用Raspberry Pi Image 工具进行烧写。
由于没有显示设备,需要通过ssh的方式访问树莓派,所以在TF卡烧写完成后,需要在 boot
根目录下创建 ssh
空白文件,保存后,将TF卡从PC上拔出,然后安插在树莓派上。
本次网络操作选用以太网的网线连接树莓派的以太网网卡接口,在配置好Donkeycar环境之前先不配置WiFi。
2 更新系统
所有的镜像都滞后于软件包的更新,所以烧写好镜像,并通过ssh进入树莓派后要进行更新,这里需要提前换源,建议换成清华的源。
pi@raspberrypi:~ $ sudo nano /etc/apt/sources.list
将文件中原来的源注释掉,在文件开头添加如下内容:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
键盘CTRL-O回车执行保存,CTRL-X退出文件。
pi@raspberrypi:~ $ sudo nano /etc/apt/sources.list.d/raspi.list
将文件中原来的源注释掉,在文件开头添加如下内容:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
键盘CTRL-O回车执行保存,CTRL-X退出文件。
换好源之后就可以更新系统了。
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
等待系统更新完成。
3 配置树莓派
pi@raspberrypi:~ $ sudo raspi-config
启动树莓派配置界面,依次进行如下操作:
开启I2C
功能
开启 Camera
功能
选择 Expand Filesystem
选择 Finish
并且按照指示完成系统重启。
4 安装依赖包
要安装的东西很多,但是因为换了国内的源,所以还是很快的。
pi@raspberrypi:~ $ sudo apt-get install build-essential python3 python3-dev python3-pip python3-virtualenv python3-numpy python3-picamera python3-pandas python3-rpi.gpio i2c-tools avahi-utils joystick libopenjp2-7-dev libtiff5-dev gfortran libatlas-base-dev libopenblas-dev libhdf5-serial-dev git ntp
安装OpenCV依赖包
pi@raspberrypi:~ $ sudo apt-get install libilmbase-dev libopenexr-dev libgstreamer1.0-dev libjasper-dev libwebp-dev libatlas-base-dev libavcodec-dev libavformat-dev libswscale-dev libqtgui4 libqt4-test
5 安装Python的虚拟环境
刚才上面的依赖包中已经安装了 python3-virtualenv
,以下需要使用 virtualenv
命令来创建一个Python的虚拟环境了。
在当前目录下创建一个名字叫“env”的Python虚拟机,命令如下(但千万先不要执行这条命令):
pi@raspberrypi:~ $ virtualenv --system-site-packages -p python3 env
这条命令执行时会出现很多的问题,最主要的原因就是网速。首先安装 setuptools,请在树莓派终端执行这条命令:
pi@raspberrypi:~ $ sudo pip3 install setuptools
接着如果马上再试着执行刚才创建虚拟机的命令,发现还是会报错(所以,依然不要执行那条创建虚拟机的命令)
OSError: Command /home/pi/env/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2
上面的错误经过搜索之后说是pip没有更新到最新版。
于是再执行更新 pip3 的命令,请在树莓派终端执行这条命令
pi@raspberrypi:~ $ sudo pip3 install pip -U
然后再试着执行刚才创建虚拟机的命令,依然报错!!(所以,仍然不要执行那条创建虚拟机的命令)
继续搜索可行的方案,GitHub上有人说是没有配置locale的问题,然后请在树莓派终端执行下面的命令:
pi@raspberrypi:~ $ export LC_ALL="en_US.UTF-8"
pi@raspberrypi:~ $ export LC_CTYPE="en_US.UTF-8"
之后,再次执行创建虚拟机的命令
pi@raspberrypi:~ $ virtualenv --system-site-packages -p python3 env
然后,成功了~~~!如果上面的命令提示找不到 virtualenv 命令的话,那就执行下面的命令
pi@raspberrypi:~ $ python3 -m virtualenv --system-site-packages -p python3 env
这时,可以在当前目录下看到 env
文件夹下的 bin
文件夹里有了 activate
命令。
如果这时还是出错的话,那就再次更新 setuptools 和 virtualenv,也就是在中断里再次执行
pi@raspberrypi:~ $ pip3 install setuptools -U -i https://pypi.tuna.tsinghua.edu.cn/simple
pi@raspberrypi:~ $ pip3 install virtualenv -U -i https://pypi.tuna.tsinghua.edu.cn/simple
上面的命令执行完成后,再次在终端里执行建立虚拟机的命令
pi@raspberrypi:~ $ python3 -m virtualenv --system-site-packages -p python3 env
然后就能看到下图这个美丽的界面了!
如果要进入这个虚拟机,可以执行以下命令
pi@raspberrypi:~ $ source ~/env/bin/activate
然后就可以看到自己的终端命令提示符前出现了 (env)
字样,表示我们成功进入Python的虚拟机了。
(env)pi@raspberrypi:~ $
如果需要经常在Python的这个虚拟机下操作的话,可以把刚才那条命令放在环境变量里,这样开机就能直接进入这个虚拟机。
如果你现在在Python的虚拟机下,那么首先输入deactivate
命令退出虚拟机。然后执行以下命令修改环境变量(注意命令行开头没有虚拟机的名字,表示我们已经退出虚拟机):
pi@raspberrypi:~ $ sudo echo "source ~/env/bin/activate" >> ~/.bashrc
pi@raspberrypi:~ $ source ~/.bashrc
如果要退出,需要输入 deactivate
命令。
6 安装 Donkeycar 的源码包
6.1 创建项目目录
(env)pi@raspberrypi:~ $ mkdir projects
(env)pi@raspberrypi:~ $ cd projects
6.2 克隆仓库源码
这个源码包部署在GitHub上,微雪提供的那份也是从Donkeycar的仓库上fork的,为了让源码下载更顺利,我把微雪的那份从GitHub上迁移到自己的码云上。
自己没有仓库,也不懂什么叫仓库的同学可以直接去 6.2.3 那里
6.2.1 在GitHub上fork仓库到自己的账户下
先登录自己的GitHub账号,访问微雪的 Donkeycar 仓库,然后点击 fork
,把仓库 fork到自己的账户上。(如果没有GitHub账户好像也没事,直接去码云上操作下面的步骤,只不过把GitHub仓库的地址选择成微雪那份也行。)
6.2.2 将自己GitHub上的仓库导入到自己的码云仓库里
接着登录自己的码云,点击右上角的 + 号,选择最后一项“从GitHub / GitLab 导入仓库”
然后输入GitHub上自己仓库的地址
之后点击“导入”按钮,等待导入完成,就可以进入导入过来的仓库页面了。在这个页面上点击“克隆 / 下载”按钮,选择“HTTPS”方式的地址,点击“复制”,然后使用 git clone
命令把仓库克隆到树莓派上。
6.2.3 克隆仓库源码到本地
我已经把这个仓库导入到了自己的码云上,仓库是公开的,可以直接克隆,所以没有码云的同学可以直接执行下面的命令。
(env)pi@raspberrypi:projects $ git clone https://gitee.com/ursaminor68/donkeycar.git
(env)pi@raspberrypi:projects $ cd donkeycar
(env)pi@raspberrypi:donkeycar $ git checkout master
6.3 以可编辑模式安装项目
接下来需要以可编辑模式安装项目,需要执行的指令是:
(env)pi@raspberrypi:donkeycar $ pip install -e .[pi]
这条命令执行起来简直是要了命了,一个名叫 h5py-3.1.0-cp37-cp37m-linux_armv7l.whl
的文件 5.1MB,但就是下载不下来,www.piwheels.org
速度太慢了,总是超时,国内目前没有这个网站的镜像源。
下载慢就不要这样等待了,直接
CTRL-C
退出指令执行,在终端中复制 h5py-3.1.0-cp37-cp37m-linux_armv7l.whl 文件的下载路径,然后用Chrome把这个文件下载到本机,并使用scp
命令把文件传到树莓派上单独安装。
请在PC机上打开另一个终端,进入刚才文件下载到的路径中(我这里是Mac系统,直接下载到了用户目录的Download文件夹里,所以我的命令提示符前显示的是“Download”,请你在执行scp命令前一定要先进入到所下载的文件的路径下,然后再去执行scp命令),执行下面的命令
➜ Download scp -P 22 h5py-3.1.0-cp37-cp37m-linux_armv7l.whl pi@192.168.31.187:/home/pi/projects/donkeycar/
然后在树莓派终端中执行安装命令
(env)pi@raspberrypi:donkeycar $ pip install h5py-3.1.0-cp37-cp37m-linux_armv7l.whl
等待安装完成后,再执行那条可编辑模式安装项目的命令即可(这里还指定了清华源,速度会稍微快一些。)
(env)pi@raspberrypi:donkeycar $ pip install -e .[pi] -i https://pypi.tuna.tsinghua.edu.cn/simple
6.4 安装 TensorFlow
TensorFlow的安装过程中同样会需要几个比较大的 .whl
文件,所以统一需要先用浏览器把这几个文件先下载到PC机上,然后通过 scp
命令传输到树莓派上离线安装。
PC上下载的文件有:
https://www.piwheels.org/simple/grpcio/grpcio-1.33.2-cp37-cp37m-linux_armv7l.whl
https://www.piwheels.org/simple/tensorflow/tensorflow-1.13.1-cp37-none-linux_armv7l.whl
首先上传 grpcio-1.33.2-cp37-cp37m-linux_armv7l.whl
在PC端执行
➜ Download scp -P 22 grpcio-1.33.2-cp37-cp37m-linux_armv7l.whl pi@192.168.31.187:/home/pi/projects/donkeycar/
上传完成后,在树莓派端执行
(env)pi@raspberrypi:donkeycar $ pip install grpcio-1.33.2-cp37-cp37m-linux_armv7l.whl
接着上传 tensorflow-1.13.1-cp37-none-linux_armv7l.whl
在PC端执行
➜ Download scp -P 22 tensorflow-1.13.1-cp37-none-linux_armv7l.whl pi@192.168.31.187:/home/pi/projects/donkeycar/
上传完成后,在树莓派端执行
(env)pi@raspberrypi:donkeycar $ pip install tensorflow-1.13.1-cp37-none-linux_armv7l.whl
6.5 安装 numpy
同样先用Chrome下载文件到PC机本地
numpy-1.19.4-cp37-cp37m-linux_armv7l.whl
通过PC端上传到树莓派
➜ Download scp -P 22 numpy-1.19.4-cp37-cp37m-linux_armv7l.whl pi@192.168.31.187:/home/pi/projects/donkeycar/
上传完成后在树莓派终端执行安装命令
(env)pi@raspberrypi:donkeycar $ pip install numpy-1.19.4-cp37-cp37m-linux_armv7l.whl
6.6 验证 TensorFlow 是否安装成功
在树莓派终端运行
(env)pi@raspberrypi:donkeycar $ python -c "import tensorflow"
可能会出现一堆的 Warrning,但我觉得应该是成功了。
7 安装OpenCV
(env)pi@raspberrypi:donkeycar $ sudo apt-get install python3-opencv
安装完成后测试一下。
(env)pi@raspberrypi:donkeycar $ python -c "import cv2"
如果没有任何错误返回,表明安装成功。
8 安装 OLED 显示服务
这个源码也是在GitHub上,需要参考6中的操作,把GitHub上的源码导入到码云上,然后再使用git克隆到本地。
(env)pi@raspberrypi:donkeycar $ cd ~
(env)pi@raspberrypi:~ $ git clone https://gitee.com/ursaminor68/pi-display.git
(env)pi@raspberrypi:~ $ cd pi-display
(env)pi@raspberrypi:pi-display $ sudo ./install.sh
9 从模板创建Donkeycar实例
(env)pi@raspberrypi:donkeycar $ donkeycar createcar --path ~/mycar
等待创建完成,就可以在用户目录下看到新创建的 mycar
项目了。
Done~!
Raspberry Pi 4B(4GB版)上搭建Donkeycar开发环境相关推荐
- 我的Go+语言初体验——iPad上搭建Go+开发环境(ish版)
目录 欢迎来到用iPad来学习Go+之旅 一.在 iPad 安装 Go+ 前的准备 1. iSH Shell 的作用 2. 安装 iSH Shell 3. 在 iSH 里安装一些常用软件 apk 命令 ...
- 在CentOS 6.2上搭建vim开发环境
在CentOS 6.2上搭建vim开发环境 最后更新日期:2013-07-05 1.首先使用Ubuntu(所在ip为192.168.16.230)翻墙登陆http://www.vim.org/,下载其 ...
- nodejs mac java home_Mac上搭建nodejs开发环境
###Mac上搭建nodejs开发环境 ####安装homebrew 1 2 3ruby -e "$(curl -fsSL https://raw.githubusercontent.com ...
- ubuntu16.04上搭建stm32f4开发环境
ubuntu16.04上搭建stm32f4开发环境 工程源码的地址 https://github.com/txson/ubuntu-stm32 欢迎大家参与修改 搭建交叉编译环境 stm32 属于ar ...
- 在Windows上搭建Rust开发环境——Clion篇
文章目录 在Windows上搭建Rust开发环境--Clion篇 安装mingw64 安装Rust hello world 安装Clion 使用Clion创建并调试项目 在Windows上搭建Rust ...
- VSCode上搭建MDK开发环境
VSCode上搭建MDK开发环境 提示:需先安装MDK编译器(Keil5) 目的:在使用Keil5开发程序中若要使用"Go to"功能需要打开"Browse Inform ...
- VM上搭建IPhone开发环境
Windows平台上安装搭建iPhone/iPad的开发环境 一棵树技术分享2010/09/09给我留言8,644 views 来自 http://bbs.ldci.com.cn/read.php?t ...
- 使用R7版NDK搭建Android开发环境[不使用Cgywin]
废话不多说,只说几句. 写这个的初衷是因为公司的项目需要,领导要求我搭建一个Android的开发环境(Eclipse + NDK),我算上找资料,下载,安装,配置环境及写文档,正好用了一个工作日.先把 ...
- Ubuntu 11.04上搭建Android开发环境
本文给大家讲解下如何在Ubuntu 11.04环境下使用Eclipse, Android SDK和 PhoneGap搭建Android开发环境. #1,安装Eclipse 和 Android SDK/ ...
最新文章
- 阻止应用继承的NTFS权限
- php大商创 安装,大商创X2020最新纯净服务器安装教程
- html让a标签左右一样宽,button和a标签设置相同的css样式,但是宽度不同
- 我想要一种语言,只需对它说我要干什么就行
- SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
- 17 FI配置-财务会计-定义雇员的容差组
- Python中的闭包与装饰器及工厂模式
- mysql8.0.11创建用户报错_mysql8.0.11修改root密码,其他创建用户和删除用户
- 荣耀note10升级android9.0,荣耀Note 10成为办公“超神”利器,只需要升级EMUI 9.0就够了!...
- STM32单片机启动文件startup_stm32f10x_hd.s详解
- java记住用户名和密码_JAVA--高级基础开发Cookie实现记住用户名和密码
- JDK动态代理的使用,以及可以解决哪些问题和优点,什么是动态代理
- 应用统计学学什么科目_应用统计学专业考研需考哪些科目
- 【笔记】WGS84转GCj02
- 红色警戒2兼容性补丁、联网补丁、全屏显示设置
- php算法----队列
- 《APP开发》APP规范实例-详细的UI设计方法
- SAP S4HANA1610/Fiori安装过程全记录
- Java Scaner小问题
- 华为p10 android几,华为p10国行版和海外版有什么区别 配置参数对比评测