2016-11-30 7 views
1

У меня есть камера Raspberry Pi, которую я хотел бы использовать для захвата изображений и их хранения непосредственно на FTP-сервере. Я хотел бы обойтись, чтобы хранить изображения на SD-карте, потому что камера будет использоваться в удаленной среде с небольшим обслуживанием, поэтому я хотел бы избежать потенциальных сбоев SD-карты, написав непосредственно на моем FTP.Проблемы с загрузкой изображений 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, мой сценарий Сохранение изображений в домашней директории. Infact, он сохраняет изображение каждую секунду.

Как я могу решить эту проблему?

+0

не должны все FTP-код с отступом в 'for' цикла? –

+0

Вам не хватает косой черты после '/ home/pi'? - Или тебе даже нужен путь? Не можете ли вы использовать только имя файла? –

ответ

2

Вы не уточняя имя выходного файла

Заменить:

ftp_connection.storbinary('STOR ', fh) 

С:

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