将PiCamera图像直接上传到FTP服务器的问题

问题描述:

我有一个Raspberry Pi相机,我想用它来捕获图像并将它们直接存储到FTP服务器。我想绕过将图像存储在SD卡上的原因,因为相机将用于远程环境,而且几乎没有维护,因此我想通过直接写入我的FTP来避免潜在的SD卡故障。将PiCamera图像直接上传到FTP服务器的问题

我有以下脚本:

import ftplib 
import time 
import picamera 

with picamera.PiCamera() as camera: 
camera.start_preview() 
time.sleep(2) 
for filename in camera.capture_continuous('img{counter:03d}.jpg'): 
    print('Captured %s' % filename) 

    server = 'server.address' 
    username = 'user' 
    password = 'pass' 
    ftp_connection = ftplib.FTP(server, username, password) 
    remote_path = "/Cam/" 
    ftp_connection.cwd(remote_path) 
    fh = open("/home/pi" + filename, 'rb') 
    ftp_connection.storbinary('STOR ', fh) 
    fh.close() 
    time.sleep(60) # wait 1 minute 

相反的图像上传到FTP的,我的剧本是影像保存到主目录。事实上,它每秒钟都在保存图像。

我该如何解决这个问题?

+0

如果不是所有的FTP代码'for'循环下缩进? –

+0

'/ home/pi'之后是不是缺少一个斜线? - 或者你甚至需要那里的路径?你不能只使用'filename'吗? –

你不指定输出文件名

替换:

ftp_connection.storbinary('STOR ', fh) 

有了:

ftp_connection.storbinary('STOR ' + filename, fh)