Ik wil een Raspberry Pi 4B met Camera Module 2 elke x minuten een foto laten maken en die automatisch naar ftp laten uploaden. Ik ben al zeker 10 uur bezig en ik krijg het níet werkend. FTP credentials zijn zeker goed, die heb ik copy/paste en werken gewoon in WinSCP. Uiteraard hier even de werkelijke data vervangen voor wat anders
Mijn code ziet er als volgt uit:
In de command prompt krijg ik dit te zien, gevolgd door een knipperende cursor die blijft:
Mijn code ziet er als volgt uit:
De jpg's die ik lokaal krijg zijn selchts ca. 20 kb en 640x480 ipv 1.5MB en 3280x3464. Hoe krijg ik full-res jpg's?from picamera2 import Picamera2
from datetime import datetime
import time
from ftplib import FTP
camera = Picamera2()
camera.resolution = (3280, 2464)
ftp = FTP('server')
ftp.login('user','pass')
pics_taken = 0
max_pics = 10
while pics_taken <= max_pics:
camera.start()
time.sleep(2)
current_datetime = datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
filename = "base_" + current_datetime + ".jpg"
camera.capture(filename)
pics_taken += 1
time.sleep(60)
file = open(filename, 'rb')
ftp.storbinary('STOR ' + filename, file)
file.close()
ftp.quit()
In de command prompt krijg ik dit te zien, gevolgd door een knipperende cursor die blijft:
Als ik interrupt met CTRL+C krijg ik dit:[0:06:45.923365002] [1792] INFO Camera camera_manager.cpp:297 libcamera v0.0.5+83-bde9b04f
[0:06:45.967353994] [1793] WARN RPI vc4.cpp:383 Mismatch between Unicam and CamHelper for embedded data usage!
[0:06:45.968612714] [1793] INFO RPI vc4.cpp:437 Registered camera /base/soc/i2c0mux/i2c@1/imx219@10 to Unicam device /dev/media1 and ISP device /dev/media2
[0:06:45.968792841] [1793] INFO RPI pipeline_base.cpp:1101 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Wat gaat hier mis, hoe krijg ik het werkend?Traceback (most recent call last):
File "/home/pi/photo6.py", line 9, in <module>
ftp = FTP('server')
File "/usr/lib/python3.9/ftplib.py", line 119, in __init__
self.connect(host)
File "/usr/lib/python3.9/ftplib.py", line 156, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout,
File "/usr/lib/python3.9/socket.py", line 831, in create_connection
sock.connect(sa)
KeyboardInterrupt