本文是对https://blog.csdn.net/wangzhenyang2/article/details/81606700的实际演示
通过树莓派摄像头传回实时图像给手机APP
与推文不同推文不同,不需要设置树莓派热点,树莓派热点设置非常麻烦,只需要将树莓派和手机连接到同一个局域网下即可
树莓派中需要安装openCV
#!/usr/bin/python
import cv2
import numpy
import socket
import time
import struct
#HOST='192.168.191.1'
HOST='255.255.255.255'//这里需要修改为手机的IP地址
PORT=5051
WIDTH=320
HEIGHT=240
server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
server.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1) #enable broadcast
server.connect((HOST,PORT))
print('now starting to send frames...')
capture=cv2.VideoCapture(0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH,WIDTH)
capture.set(cv2.CAP_PROP_FRAME_HEIGHT,HEIGHT)
try:
while True:
time.sleep(0.01)
success,frame=capture.read()
if success and frame is not None:
result,imgencode=cv2.imencode('.jpg',frame,[cv2.IMWRITE_JPEG_QUALITY,90])
#result,imgencode=cv2.imencode('.webp',frame,[cv2.IMWRITE_WEBP_QUALITY,20])
#print(len(imgencode))
server.sendall(imgencode)
#print('have sent one frame')
except Exception as e:
server.sendall(struct.pack('b',1))
print(e)
capture.release()
server.close()
手机端输入树莓派的IP
3 源码地址
树莓派端:
https://github.com/RyanWang20180512/RaspberrryPi-Project-for-PiCar.git
手机端:
https://github.com/huangtingwei998/Cellphone-control-project-for-Picar-master
购买现成的小车底座,包括电机马达和车轮;
使用L298N模块来控制小车底座上的电机,使树莓派可以驱动小车运动;
一块12V的锂电池,专门给L298N供电;
树莓派专用CSI接口摄像头,用来采集图像;
由两个SG90舵机构成的云台,作为摄像头的搭载平台;
一块OLED显示屏,简要地显示一些信息;
不用的一个充电宝,用来给树莓派供电;
自己的Android手机