• 2020系统综合实践 树莓派初体验


    一、每个人各自写出

    林郁昊

    • 认识程度:树莓派相当于一个小型的电脑,使用Linux系统,我了解的只有拍照录像等功能,以前在B站上看到一个用树莓派实现手写数字识别的视频。
    • 电脑能做的大部分事情,在树莓派上都能做,而树莓派以其低能耗、移动便携性、GPIO等特性,很多在普通电脑上难以做好的事情,用树莓派却是很适合的。比如把树莓派配置成无线路由器,拿树莓派当FTP文件服务器等等。

    黄宇航

    • 我最早听到树莓派还以为是吃的···是不是没救了···
    • 树莓派可以用来做什么哈哈哈想用树莓派的摄像头模块来做人脸识别!

    二、系统烧录和备份

    • 进入官网下载所需镜像:Raspbian Buster with desktop and recommended software
    • 打开Win32DiskImager进行系统烧录

      点击写入并等待即可
    • 打开Win32DiskImager进行备份

    三、访问树莓派

    SSH登录Raspberry Pi

    #wpa_supplicant.conf,priority越大,优先级越高
    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
    	ssid="此处输入wifi接入点名称,保留引号"
    	psk="此处输入wifi密码,保留引号"
    	priority=1
    }
    
    network={
    	ssid="此处输入wifi接入点名称,保留引号"
    	psk="此处输入wifi密码,保留引号"
    	priority=2
    }
    
    • 然后将这两个文件放到SD卡的根目录下,将SD卡插回树莓派,开机。
    • 由于本次用的是手机热点,所以要在手机上安装一个软件去查看树莓派的ip地址,方法在上面的参考资料中。
    • 在windows中打开命令提示符,输入ssh ip地址 去登录。默认账号pi密码raspberry。
    • 第一次我们尝试登录发现密码一直是错误的,后来才知道需要加上名称去登陆,用 ssh pi@ip地址 去登陆。
    • 这次就登陆成功了,页面和ubuntu的命令窗口一样的。

    VNC登录Raspberry Pi

    sudo raspi-config
    
    • 这个就是进入后的页面。
    • 之后根据参考资料中的博客一步一步配置就可以了,配置成功后会显示如图。
    • 然后再去配置显示,配置完成后重启树莓派,在树莓派上的操作就完成了。
    • 在本地的PC机上需要去下载VNC Viewer,下载地址VNC相关软件下载地址
    • 在进行安装、注册账户等一系列操作后,进行登录,需要填入ip地址,账号密码和刚才默认的一样。
    • 登录进去就会显示树莓派的桌面。
    • 进行语言、网络等设置后,测试网络。
    • 为了方便之后软件的下载,将树莓派下载源换源。
    sudo nano /etc/apt/sources.list
    
    • 把原来的内容注释掉,加上以下内容。
    deb https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
    deb-src https://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
    
    • 之后执行下面命令更新。
    sudo apt-get update
    sudo apt-get upgrade
    

    四、接入摄像头

    树莓派有很多扩展接口,而摄像头也是其中一个非常重要的扩展部件,学习树莓派摄像头模块picamera的使用方法,实现使用python代码控制摄像头,以及通过vlc实时读取摄像头捕获的影像。

    • 打开摄像头

      sudo raspi-config


      reboot即可

    • 通过opencv实时读取摄像头捕获的影像。

    # record.py
    from picamera import PiCamera
    import time
    import datetime
    
    camera = PiCamera()
    camera.rotation = 180 # 旋转180度
    time.sleep(5) # 摄像头感光
    camera.start_recording('/home/pi/Desktop/record/video{}.h264'.format(datetime.datetime.now())) # 参数为文件路径
    time.sleep(5) # 录制5秒
    camera.stop_recording() # 停止录制
    

    • 使用python代码控制摄像头
    #opencvtest.py
    import cv2
    import datetime
    cap = cv2.VideoCapture(0)
    print(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    print(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
    #cap.set(3, 3000)
    #cap.set(4, 3000)
    #print(cap.get(3))
    #print(cap.get(4))
    while(cap.isOpened()):
        ret, frame = cap.read()
        if ret == True:
    
           font = cv2.FONT_HERSHEY_SIMPLEX
           text = 'Width: '+ str(cap.get(3)) + ' Height:' + str(cap.get(4))
           datet = str(datetime.datetime.now())
           frame = cv2.putText(frame, text, (10, 50), font, 1,
                               (255, 255, 255), 2, cv2.LINE_AA)
           frame = cv2.putText(frame, datet, (10, 100), font, 1,
                               (255, 255, 255), 2, cv2.LINE_AA)
           cv2.imshow('frame', frame)
    
           if cv2.waitKey(1) & 0xFF == ord('q'):
             break
        else:
            break
    
    cap.release()
    cv2.destroyAllWindows()
    
    

    import picamera
    import time
    
    
    #create object for PiCamera class
    camera = picamera.PiCamera()
    #set resolution
    camera.resolution = (1024, 768)
    camera.brightness = 60
    camera.start_preview()
    #add text on image
    camera.annotate_text = 'Say Cheese!'
    time.sleep(5)
    #store image
    camera.capture('image{}.jpeg'.format(time.time()))
    camera.stop_preview()
    

    五、记录遇到的问题和解决方法,提供小组成员名单以及在线协作的图片

    • 使用frp进行内网穿透,想让其他小组成员访问树莓派,感受三倍的快乐

    借助 frp 随时随地访问自己的树莓派

    wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linu
    x_amd64.tar.gz
    tar -zxvf frp_0.33.0_linux_amd64.tar.gz
    ##frps.ini
    [common]
    # tunnel port通信管道
    bind_port = 4000
    # dashboard图形管理页面
    dashboard_port = 90
    dashboard_user = root
    dashboard_pwd = admin
    
    
    ##frpc.ini
    [common]
    server_addr = [server_ip]
    server_port = 4000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 8999
    

    在运行./frpc -c ./frpc.ini指令时提示无法编译二进制文件,仔细一查

    发现Raspberry Pi 4是32位系统,因此树莓派客户端应该下载:

    wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux——arm.tar.gz

    • 小组成员名单与分工

      • 111700312胡浩楠:负责查找相关资料指导操作
      • 081700209林郁昊:负责编写代码
      • 031701129黄宇航:负责实际操作
    • 在线协作

      • 一起观看教学视频

      • 烧录

      • 进入树莓派

      • 进入树莓派图形界面

  • 相关阅读:
    signalfx的中间件监控指标so cool
    XE6 & IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)
    [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试
    XE8 & IOS开发之免费证书真机调试:开发证书、AppID、开发授权profile的申请,附Debug真机调试演示(XCode7 Beta版或以上版本适用,有图有真相)
    Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页
    Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件
    Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项
    Delphi for iOS开发指南(5):在iOS应用程序中使用Calendar组件来选择日期
    Delphi for iOS开发指南(4):在iOS应用程序中使用不同风格的Button组件
    Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序
  • 原文地址:https://www.cnblogs.com/HuangYH723/p/12950898.html
Copyright © 2020-2023  润新知