树莓派01

raspbrerry pi

简介:官方系统就是Raspbian (Linux系统的一种)

1.   下载与安装(官网提供两种方式)

https://www.raspberrypi.org/

 

NOOBS使用

NOOBS:new outofbox software 新版开箱即用软件。有网络版和非网络版,非网络版里面包含了镜像文件,就是右边的那个,所有文件很大1个多G。而网络版里面只是一个下载工具,安装时需要联网下载镜像。

NOOBS下载下来是一个zip,解压后有好多文件

 

把这个目录下所有copy到sd卡,注意拷到根目录

然后开启树莓派,选择镜像安装即可,选英文的最好

Rapbian

raspbian:这个就是我们的系统镜像文件。分为有图形界面和无图形界面。

就是镜像文件,img文件,使用Win32DiskImage等软件,写入即可。

2.基本配置

一些树莓派的基础配置自己百度即可。

例如树莓派第一次连接:

树莓派,第一次连接的时候最好有显示器,这样方便配置。

如果没有就只能用网线连接电脑,用SSH进行连接,然后配置。(具体方法百度)

例如如何加入中文输入法:

输入法:如果装英文的系统,它默认使用键盘是UK,咱们的键盘都是美式的,记得切换键盘。否则想要打“#”这些符号,可打不出来。。。

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

这是给树莓派安装中文输入法Fcitx及Google拼音输入法

sudo是一个提升权限的命令,可以让非root用户暂时拥有root命令,即可以在你的系统里面安装,删除文件

apt是一个包管理工具

2.2安装好还不能用,你要在开始菜单中找到prefeence,在preference那里找到Fcitx Configuration,点开,然后点击左下角的”+”号,找到你刚安装的google pinyin.

把你的键盘添加进去,注意,把那个选择本机语言去掉。

2.3 crtl+空格 切换输入法

停止一个python脚本

当你使用GPIO时,总会遇到这样的问题。因为代码中间出错了,而你有没有捕获,这就尴尬了,你的代码一直运行,这样GPIO引脚并没有复位这很危险。

所有注意在你所有的代码运行的外面加上KeyboardInterrupt

这样,你就可以通过ctrl+c取消运行

3.1 ps -ef 显示进程,然后找到py文件对应的进程的pid

3.2 写一个简单的GPIO脚本执行一下就可以了。(他会顶替掉之前占用的GPIO口)

3.常用命令

sudo raspi-config 打开设置,打开VNC,摄像头等都需要在这里操作

命令基本和Linux命令中一样(自行百度)

4.应用(只介绍python)

4.1 控制底层硬件GPIO

RPi.GPIO库:https://pypi.org/project/RPi.GPIO/

树莓派中应该有预装,但是如果没有装,也可以自己装。

 

Python下GPIO.add_event_detect(channel, GPIO.RISING, callback=my_callback) 这个函数的用法 用来做定时用再好不过

高电位与低点位:相对就可以通电

 

题外话:因为自带了python2和python3,所有命令行里面执行的时候:

python2就是使用python2    pip2

python3就是使用python3     pip3同理,这个注意尽量使用python3语言

快速入门:https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/

 

每一个针脚都有Pin#和NAME字段。

Pin代表的是该针脚的编号,其中01和02针脚对应第一张图中GPIO最右边竖排的两个针脚。

而NAME代表的是该针脚的BCM名称,当然NAME也可以直接看得出针脚的默认功能。比如 3.3v和5v代表着该针脚会输出3.3v和5v的电压,Ground代表着该针脚是接地的,GPIO0*则是一些待用户开发的针脚。每个针脚都可以使用程序进行控制操作。

案例:控制开关,电机等

这个是一个控制灯闪烁的案例。

4.2 串口 Pyserial

一些传感器,他们的封装很好,我们不需要去检测那些物理量转换成的模拟电子,他们自己一般都会自动处理数据,如果我们想要拿数据就可以,通过串口读取数值。

官方文档:https://pyserial.readthedocs.io/en/latest/

当然串口也可以与stm32等单片机通信,arduina等

 

4.3 摄像头 Picamera opnencv-python

摄像头支持usb摄像头和官方的csi摄像头(官方那个摄像头如果不能用,注意添加设备,方法自行百度)

文档自行百度

案例:可以做一个监控直播,你可以选择多种方式比如直接用VLC,rtmp这种推流,或者自己搭建一个web服务器结合PI camera。(注意分辨率不要太高,否则延迟太高)

这是一个VLC实时监控的案例:https://www.cnblogs.com/uestc-mm/p/7587783.html

4.4 web服务器 Flask (内外访问)

因为我是使用python,所以选择了这个框架。

当然别的框架也是可以的比如django等。

 

4.5 通信客户端,服务器:蓝牙,TCP/IP蓝牙可以使用pybluez库,bluepy(只支持BLE)

tcp/ip 直接socket

 

4.6 深度学习 tensoflow

案例:物体检测,人脸识别

注意:安装时选择对应树莓派的版本

原文地址:https://www.cnblogs.com/BlueFire-py/p/8878050.html