树莓派学习

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值