树莓派入门教程

烧录树莓派

给大家记录一下我是如何烧录树莓派的。
开始烧录之前,需要准备树莓派主板、读卡器、64gSD卡、树莓派充电器以及一台电脑。
先将SD卡格式化

在这里插入图片描述
然后在官方树莓派镜像烧录器上进行烧录,选择需要写入的操作系统和存储卡,接着一定要编辑设置,这是配置的关键。

在这里插入图片描述
配置如下:
在这里插入图片描述
在这里插入图片描述
设置中,填写树莓派登录名称和密码,以及WiFi名称和密码(我连接的是手机热点,是可以的),语言选择亚洲上海,CN,打开SSH服务,确认无误后就可以开始烧录了,这个过程可能有点慢,耐心等待,显示以下页面就说明成功了。

在这里插入图片描述
然后,打开手机热点,把SD卡插在树莓派上并接通电源,耐心等待,手机显示以下页面就说明连接成功。

在这里插入图片描述

查找树莓派IP地址

因为我没有插树莓派屏幕,所以我就选择用电脑控制树莓派,前提是电脑和树莓派连接同一WiFi(手机热点),想要电脑控制树莓派,就得知道树莓派的IP地址,我在网上找了好长时间,找到了一种很奇葩(可能是我学识不够,但当时是第一次了解)但很有效的方法:将我上传的压缩包压缩包下载到电脑上并解压缩,准备一根数据线,连接手机和电脑,打开手机的开发者模式(我的是oppo手机:设置->关于本机->版本信息->连续多按几次版本号)打开解压后的文件夹,上方栏输入cmd即打开终端,输入adb shell(打开手机的USB调试),成功打开后输入ip neigh,即可看到IP地址,要是分不清是哪一个,可以看一下手机热点界面的树莓派物理地址,然后对照即可,我的树莓派IP地址是192.168.136.210,这个一定要记住。

在这里插入图片描述
在这里插入图片描述

远程连接

下载并安装两个软件vncviewer和MobaXterm,对我来说,两者各有优点,vncviewer能够显示树莓派桌面,MobaXterm能够将电脑文件快速传输至树莓派。
电脑控制树莓派的前提是二者连接同一无线网(手机热点)。
先说MobaXterm_Personal,打开软件后,点击session->SSH,然后输入树莓派IP地址和名称,再点击ok后输入树莓派密码。

在这里插入图片描述
如果显示以下页面就说明连接成功。

在这里插入图片描述
之后,在MobaXterm中的树莓派终端中打开VNC server,即输入命令sudo raspi-config即可进入以下界面,键盘的上下左右键可控制移动,选择Interface Options->VNC并打开。

在这里插入图片描述在这里插入图片描述打开后按TAb键可选择下面的两个按键(finish是退出)退出此界面。

在这里插入图片描述
在这里插入图片描述
然后打开vncviewer,并输入IP地址后连接,然后输入树莓派的名称和密码后点击ok即可进入树莓派桌面。

在这里插入图片描述
桌面如下:

在这里插入图片描述

安装arduino IDE

因为我们实验室的项目要求是树莓派做上位机控制arduino uno做下位机,所以我还需要将树莓派和arduino开发板进行串口通信,我认为比较好的方法就是在树莓派上下载一个arduino IDE,操作如下:
首先,需要将树莓派上的串口设置打开,打开VNC viewer进入树莓派桌面,打开树莓派标识->首选项->树莓派配置,在配置中打开串口和终端串口。

在这里插入图片描述
配置完之后,在树莓派终端输入sudo apt-get install arduino来安装arduino IDE,有问yes or no的直接选yes,接下来就是漫长的等待。
在这里插入图片描述
出现以下页面就说明成功。

在这里插入图片描述
然后打开VNC viewer进入桌面,点击树莓派标识->programming->Arduino IDE,即可打开arduino IDE,关于arduino IDE的使用和PC端使用情况一致,不做赘述。

在这里插入图片描述
在这里插入图片描述

安装opencv

我还需要让树莓派外接一个摄像头实现图像识别相关的功能,以下方法是我在csdn上看到的方法,也是找了好长时间才找到的。详细文章见此,我只是做了简化:原文章
首先查看自己的系统架构,打开树莓派终端,输入uname -m -> lsb_release -a,如果是下图界面,说明和我的系统架构一致,继续以下步骤,如果不是,下面的就不用看了,去看原文章吧。
在这里插入图片描述
接下来是换源,输入sudo nano /etc/apt/sources.list,将内容全部注释,粘贴以下内容:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
 
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
 
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
 
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
 
# deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# # deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

然后保存(Ctrl+O)并退出(Ctrl+X)。
接着换一个配置文件,输入以下:sudo nano /etc/apt/sources.list.d/raspi.list,将其中内容全部注释,并粘贴以下内容:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 54404762BBB6E853 BDE6D2B9216EC7A8

更新系统:

sudo apt-get update
 sudo apt-get upgrade

输入代码sudo apt-get install python3-opencv安装opencv,耐心等待。
安装好之后,输入以下代码:

python3
import cv2
cv2.__version__

如果是以下效果就说明安装成功,输入exit()是退出

在这里插入图片描述

然后打开树莓派标识->programming->Thonny,并插上摄像头。

在这里插入图片描述

输入以下代码并点击运行

import cv2
import os
import sys
import contextlib

# Context manager to suppress stderr
@contextlib.contextmanager
def suppress_stderr():
    with open(os.devnull, 'w') as devnull:
        old_stderr = sys.stderr
        sys.stderr = devnull
        try:
            yield
        finally:
            sys.stderr = old_stderr

# Initialize the camera
cap = cv2.VideoCapture(0)

# Check if the camera opened successfully
if not cap.isOpened():
    print("Camera failed to open")
    exit()

# Set the camera resolution
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)

while True:
    # Read a frame from the camera
    ret, frame = cap.read()

    # Check if the frame was read successfully
    if not ret:
        print("Failed to read frame")
        break

    # Display the frame
    with suppress_stderr():
        cv2.imshow('Camera', frame)

    # Exit loop on 'q' key press
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# Release the camera
cap.release()

# Close all OpenCV windows
cv2.destroyAllWindows()

在这里插入图片描述
运行时会出现类似于libpng warning: iCCP: known incorrect sRGB profile这样的报错,但不影响程序的运行,如果大家感兴趣可以自己研究研究原因。
这次的分享就到这里,如果对你有所帮助,还请不要吝啬你的点赞和收藏,这会对我有很大的帮助。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值