树莓派入坑笔记

Posted 萍水相逢敌泛泛之交

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派入坑笔记相关的知识,希望对你有一定的参考价值。

一、安装树莓派官方操作系统Raspbian-stretch步骤:

准备好SD卡(大小一般16GB及以上)
准备SD卡的读卡器

准备树莓派的镜像:

链接:https://pan.baidu.com/s/1eI3P8-Kbq1nMZDVOXw9xNA 
提取码:64tq 

SD卡格式化工具SD Formatter
SD卡镜像(操作系统)烧录软件:
Win32DiskImager或balena-etcher
1.格式化软件:SDFormatter官网连接

或者我的网盘链接:https://pan.baidu.com/s/1IbS48xg5OQpA8jhgEbc1ew 
提取码:otoh 

 


2.烧录:Win32 Disk Imager官网链接

或者我的网盘链接:链接:https://pan.baidu.com/s/1TLUZhWjnewSYdezqa58EVQ 
提取码:f57j 

输入镜像/SD盘

--write(等待烧录成功)
3- 然后在boot文件夹: 创建两个文件
    ①ssh的文件,不用后缀。
    ②新建一个空白文件wpa_supplicant.conf,然后打开此文件:输入以下内容

    配置多个wifi

    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1

    network=
    ssid="abc"//要连接wifi1的用户名
    psk="12345678"//wifi密码
    key_mgmt=WPA-PSK
    priority=1
    

    network=
    ssid="asd"//要连接wifi2的用户名
    psk="12345678"//wifi密码
    key_mgmt=WPA-PSK
    priority=2

    


4. 在windows的资源管理器中看不到SD卡里的linux文件,我们可以用linux-Reader.exe工具查看SD卡里面的文件
5然后可以拔出SD卡,插到树莓派的SD卡槽
6.接上电源,通电,开机
如果树莓派接上显示屏,可以点击右上角网络标志,即可显示ip地址
可以通过命令行窗口,输入下面命令,即可显示ip地址:ifconfig。

由于3B没有HDIM插槽,只能远程操作

7.Vncviewer远程桌面

百度网盘链接:链接:https://pan.baidu.com/s/1GahQPAcq0Kpn4X2Du_Qv_g 
提取码:83j7 

VNC 是在基于 UNIX 和 Linux 操作系统的免费的 开源软件 ,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。(哈哈~百度了解的)


二、远程登录树莓派
1.可以通过远程ssh工具putty,或者Xshell等远程连接软件登录树莓派。

putty的提取:链接:https://pan.baidu.com/s/1O9jPEpXRtw9W--5exI2usA 
提取码:2mmw 

#我使用的是putty所以只有这个的网盘

例如:ip地址为192.168.200.196

这个IP怎么看呢?

(可插显示屏在命令行输入ifconfig,没有,我是连接手机热点连接手机,在个人热点里面看的IP可怜死我了呜呜~~)
打开PuTTY远程连接软件,输入ip地址既可远程连接到树莓派。

进入树莓派界面:用户名为pi
               密码:raspberry
2.系统扩展到整个SD卡,使得系统资源利用率更高
输入命令sudo raspi-config
    进入如下界面,选择Advanced Options选项(只能用上下键,键盘操作)
     选择Expand Filesystem选项就好啦
3. VNC远程连接
    sudo raspi-config
    interfacing Options
    vnc
    finish
4.更新软件源
更新软件源:sudo nano /etc/apt/sources.list
中科大deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi 

 清华deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

 重庆大学deb http://mirrors.cqu.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

  浙江大学deb http://mirrors.zju.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

 阿里云deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi 

以下是操作系统的基础的操作命令:
Vim编辑:wq
保存后退出:wq!
强制保存后退出:w
保存但不退出:w!
若文件属性为只读时,强制写入该文档:q
不保存并退出:q!
①先输入指令 使用vi命令编辑sources.list(中科源,清华源yyds)
②然后执行命令sudo apt-get update
③可以执行命令安装VNC,sudo apt-get install tightvncserver
④安装完VNC,需要执行命令 tightvncserver 来开启vnc服务
you will require a password to acess your desktops(创建登录的密码)
New ‘x’desktop is raspberrypi:n(n为数字)
对应输入IP:n
⑤再PC端或者iPad上下载VNC Viewer,输入IP地址和端口号,然后根据提示输入密码,就可以登陆

三、树莓派摄像头使用教程
1.Picamera使用

注意不要把文件命名为picamera.py,因为这会和python库函数名冲突
from picamera import PiCamera, Color
from time import sleep

demoCamera = PiCamera()

demoCamera.start_preview()    #打开摄像头预览
demoCamera.annotate_background = Color('white')
demoCamera.annotate_foreground = Color('red') 
demoCamera.resolution = (480, 320)      #设置摄像头的分辨率
demoCamera.framate = 60                 #设定摄像头的帧率
demoCamera.annotate_text = " Picamera"      #在图像上方显示一段文字
sleep(5)    #休息5秒
demoCamera.capture('/home/pi/Desktop/photo.jpg')    #拍下并保存一张照片
demoCamera.stop_preview()      #关闭摄像头预览


2.使用USB摄像头
1. 使用lsusb命令
$ lsusb
SSH终端会显示树莓派当前接入的USB设备列表,
我们可以先不插摄像头,lsusb,然后插上摄像头lsusb,就可以看到USB摄像头对应的是哪个设备了
2. 查看设备文件
也可以查看设备文件,输入命令:
$ ls /dev/video*
查找到摄像头,我们可以使用fswebcam命令测试抓图:
$ sudo apt-get install fswebcam
$ fswebcam /dev/video0 ~/image.jpg
fswebcam最简单的用法,第一个参数是摄像头对应的设备文件路径,第二个参数是保存截图的路径。
如果不满足于抓图,我们还可以看看摄像头的效果。只需要登录VNC,启动树莓派上的终端,使用luvcview即可:
$ sudo apt-get install luvcview
$ luvcview -s 1080x720

3.树莓派连接官方CSI摄像头的安装与使用
安装摄像头
执行下文介绍的命令行进行下载并安装最新的内核,
GPU 固件及应用程序。您需要连接到互联网才可以实现以下操作。
$sudo apt-get update
$sudo apt-get upgrade
  接下来,您首先需要在 Raspberry Pi 的 raspi-config 程序中启用摄像头的支持。
1)连接摄像头与树莓派
2)修改树莓派配置,开启摄像头模块。
sudo raspi-config
测试系统已经完成安装并正常工作,可尝试以下命令
$raspistill -v -o test.jpg
树莓派专用CSI摄像头插到树莓派的CSI口上并在在raspi-config中打开后就可以使用Raspistill命令直接使用,但如果在OpenCV中调用CSI摄像头会出现无数据的现象(cv2.VideoCapture(0)这时不会报错)。
这是因为树莓派中的camera module是放在/boot/目录中以固件形式加载的,不是一个标准的V4L2的摄像头驱动,所以加载起来之后会找不到/dev/video0的设备节点。我们在/etc/modules里面添加一行bcm2835-v4l2(小写的L)就能解决问题。
sudo nano /etc/modules 然后加上一行 bcm2835-v4l2 如图 最后重启

四、python版本的转换(也可以不转换)
1.在buster中,python默认的版本是2.7和3.7,我们选择安装与pytorch最兼容的3.5版本(现在可以使用3.7)。
sudo apt-get install python3.5 #默认安装的是python3.5.4
2.如果不想使用python2.7,可以将其卸载(最好不要随意卸载3.7,可能造成一些问题)。
卸载完后,如果想敲python直接出现python3.5的信息,那么:
先删除之前python的链接
sudo rm /usr/bin/python
创建python3.5的链接
sudo ln -s /usr/bin/python3.5 /usr/bin/python   
之后输入python就是python3.5了
sudo apt-get autoremove python2.7

五、Opencv使用
1、安装opencv
要用opencv,得先安装吧,树莓派下的安装与其他操作系统python下的安装一致,直接用命令:注意python3 使用pip3
$ sudo pip install opencv-python or sudo apt-get install python-opencv
如果遇到失败,是需要升级一些依赖项
pip更新:$ sudo pip install --upgrade pip
依赖项更新:$ sudo apt-get update and sudo apt upgrade

有时候还会遇到缺少一些包的问题,比如报错ImportError: libSM.so.6: cannot open shared object file: No such file or directory
就需要执行:$ sudo apt-get install libsm6
简言之遇到这种问题,缺什么就下什么

安装好后,试试import cv2成功就好了
安装一个功能齐全的OenpCV视觉库
sudo apt-get update 保证各个软件都是最新的,你将要下载很多东西,请保证网络畅通。
sudo apt-get install build-essential 安装编译OpenCV必不可少的依赖库
sudo apt-get install build-libavformat-dev该库提供一种音视频码流的编解码方法
sudo apt-get install ffmpeg该库提供音视频流的转码功能
sudo apt-get install python-opencv OpenCV所依赖的Python开发包
sudo apt-get install opencv-doc 安装OpenCV开发文档,万一你需要呢
sudo apt-get install libcv-dev 安装编译OpenCV所需要的头文件和静态库
sudo apt-get install libcvaux-dev安装更多的开发工具来编译OpenCV
sudo apt-get install libhighgui-dev安装另一个编译OpenCV所需要的头文件和静态库
cp -r /usr/share/doc/opencv-doc/examples /home/pi/ 将所有示例拷贝到你的根目录
用ls /dev/查看有没有video0的设备
- 测试摄像头 把刚刚拷贝到根目录下的例程中 camera.py 复制出来,测试一下摄像头
cp /home/pi/examples/python/camera.py /home/pi/
python camera.py运行看有没有图像video0的设备
坑!
解决apt --fix-broken install(下面报错的包没有依赖关系)
①执行apt --fix-broken install


②解决错误apt --fix-broken install
sudo apt --fix-broken install
sudo dpkg -i --force-overwrite [文件名//报错里面有路径
cd /var/lib/dpkg/
sudo mv info/ info_bak          # 现将info文件夹更名
sudo mkdir info                 # 再新建一个新的info文件夹
sudo apt-get update             # 更新
sudo apt-get -f install         # 修复
sudo mv info/* info_bak/        # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info                # 把自己新建的info文件夹删掉
sudo mv info_bak info           # 把以前的info文件夹重新改回名
 

以上是个人查找资料,借鉴其他大神博主,实践操作之后的笔记,谢谢各位大神博主的帮助,这是只是本人的一篇学习笔记。

以上是关于树莓派入坑笔记的主要内容,如果未能解决你的问题,请参考以下文章

树莓派学习笔记交叉编译概念及安装使用

py3学习笔记0(入坑)

SSHFS使用笔记

树莓派点灯笔记(论如何学好控制IO输出)

树莓派点灯笔记(论如何学好控制IO输出)

CANopen笔记4 -- CanFestival在树莓派3B+上使用