树莓派简单入门(基本小案例)

树莓派的简单入门

  • 默认的账号和密码
    • Raspberry Pi
    • CentOS 7
    • Ubuntu
  • 常用命令
    • 关机命令
    • 重启命令
    • 查看(tf卡)内存空间
  • 开启ssh连接
    • 方式一
      • 将空白的ssh文件放入SD卡的boot盘
    • 方式二
      • 1.SSH服务安装
      • 检查树莓派SSH服务是否开启
      • SSH服务开启
      • SSH服务配置端口
      • 树莓派SSH服务开机自动启动
    • 配置wifi文件,放入SD卡的boot盘
    • 获取树莓派ip
  • 更换源
    • 编辑/etc/apt/sources.list文件
    • 编辑/etc/apt/sources.list.d/raspi.list文件
    • 远程桌面连接
  • 遇到的问题
    • 树莓派打开文件夹闪退问题
  • 给Python的第三方模块安装工具pip换源
    • 方法一:一行命令换源
    • 方法二:配置换源脚本
  • 树莓派内部配置
    • Localisation Options选择地区
    • Change Timezone 选择所在时区
    • Change Wi-fi Country 选择wifi国家
    • Interfacing Options开启功能
  • 给树莓派固定ip地址,实现准确访问
    • 方式一
    • 方式二
  • 树莓派设置中文环境和中文输入法
    • 输入法
    • 安装中文字体及输入法
    • 配置中文环境
  • 在树莓派中截图
  • 安装虚拟键盘
  • 通过MOTION制作为视频监控
    • 摄像头配置
    • 树莓派上MJPG-streamer
      • 安装必要的库
    • 解决CSI摄像头报错
  • 树莓派使用fswebcam抓取图片
  • 树莓派+花生壳实现内网穿透
  • 树莓派控制gpio口
    • 点灯

我也是小白第一次玩,把一些经验总结一下,也是参考了许多大佬的博客
我使用的是树莓派3b,烧的系统也是最简单的2019-09-26-raspbian-buster-full

默认的账号和密码

Raspberry Pi

默认用户是 pi 密码为 raspberry

CentOS 7

默认主机名:rpi2 默认用户名 root 密码 centos

Ubuntu

默认用户是 ubuntu 密码为 ubuntu

常用命令

关机命令

sudo shutdown -h now

重启命令

sudo shutdown -r now

查看(tf卡)内存空间

df -h

开启ssh连接

方式一

将空白的ssh文件放入SD卡的boot盘

首先是给sd卡下系统,下完之后显示扩展名,首次开机需要用SSH登陆的时候,就需要在系统烧录完毕后,进入到boot分区盘, 新建一个名为ssh的空白没有扩展名的文件文件,完成后再将SD卡插回树莓派,就可以正常使用SSH了,这样以后会默认开启ssh连接

方式二

1.SSH服务安装

 sudo apt-get install openssh-server

检查树莓派SSH服务是否开启

ps -e | grep ssh

SSH服务开启

sudo /etc/init.d/ssh start

SSH服务配置端口

 vi /etc/ssh/sshd_config

可以配置SSH服务的各项参数,如端口配置,默认端口为22,可以配置为其他端口,配置后重启生效

树莓派SSH服务开机自动启动

vi /etc/rc.local

在终端命令行中启动SSH服务后,如果系统重启或关机后启动,SSH服务默认是关闭的,依然需要手动启动,为了方便可以设置SSH服务开机自动启动,打开/etc/rc.local文件,在语句exit 0之前加入:

/etc/init.d/ssh start

配置wifi文件,放入SD卡的boot盘

用同样的方法新建一个空白文件wpa_supplicant.conf(注意要删掉扩展名.txt)

用文本编辑器打开wpa_supplicant.conf,输入以下配置,可以用多个network{}来配置多个wifi:

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="将我替换成第一个WiFi的名字,不删除引号,不能有中文"
	psk="将我替换成WiFi密码,不删除引号"
	priority=将我替换成数字,数字越大代表优先级越高
}
network={
	ssid="将我替换成第二个WiFi的名字,不删除引号,不能有中文"
	psk="将我替换成WiFi密码,不删除引号"
	priority=将我替换成数字,数字越大代表优先级越高
}

将ssh空白文件和wpa_supplicant.conf文件放入SD卡的boot盘中。

获取树莓派ip

  1. 如果树莓派连接到了显示屏上,可以直接鼠标指向右上角网络图标,ip地址会自动显示

  2. 如果树莓派连接到了显示屏上,可以打开树莓派命令行窗口,输入ifconfig

  3. 如果没有显示屏,用电脑连到与树莓派同一个网络的wif或者有线网络下,在电脑上打开局域网ip扫描器,扫描出树莓派ip地址

更换源

默认的下载速度很慢所以需要我们自己更换国内的源

编辑/etc/apt/sources.list文件

sudo nano /etc/apt/sources.list 

用#注释掉原文件内容,用以下内容取代

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi

使用组合件Ctrl+X,退出,此时会提醒你是否保存,输入y即可

编辑/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

更换完源后运行下面两个命令

sudo apt-get update
sudo apt-get upgrade

这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在树莓派本地。

以上步骤实现了Respbian的包管理器apt-get换源到清华大学软件镜像站,并更新了软件列表,今后在树莓派命令行中执行sudo apt-get install 软件名时便会自动从清华大学开源软件镜像站高速下载

远程桌面连接

sudo apt-get install xrdp

使用windows自带的远程桌面连接
注意如果在别处粘的源使用的是stretch,可能出现远程连接时蓝屏的现象,stretch已更新为buster,我上面的源已经改了过来

遇到的问题

树莓派打开文件夹闪退问题

解决包冲突问题
sudo apt-get full-upgrade

重新安装pcmanfm
sudo apt-get install --reinstall pcmanfm

重启
sudo reboot

给Python的第三方模块安装工具pip换源

方法一:一行命令换源

清华大学开源软件镜像站官方推荐方法,但该方法在树莓派上可能会失效。

只需树莓派命令行中输入下面这一行命令,即可永久设置pip下载源为国内源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

注意:是 https 而不是 http,simple 不能少

方法二:配置换源脚本

该方法在树莓派上亲测有效

在树莓派的命令行中依次输入运行以下三个命令

sudo mkdir ~/.pip
cd .pip
sudo nano pip.conf

在打开的文件中输入以下内容:

[global]
timeout = 10
index-url =  http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/
[install]
trusted-host=
    mirrors.aliyun.com
    pypi.douban.com

先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面。

树莓派内部配置

打开树莓派命令行界面输入命令,进入树莓派配置界面。

sudo raspi-config

Localisation Options选择地区

树莓派简单入门(基本小案例)_第1张图片
第一行:Change Locale 选择所在国家
这是一串很长的列表,到这个列表的最下面,让光标指在zh_CN.UTF-8 UTF-8前面,先按空格,再按回车,回到之前的界面再按回车。
树莓派简单入门(基本小案例)_第2张图片

Change Timezone 选择所在时区

选择Asia,再选择Shanghai,回车确定。
树莓派简单入门(基本小案例)_第3张图片
树莓派简单入门(基本小案例)_第4张图片

Change Wi-fi Country 选择wifi国家

选择CN China,回车
树莓派简单入门(基本小案例)_第5张图片

Interfacing Options开启功能

打开Camera、SSH、VNC、Serial、Remote GPIO。

这几个功能都是我们在以后会用到的功能。

Camera:摄像头

SSH:ssh远程通信与登陆

VNC:VNC远程桌面登陆

Serial:串口控制

Remote GPIO:远程GPIO引脚控制

给树莓派固定ip地址,实现准确访问

方式一

通过远程桌面看见那个wifi的标识,右键点击
树莓派简单入门(基本小案例)_第6张图片
树莓派简单入门(基本小案例)_第7张图片
点击应用后直接重启即可,下次远程桌面登录的地址就必须输入你刚才配的地址否则无法连接上

方式二

使用命令行

sudo nano /etc/network/interfaces
结果发现位置已经变化了

inteface wlan()
inform 192.168.1.188

树莓派设置中文环境和中文输入法

输入法

安装scim:

sudo apt-get install scim-pinyin

运行scim:

scim

或者

安装中文字体及输入法

打开树莓派命令行,输入以下命令

sudo apt-get install fonts-wqy-zenhei

接下来,安装中文输入法fcitx及Google拼音输入法(大约需要五分钟)

sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin

在跳出的对话框中输入y和回车↩,确定下载安装,需要90MB存储空间。

安装成功之后,会在下一次重启时生效。

可以使用ctrl+空格切换为中文输入法。

配置中文环境

可以参考大佬博客

配置中文环境
sudo raspi-config
在Configuring locales窗口中,找到zh_CN.UTF-8 UTF-8
空格选中,并在确认后再次选择zh_CN.UTF-8

安装中文字库:sudo apt-get install ttf-wqy-zenhei
最后sudo reboot重启系统即可

在树莓派中截图

安装
sudo apt-get install scrot

截取全屏:
scrot

用鼠标选区屏幕区域截取执行
scrot -s

3秒后截取,参数可以自己定义
scrot -d 3

其他的可以通过命令查看用法
scrot -h

安装虚拟键盘

sudo apt-get install matchbox-keyboard

安装完后重启然后点击菜单的
树莓派简单入门(基本小案例)_第8张图片
即可看到虚拟键盘,当然有了远程桌面一般就不用这个了

通过MOTION制作为视频监控

安装 sudo apt-get install motion
运行 sudo motion

退出:ctrl+c 可能要多按几次

开机启动: sudo nano /etc/default/motion
# no修改为yes
start_motion_daemon=yes

然后插上usb摄像头,打开浏览器输入localhost:8081就可看见视频了,但是非常卡,可以说是图片了

摄像头配置

sudo vim /etc/motion/motion.conf


#damon off 改成on
daemon on

#设置分配率
with:800
height:600

#设置针数
framerate:5
#关闭localhost的限制
stream_localhost off

webcontrol_localhost on

杀死后台进程

 sudo killall -9 motion

树莓派上MJPG-streamer

链接

sudo raspi-config

树莓派简单入门(基本小案例)_第9张图片
interface Options 回车进入

Camera回车进去
树莓派简单入门(基本小案例)_第10张图片
树莓派简单入门(基本小案例)_第11张图片
选择是然后重启 sudo reboot

安装必要的库

命令行直接敲以下指令:

sudo apt-get update
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

git开源的project到本地,编译

sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental

sudo make all

sudo make install

插上usb摄像头,输入命令

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

改变帧率和分配率

./mjpg_streamer -i "./input_uvc.so -f 30 -r 800x600" -o "./output_http.so -w ./www"

然后打开浏览器输入:

http://raspberry-ip-address:8080/?action=stream

解决CSI摄像头报错

由于我没有这个摄像头所以没有尝试可能有错误

安装必要的库:

wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc  
sudo apt-key add ./lrkey.asc

修改sources list

sudo nano /etc/apt/sources.list
在最后加上一行:

deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main


sudo apt-get update
sudo apt-get install uv4l uv4l-raspicam
sudo reboot
sudo pkill uv4l
sudo apt-get update
sudo apt-get install uv4l-uvc
sudo apt-get install uv4l-xscreen
sudo apt-get install uv4l-mjpegstream
sudo reboot
sudo modprobe bcm2835-v4l2
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25 -r 640x480" -o "./output_http.so -n -w /usr/local/www"

注意必须在刚才那个mjpg-streamer/mjpg-streamer-experimental目录里面才能运行

树莓派使用fswebcam抓取图片

fswebcam是一款小型摄像头的控制库,我们可以通过它来抓取图片;

安装fswebcam

apt-get install fswebcam

通过lsusb命令查看设备
树莓派简单入门(基本小案例)_第12张图片
一般使用语句

fswebcam -S 10 -r 800x600 image2.jpg --no-banner
fswebcam -S 要跳过的帧数 --no-banner -r 分辨率 -q 文件路径

fswebcam参数详解

树莓派简单入门(基本小案例)_第13张图片

树莓派+花生壳实现内网穿透

花生壳文档链接
下载

wget https://dl-cdn.oray.com/hsk/linux/phtunnel_5_0_rapi_armhf.deb

安装

sudo dpkg -i phtunnel_5_0_rapi_armhf.deb

记录SN码,默认密码以及远程管理地址

sudo phddns运行

进行远程管理页面 b.oray.com

开通内网穿透功能即可

树莓派控制gpio口

这里我是用python控制的

点灯

# encoding: utf-8
import RPi.GPIO as GPIO
import time

#指定GPIO口选定模式位GPIO引脚编号模式
GPIO.setmode(GPIO.BCM)
#指定GPIO26的模式位输出模式
GPIO.setup(26,GPIO.OUT)

while True:
    GPIO.output(26,True)#使能
    time.sleep(1)#python自带的延时函数 延时一秒
    GPIO.output(26,False)#失能
    time.sleep(1)

你可能感兴趣的:(物联网与单片机,树莓派,linux,python,物联网,单片机)