05_樹莓派圖片定時上傳到服務器


1.准備圖片存儲服務器

1.獲取服務器

選擇七牛網作為服務器,因為它是一個免費的雲圖庫

七牛網地址:https://www.qiniu.com

先要進行注冊,之后,如圖操作:

創建儲存空間

獲取秘鑰:
秘鑰

查詢七牛的python調用API可知

# -*- coding: utf-8 -*-
# flake8: noqa
from qiniu import Auth, put_file, etag, urlsafe_base64_encode
import qiniu.config

#獲取圖片
os.system('raspistill -o current_photo.jpg')
#需要填寫你的 Access Key 和 Secret Key
access_key = 'Access_Key'
secret_key = 'Secret_Key'

#構建鑒權對象
q = Auth(access_key, secret_key)

#要上傳的空間
bucket_name = 'Bucket_Name'

#上傳到七牛后保存的文件名
key = 'my-python-logo.png';

#生成上傳 Token,可以指定過期時間等
token = q.upload_token(bucket_name, key, 3600)

#要上傳文件的本地路徑
localfile = './sync/bbb.jpg'
ret, info = put_file(token, key, localfile)
print(info)

assert ret['key'] == key
assert ret['hash'] == etag(localfile)

2.安裝七牛的Python SDK

# 1.第一種方法
pip install qiuiu
# 2.第二種方法 https://github.com/qiniu/python-sdk
git clone https://github.com/qiniu/python-sdk.git

3.制作腳本文件

touch get_photo.sh
# 內容
/usr/bin/python2.7 /home/pi/project/get_picture.py
touch get_picture.py
'''
上傳photo文件夾內的所有文件,上傳成功后刪除文件
'''
# -*- coding: utf-8 -*-
import time
from qiniu import Auth, put_file, etag, urlsafe_base64_encode
import qiniu.config
import os

filelist = os.listdir('./photo')
for file in filelist:
	#需要填寫你的 Access Key 和 Secret Key
    access_key = 'TRF-90q0b7eLubaOVj7UZcm_-m6pmuuqqyDBVp2w' #這里的密鑰填上剛才我讓你記住的密鑰對
    secret_key = 'LqUocAThm28PJVafoSLOHEPPpUxXgQNJ5ePlxWPW' #這里的密鑰填上剛才我讓你記住的密鑰對
    
    #構建鑒權對象
    q = Auth(access_key, secret_key)
	
	#要上傳的空間
    bucket_name = 'wml-raspberrypi'
	
	#上傳到七牛后保存的文件名
    key = '%s_%s_%s_%s_%s_%s.jpg'%(time.localtime()[0],time.localtime()[1],time.localtime()[2],time.localtime()[3],time.localtime()[4],time.localtime()[5])

	#生成上傳 Token,可以指定過期時間等
    token = q.upload_token(bucket_name, key, 3600)
	
	#要上傳文件的本地路徑
    localfile = './photo/'+file
    ret,info = put_file(token, key, localfile)
    print('complete upload:',localfile)
    time.sleep(10)
    os.remove(localfile)
    print('complete romove:',localfile)

4.定時啟動腳本

crontab -e
#選擇vim進入,到末尾輸入 o
#然后在末尾加入
10 15 * * * sh /home/pi/project/get_photo.sh /home/
#然后按Esc->:wq->換行退出
#最后重啟cron
sudo service cron restart

5. 參考資料

  1. https://blog.csdn.net/qq_34202873/article/details/78762674


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM