วันจันทร์ที่ 16 พฤษภาคม พ.ศ. 2559

Dropbox Image Storage Webcam Connection Raspberry pi python

Dropbox Image Storage Webcam Connection Raspberry pi python
การทดลองนี้เพื่อทดลอง ถ่ายภาพจาก Raspberry Pi เพื่อส่ง
เข้าไปยัง Dropbox ของเรา เพื่อเก็บภาพได้โดยง่ายครับ
อุปกรณ์
1.บัญชี Dropbox
2.กล้อง Webcam(USB)
3.Raspberry pi Board

ขั้นตอนการเตรียมการ Dropbox

อ้างอิงจาก -> https://github.com/andreafabrizi/Dropbox-Uploader

$ sudo git clone https://github.com/andreafabrizi/Dropbox-Uploader.git
$ cd Dropbox-Uploader
$ sudo chmod +x dropbox_uploader.sh
$ sudo ./dropbox_uploader.sh
เข้ามาที่ https://www.dropbox.com/developers และ log in เข้า Dropbox ของตนเอง
เลือกDropbox Api -> App folder -> ตั้งชื่อให้เรียบร้อย


เลือก หน้าถัดมาจะได้ App key กับ App Secrets


เข้า link ของ Dropbox ที่ได้มา และ กด Allow -> ถ้าสำเร็จ จะแสดงผลดังภาพ

Code Dropbox

import cv
import datetime
import RPi.GPIO as GPIO                           
import time
import commands
from subprocess import call
GPIO.setmode(GPIO.BOARD)                          
pir = 7                                         
GPIO.setup(pir, GPIO.IN)                           
print "Waiting for sensor to settle"    
print "Detecting motion"
 
# ---------------------------
# Setup the webcam and font
# ---------------------------
 
# define image size
imageWidth = 320
imageHeight = 240
 
# create a window object
cv.NamedWindow("window1", cv.CV_WINDOW_AUTOSIZE)
camera_index = 0
 
# create a camera object
capture = cv.CaptureFromCAM(camera_index)
 
# set capture width and height
cv.SetCaptureProperty( capture, cv.CV_CAP_PROP_FRAME_WIDTH, imageWidth );
cv.SetCaptureProperty( capture, cv.CV_CAP_PROP_FRAME_HEIGHT, imageHeight );
 
# create a font
font = cv.InitFont(cv.CV_FONT_HERSHEY_COMPLEX_SMALL , 0.5, 0.5, 0, 1, cv.CV_AA)
i = 0
while True:
     
    # get image from webcam
    frame = cv.QueryFrame(capture)
 
    # -------------------------------------------
    # Draw the time stamp on a white background
    # -------------------------------------------  
    cv.Rectangle(frame, (0,0), (imageWidth, 15), (255,255,255),cv.CV_FILLED,8,0)
    # get the current date and time
    timeStampString = datetime.datetime.now().strftime("%A %Y-%m-%d %I:%M %p")
    # insert the date time in the image
    cv.PutText(frame, timeStampString, (10,10), font, (0,0,0))
 
    # -----------------------------
    # show the image on the screen
    # -----------------------------
    cv.ShowImage("window1", frame)
 
    # -----------------------
    # wait for user command
    # -----------------------
    command = cv.WaitKey(10)
 
    # if press 'q' -> exit program
    if command == ord('q'):
        print "Ending program"
        break  # end program
 
    # if press 's' -> save the image
    elif ((command == ord('s'))):
        print "Saving image"
        cv.SaveImage("test.jpg",frame)
        photofile = "Dropbox-Uploader/dropbox_uploader.sh upload test.jpg test.jpg"
        call ([photofile], shell=True)
        time.sleep(5)
        i=i+1

ผลลัพธ์ ใน Dropbox :

สำเร็จเสร็จเรียบร้อย!
Share:

0 ความคิดเห็น:

แสดงความคิดเห็น