zoukankan      html  css  js  c++  java
  • 树莓派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

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

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

  • 相关阅读:
    普通锁和分布式锁
    java 正则表达式
    java 字符串转date 格式转换
    消息中间件 kafka
    数据的存储方式:对象存储、文件存储、块存储
    Exceptional Control Flow(6)
    Exceptional Control Flow(5)
    Exceptional Control Flow(4)
    Exceptional Control Flow(3)
    Exceptional Control Flow(2)
  • 原文地址:https://www.cnblogs.com/BlueFire-py/p/8878050.html
Copyright © 2011-2022 走看看