基于树莓派的远程可控无线网络摄像头的设计与实现

  • 所需器材有:树莓派及其电源,usb摄像头,路由器,两台伺服舵机及其外壳,一台笔记本,一根网线

  • 树莓派的基本操作及学习网站与资料
  • 树莓派控制摄像头进行视频流传输,并在pc端接收视频
    • 推荐使用MJPG-streamer,在gitHub上面是一个开源的项目.
    • 在树莓派上面安装如下库:
      • 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将远端项目pull到本地
    • 编译
      • cd mjpg-streamer/mjpg-streamer-experimental
      • make all
      • sudo make install
    • 使用
      • ./start.sh
    • 如果可以以桌面化的形式在pc上打开树莓派系统,那么可以在树莓派系统的浏览器输入http://raspberry-ip-address:8080/,即可以看见摄像头采集的视频信息
    • 如果没有以桌面化的形式打开树莓派,可以在pc上的浏览器中输入http://raspberry-ip-address/?action=stream,也可看见树莓派采集的信息。raspberry-ip-address表示的是局域网中树莓派的ip地址
  • python通过GPIO控制舵机云台的转动
    • 代码如下:
      (```)
      import RPi.GPIO as GPIO
      import time
      import signal
      import atexit

      import os
      import sys
      import tty, termios

      atexit.register(GPIO.cleanup)

      servopin = 22
      servopin2 = 21
      GPIO.setmode(GPIO.BCM)
      GPIO.setup(servopin, GPIO.OUT, initial=False)
      p = GPIO.PWM(servopin, 50)
      p.start(0)

      GPIO.setup(servopin2, GPIO.OUT, initial=False)
      p2 = GPIO.PWM(servopin2, 50)
      p2.start(0)
      time.sleep(2)

      i = 0
      j = 0
      while True:
      fd = sys.stdin.fileno()
      old_settings = termios.tcgetattr(fd)
      try:
      tty.setraw(fd)
      ch = sys.stdin.read(1)
      finally:
      termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
      if ch == 'a':
      (```)

猜你喜欢

转载自www.cnblogs.com/sunshine-free/p/10709998.html