将PiCamera图像直接上传到FTP服务器时出现问题

时间:2016-11-30 00:11:08

标签: python-3.x ftp camera raspberry-pi3 timelapse

我有一台Raspberry Pi相机,我想用它来捕捉图像并将它们直接存储到FTP服务器上。我想绕过必须将图像存储在SD卡上,因为相机将在远程环境中使用而几乎不需要维护,因此我希望通过直接写入我的FTP来避免潜在的SD卡故障。

我有以下脚本:

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。事实上,它每秒都会保存一张图像。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您未指定输出文件名

替换:

ftp_connection.storbinary('STOR ', fh)

使用:

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