将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的,我的剧本是影像保存到主目录。事实上,它每秒钟都在保存图像。
我该如何解决这个问题?
答
你不指定输出文件名
替换:
ftp_connection.storbinary('STOR ', fh)
有了:
ftp_connection.storbinary('STOR ' + filename, fh)
如果不是所有的FTP代码'for'循环下缩进? –
'/ home/pi'之后是不是缺少一个斜线? - 或者你甚至需要那里的路径?你不能只使用'filename'吗? –