树莓派学习

2023-05-16

树莓派学习教程

    • 系统安装
    • 数据源的更新与配置
    • 命令
    • 设定固定IP网络地址:
      • 法一
      • 法二
    • 给树莓派安装中文环境和中文输入法
    • 远程控制树莓派
      • SSH方式:通过putty软件实现(不需要屏幕)
      • VNC方式(需要屏幕)
    • 树莓派改造为视频监控系统
    • 2.8inch RPi LCD (A)
    • 5inch HDMI LCD (B)校准屏幕
    • 用树莓派做动作监控器(CSI)
    • 树莓派+MJPGStream打造智能监控系统(USB)
    • python2 opencv安装
    • python3 opencv安装
      • 方法1
      • 方法2
    • python编程
    • 库安装
    • GPIO实验
    • PyQt
    • Opencv

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

us_camera驱动下载地址

系统安装

DiskGenius:右键选择删除分区,点击保存更改
在这里插入图片描述
右键,建立新分区,保存更改
在这里插入图片描述
下载树莓派系统
通过WIn32_disk_imager向TF卡写入镜像(2021-05-07-raspios-buster-armhf)
在这里插入图片描述
在TF卡创建ssh文件

数据源的更新与配置

#使用管理员权限编辑/etc/apt/sources.list文件
sudo nano /etc/apt/sources.list
#用#注释掉原来的,将源更新为
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
#最后:Ctrl+O  —— ENTER(回车)——Ctrl+X退出
#使用管理员权限编辑/etc/apt/sources.list.d/raspi.list文件
sudo nano /etc/apt/sources.list.d/raspi.list
#用#注释掉原来的,将源更新为
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
#最后:Ctrl+O  —— ENTER(回车)——Ctrl+X退出
#数据源的更新与配置(TUNA源)
sudo apt-get update
sudo apt-get upgrade

命令

sudo raspi-config			#配置
sudo shutdown -h now		#关闭树莓派
sudo poweroff				#关闭树莓派
if config					#显示当前服务器IP
whoami						#显示用户
cd							#改变当前位置提供的命令
cat							#显示一个文件的内容
mkdir						#使用提供的文件夹路径创建一个新的文件夹
ls							#显示当前位置的文件和文件夹
pwd							#显示你所在位置的路径
sudo reboot					#重启树莓派
sudo passwd pi              #修改 pi 密码
sudo raspi-config			#设置
df -h						#验证磁盘是否已扩展

ls /dev/video*				#查看摄像头设备
raspistill -v -o test.jpg	#测试摄像头
lsusb						#产看摄像头是否被识别

#fswebcam命令测试抓图,第一个参数是摄像头对应的设备文件路径,第二个参数是保存截图的路径。
sudo apt-get install fswebcam
fswebcam /dev/video0 ~/image.jpg

#摄像
sudo apt-get install luvcview
luvcview -s 1080x720

树莓派解压rar文件:
安装:sudo apt install p7zip-full
输入y
在压缩文件所在路径解压:7z x 文件名.rar

设定固定IP网络地址:

法一

教程
#因为树莓派使用动态的IP网络地址,查看树莓派IP地址

#查看IP地址段
ip route show
ifconfig
#设置IP
sudo nano /etc/dhcpcd.conf

在这里插入图片描述

#Ctrl+O  —— ENTER(回车)——Ctrl+X退出
ping www.baidu.com
#中断ping命令:Ctrl + C

法二

右键点击Wi-Fi图标,点击无线与有线的网络配置
在这里插入图片描述
在这里插入图片描述

给树莓派安装中文环境和中文输入法

sudo apt-get install -y scim-pinyin		#安装scim
sudo scim									#会卡在starting scim...,重启系统后无需后续步骤也可。 
#配置中文环境

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

#在Configuring locales窗口中,找到zh_CN.UTF-8 UTF-8空格选中,并在确认后再次选择zh_CN.UTF-8
sudo apt-get install -y ttf-wqy-zenhei								#安装中文字库
sudo reboot																		#重启系统
#Ctrl+空格切换输入法

远程控制树莓派

SSH方式:通过putty软件实现(不需要屏幕)

#1 在树莓派通过ifconfig获取ip地址
#2 在putty软件输入ip地址连接
#3 输入用户名和密码,用户名:pi   密码:raspberry

在这里插入图片描述

sudo apt-get install xrdp									#4 安装库
#5 远程桌面:用户名:pi   密码:raspberry

在这里插入图片描述

VNC方式(需要屏幕)

sudo raspi-config 
#在Intefacing选项中开启VNC
#运行VNC并连接IP即可

树莓派改造为视频监控系统

#使用远程桌面
sudo apt-get install motion														#安装
sudo motion																		#运行
#在服务器输入:localhost:8081或者192.168.1.121:8081 
#使用树莓派屏幕

#远程访问
#开机启动
sudo nano /etc/default/motion													
#将no修改成yes,Ctrl+o完成改写保存,Ctrl+x退出
start_motion_daemon=yes
sudo apt-get install wim														#安装
sudo vim /etc/motion/motion.conf											    #启动
#搜索功能:Esc /或者Ctrl+w
#退出:Esc :wq
#daemon off 改成 on
daemon on
#设置分辨率
width 800
height 600
#每秒钟获得的帧数,2-100
framerate 15
#关闭 localhost 的限制
#修改stream_localhost on(只能在localhost下运行)为
stream_localhost off
#修改webcontrol_localhost on(将限制仅放置在localhost里)为
webcontrol_localhost off
#在服务器输入192.168.1.121:8081

2.8inch RPi LCD (A)

原文链接

#安装
git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/
sudo ./LCD28-show

#设置显示方向
cd LCD-show/
#X可选0、90、180和270。分别表示LCD旋转0度、90度、180度和270度。
sudo ./LCD28-show X
#在Raspbian-lite下的旋转命令如下:
cd LCD-show/
#X可选0、90、180和270。分别表示LCD旋转0度、90度、180度和270度。
sudo ./LCD28-show lite X
#安装校准软件进行校准
sudo apt-get install xinput-calibrator
#点击任务栏的Menu键,选择Preferences -> Calibrate Touchscreen
#如果要保存这些触摸值,需要在以下路径新建一个99-calibration.conf文件(如果已存在则不需要新建)
/etc/X11/xorg.conf.d/99-calibration.conf
#安装虚拟键盘

#HDMI显示
cd LCD-show/
./LCD-hdmi				#sudo ./LCD-hdmi

5inch HDMI LCD (B)校准屏幕

#安装屏幕校准软件
sudo apt-get install xinput-calibrator
sudo apt-get install xserver-xorg-input-evdev
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo reboot

在这里插入图片描述

用树莓派做动作监控器(CSI)

#通过远程桌面,启用CSI摄像头
sudo raspi-config
#选择:Interfacing Options——Camera Enable
#安装摄像头并测试,会在目录下生成testjpg
raspistill -v -o test.jpg
#新建目录文件picam
运行picam.py测试
python picam.py

树莓派+MJPGStream打造智能监控系统(USB)

帖子

sudo raspi-config

在这里插入图片描述

#camera,enable 
#安装必要的库
sudo apt-get update
sudo apt-get install subversion
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev
sudo apt-get install cmake
sudo apt-get install git
#下载开源MJPG STREAMER
sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
sudo make all
sudo make install
./mjpg_streamer -i “./input_uvc.so” -o “./output_http.so -w ./www”
#如何让找到摄像头,在浏览器输入192.168.0.110:8080/?action=stream
#取消服务:Crtl+C
#设置视频参数
./mjpg_streamer -i “./input_uvc.so -f 30 -r 800x600" -o “./output_http.so -w ./www”

python2 opencv安装

#首先进行”数据源的更新与配置“参考上文
sudo nano /etc/modules
bcm2835-v4l2			再末尾添加

在这里插入图片描述

#先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面。
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
#测试
python					#或者python2
import cv2

在这里插入图片描述

cv2.__version__				#查看opencv版本号,输入

python3 opencv安装

方法1

pip3 install opencv-python
pip3 install opencv-contrib-python==4.1.0.25

sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev -y
sudo apt-get install libqtgui4
sudo apt-get install python3-pyqt5 -y
sudo apt-get install libqt4-test
sudo apt-get install libhdf5-dev -y
#测试
python3
import cv2

方法2

参考文章1
参考文章2
参考文章3
参考文章4

#0、更换源
sudo nano /etc/apt/sources.list
#用#注释掉原文件内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ contrib main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ contribmain contrib non-free rpi
#然后ctrl+o保存,点回车确认保存,然后ctrl+x退出
sudo nano /etc/apt/sources.list.d/raspi.list
#用#注释掉原文件内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
#然后ctrl+o保存,点回车确认保存,然后ctrl+x退出
 sudo apt-get update
 sudo apt-get upgrade
#1、安装numpy
sudo pip3 install numpy
#2、在树莓派设置中把根目录扩大到整个SD卡
sudo raspi-config
#选择Advanced Options,再选择Expand Filesystem——sudo reboot
#3、安装OpenCV所需的库
#需要更换为默认软件源#
sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y

sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
#4、下载OpenCV
#利用VNC传送下载好的opencv库#

在这里插入图片描述

#将opencv-4.1.0.zip和opencv_contrib-4.1.0.zip放在Downloads文件夹中,再解压库
cd /home/pi/Downloads
unzip opencv-4.1.0.zip
unzip opencv_contrib-4.1.0.zip
#创建存放设置编译参数和编译的文件夹
cd /home/pi/Downloads/opencv-4.1.0
mkdir build
cd build
#5、设置编译参数,时间15分钟左右
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-4.1.0/modules \
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..
#6、编译
cd /home/pi/Downloads/opencv-3.4.0/build
make
#等待5个小时
sudo make install
#7、在Python3上测试OpenCV
python3
import cv2

python编程

print("abc")			#输出,单双引号均可
\u03c0					#圆周率
+\						#长输出换行
Ctrl+/					#批量注释

python常用快捷键
ctrl+r:替换
ctrl+F:查找

库安装

#linux、Ubuntu
#matplotlib
sudo apt-get install python3-matplotlib

#python3安装pyzbar
sudo pip3 install pyzbar
s
#python2 Non-ASCII character ‘\xe8‘ in file
#coding=UTF-8

#pip install 

#windons
#安装opencv
exit()										#退出
python -m pip install --user --upgrade pip	#升级pip,在install后加--user
pip install opencv-python					#安装

pip3 install pyqt5							#安装pyqt5

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

GPIO实验

led实验
VCC连接led的VCC
GPIO14连接PA0
在这里插入图片描述
PWM实验

import RPi.GPIO as GPIO

#指定GPIO口的选定模式为GPIO引脚编号模式
GPIO.setmode(GPIO.BOARD)
#指定GPIO口的选定模式为主板编号模式
#RPi.GPIO.setmode(RPi.GPIO.BOARD)

GPIO.setup(12, GPIO.OUT)

#创建一个 PWM 实例
#p=GPIO.PWM(channel, frequency)	#frequency单位为Hz
p=GPIO.PWM(12, 0.5)

#启用 PWM
#p.start(dc) # dc 代表占空比(范围:0.0 <= dc >= 100.0)
p.start(1)				  #越小光越强

input('点击回车停止:')   # 在 Python 2 中需要使用 raw_input

#停止 PWM
p.stop()

GPIO.cleanup()
#led正极接12脚,负极接11脚
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(12, GPIO.OUT)
 
p = GPIO.PWM(12, 50)
p11 = GPIO.PWM(11, 38)
 
p.start(0)
p11.start(0)
 
try:
    while 1:
        for dc in range(0, 101, 5):
            p.ChangeDutyCycle(dc)
            p11.ChangeDutyCycle(dc)
            time.sleep(0.1)
        for dc in range(100, -1, -5):
            p.ChangeDutyCycle(dc)
            p11.ChangeDutyCycle(dc)
            time.sleep(0.1)
except KeyboardInterrupt:
    pass
 
p11.stop()
GPIO.cleanup()
#更改频率
p.ChangeFrequency(freq)   		# freq 为设置的新频率,单位为 Hz
#更改占空比
p.ChangeDutyCycle(dc)  			# 范围:0.0 <= dc >= 100.0

PyQt

QSlider
QSlider
QLabel

Opencv

cv2.resize
imread()
imwrite
图片处理,HSV、色调、亮度调节
对比度
亮度
Qt提供了QImage、QPixmap、QBitmap和QPicture四种图像操作类。
QImage类主要用于I/O和直接逐像素访问、操作;
QPixmap主要用于在屏幕中显示图像;
QBitmap是一个基于方便考虑继承自QPixmap的提供1bit深度二值图像的类;
QPicture是一个可以记录和响应QPainter类命令的画图设备。

QLabel的setPixmap()就可以将图片显示出来
setPixmap

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派学习 的相关文章

  • CMakeLists.txt文件编写

    重点 1 cmake版本要求 cmake minimum required VERSION 3 15 2 工程名 project algorithm 3 支持C 43 43 11标准 set CMAKE CXX STANDARD 11 4
  • [Eigen]

    Eigen 库学习笔记 参考原文为 xff1a https www cnblogs com rainbow70626 p 8819119 html 为了方便查看 xff0c 以防找不到 xff0c 所以写了这篇博客 目录 Eigen 矩阵定
  • 【1】嵌入式学习

    嵌入式学习 GitHub xff1a https github com Screw888 LearningNote git
  • ubuntu swap分区扩容

    span class token comment 将现有的swap内存移动到主内存 span span class token function sudo span swapoff a span class token comment 创建
  • 强推!!!解决UnicodeEncodeError: ‘gbk‘ codec can‘t encode character.....: illegal multibyte

    解决pycharm编码报错问题 困扰了好几天的编码问题终于得到了解决 xff0c 其实问题很简单 xff0c 当你用pycharm打开一个txt json csv文件时 xff0c 像下面这种 xff1a 明明已经指定了编码方式为utf 8
  • EC20模块AT指令MQTT连接阿里云IoT,HTTP接口来实现一型一密动态注册的流程。

    EC20模块AT指令MQTT连接阿里云过程 推荐 xff1a 使用移远BC28 模组对接阿里云 MQTT 嵌入式 lx121451的博客 CSDN博客 https blog csdn net lx121451 article details
  • FastStone Capture 9.3 汉化绿色便携版 - 极品屏幕截图工具

    FastStone Capture http blog sina com cn flyonzone 是一款极好用的图像浏览 编辑和截屏工具 xff0c 支持 BMP JPG JPEG GIF PNG TIFF WMF ICO 和 TGA 在
  • Keil5打开工程提示not found device解决方法

    keil5打开别人工程时 xff0c 提示 not found device xff0c 无法在程序内定位函数 当打开别人的工程时 xff0c 弹窗提示not found device xff0c 并且无法定位函数位置 xff0c 打开Op
  • Record: My CMakeLists

    1 设置需要的最小版本的cmake cmake minimum required VERSION 3 10 2 定义生成的项目名 project perceive tracking 3 1 设置cmake参数 set CMAKE CXX F
  • W5500网口模块例程及网络测试工具

    W5500网口模块例程及说明 https blog csdn net qq 21903491 article details 79645544 utm medium 61 distribute pc relevant none task b
  • 推荐使用的热电阻Pt100测温电路

    铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器 由于其测量准确度高 测量范围大 复现性和稳定性好等 被广泛用于中温 200 xff5e 650 范围的温度测量中 PT100是一种广泛应用的测温元件 xff0c 在 50
  • stm32内存架构及堆栈管理

    https blog csdn net su fei ma su article details 104229453 utm medium 61 distribute pc relevant none task blog 2 default
  • STM32CubeMX SDIO SD卡 FATFS

    390条消息 STM32CubeMX系列09 SDIO xff08 SD卡读写 SD卡移植FATFS文件系统 xff09 stm32cubemx sdio 32Haozi的博客 CSDN博客 https blog csdn net weix
  • Windows下安装使用ADB,简单易懂教程

    下载 因为adb工具是放在android sdk里platform tools中的 xff0c 所以只需要到浏览器 xff08 推荐使用Google Chroma xff09 中搜索android sdk到官网进行下载即可 xff0c 此时
  • 【GD32F303】星空派介绍

    一 开发板介绍 星空派 xff08 GD xff09 开发板是由旗点科技推出的一款GD32开发板 xff0c 板载GD32F303ZET6芯片 xff0c 可直接替代STM32F103和GD32F103系列 支持RT Thread操作系统等
  • Petalinux安装

    1 petalinux v2018 2安装 1 1 安装前准备 阅读 ug1144 petalinux tools reference guide pdf 的 Ch 2 Setting up your Environment 将Ubuntu

随机推荐