A home surveillance use case might be:
- A sensor detects that someone has entered the room (not implemented yet!)
- A camera takes a photo of the living room
- The picture is uploaded to the cloud before the burglar destroys the Raspberry PI.
Trying Google Drive
I enabled the Google Drive OAUTH using the public documentation and a guide from Iperius Backup. When running the python script, I got a error message that told me that I need to verify the app/script towards Google and that process seemed to be complicated, so I decided to try another approach.
Testing Dropbox
After giving up Google Drive, I found the Dropbox approach to be much more successful. It takes two steps to activate: Create a local script that connects to Dropbox, and define what the script is allowed to do.
Step 1: Configure the new app access credentials in Dropbox
- Log in to Dropbox Developers and go to the App Console and select Create App.
- There are three steps to take:
- Choose an API - Dropbox allows only scoped access (the creator of the app can select what authorities the app can have).
- Choose the Type of Access You Need - I choose App Folder for security reasons. The Full Dropbox option would allow the app to access all files in my account and that would be risky.
- Name your app - this name must be unique in Dropbox. You can't use a name that any other Dropbox developer has used.
Step 2: Now when the app is created, I need to define the scope (privileges) of the app. This is done in Scoped App.
Step 3: Select what the app shall be allowed to read and modify in my Dropbox account:Step 4: Once that is configured, it is time to generate an access token. The default Access token expiration is Short-lived (expires in four hours). I select No expiration. I click Generate and I copy the code that is shown.
The access token must be re-generated if any access token is changed. |
The second part is to write the Python code.
The script uploads the specified picture with the current time as file name. |
That's it! When I run the script, the file is uploaded to my Dropbox account
Of course, I could have set up Dropbox the normal way (assigning a folder and sync it to Dropbox). In this case, I didn't want to save 2G of files on a SD card with limited disk space.
I found a video tutorial that illustrates how to do it:
No comments:
Post a Comment