728x90
UDP 신호를 받아 카메라 촬영후 사진을 FTP 서버로 전송합니다.
라즈베리파이 방화벽 변경
프로그래밍
ftp 서버와 연결후 udp 신호를 받아 사진 촬영후 서버로 이미지를 전송합니다.
import picamera
import ftplib
import os
import datetime
from socket import *
camera = picamera.PiCamera()
camera.resolution = (1024,768)
ftp = ftplib.FTP()
ftp.connect("xxx.xxx.xxx.xxx", 9021)
ftp.login("xxx","xxx")
ftp.cwd("./test")
os.chdir(r"./")
from gpiozero import LED
from time import sleep
led = LED(17)
led.on()
BUFSIZE = 64
port = 4000
sock = socket(AF_INET, SOCK_DGRAM)
sock.bind(('', port))
while True:
data, addr = sock.recvfrom(BUFSIZE)
print ( data.decode() )
print('start capture')
led.off()
camera.start_preview()
camera.stop_preview()
saveFileName = datetime.datetime.now().strftime('%y%m%d-%H%M%S%f')+'.jpg'
camera.capture(saveFileName)
filename = saveFileName
myfile = open(filename, 'rb')
ftp.storbinary('STOR ' + filename, myfile)
myfile.close()
led.on()
print('close capture')
sleep(0.1)
led.on()
# else:
#print("Released")
# led.on()
# sleep(0.1)
sock.close()
ftp.close()
UDP 데이터 송신 테스트
import socket
import os
from time import sleep
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('', 0))
addr = '192.168.100.7', 4000
output = 'camera capture'
while 1:
print('send')
sock.sendto(output.encode('utf-8'), addr)
sleep(10)
sock.close()
라즈베리파이 부팅후 파이썬 코드 자동 실행
sudo leafpad /etc/rc.local
(sleep 10 && python /home/pi/camera_capture_wifi.py)&
Reference
blog.naver.com/PostView.nhn?blogId=chandong83&logNo=220929454009
'쪼물락 비젼 AI' 카테고리의 다른 글
소스 분석 & Compile & Run (0) | 2020.09.17 |
---|---|
CODEBOT UDP Send To Raspberry UDP Server (0) | 2020.09.15 |
CODEBOT 시리얼 연결 & 컴파일 & 실행 (0) | 2020.07.11 |
GPIO 신호시 라즈베리파이 카메라촬영 + FTP 업로드 (0) | 2020.07.02 |
라즈베리파이 사진 촬영 + FTP 파일 업로드 (0) | 2020.06.25 |