今日はRaspberry PiでDropboxにアクセスできるようにしていく。
Raspberry x Dropbox
Dropbox-Uploader。既に何人かの方が言及している通り、DropboxはARMで動くRaspberryではビルドできない。(参考)
そんな訳で代替案。今回使うDropbox-UploaderはBASHで実装されていてcurl
さえあれば動くらしい。Dropboxがサードアプリ向けのインターフェース(REST?)を提供していて、それをbash - curlコマンドで叩くスクリプトって事なのかな。
インストール
早速インストールしていく。OSXからraspberry piにsshログインして作業。
pi@raspberrypi ~ $ mkdir projects
pi@raspberrypi ~ $ cd projects/
pi@raspberrypi ~/projects $ git clone https://github.com/andreafabrizi/Dropbox-Uploader.git
Cloning into 'Dropbox-Uploader'...
remote: Counting objects: 633, done.
remote: Total 633 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (633/633), 185.43 KiB | 83 KiB/s, done.
Resolving deltas: 100% (315/315), done.
pi@raspberrypi ~/projects $ cd Dropbox-Uploader/
pi@raspberrypi ~/projects/Dropbox-Uploader $ ./dropbox_uploader.sh
This is the first time you run this script.
1) Open the following URL in your Browser, and log in using your account: https://www2.dropbox.com/developers/apps
2) Click on "Create App", then select "Dropbox API app"
3) Select "Files and datastores"
4) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
5) Enter the "App Name" that you prefer (e.g. MyUploader290472397515860)
Now, click on the "Create App" button.
When your new App is successfully created, please type the
App Key, App Secret and the Permission type shown in the confirmation page:
# App key: XXXXXXXXXXXX
# App secret: XXXXXXXXXXXX
# Permission type, App folder or Full Dropbox [a/f]: X
> App key is XXXXXXXXXXXX, App secret is XXXXXXXXXXXX and Access level is XXX Dropbox. Looks ok? [y/n]: y
> Token request... OK
Please open the following URL in your browser, and allow Dropbox Uploader
to access your DropBox folder:
--> https://www2.dropbox.com/1/oauth/authorize?oauth_token=XXXXXXXXXX
Press enter when done...
> Access Token request... OK
Setup completed!
./dropbox_uploader.sh
では、ブラウザ(Dropbox開発者向けサイト)とコンソールを交互に行き来して設定を行う。指示通りにやっていけばまず迷わない。OAuth認証をやってるみたい。
インストール後、どこからでもdropbox_uploaderを実行できるようパスを通す。
pi@raspberrypi ~/dropbox/Voice $ vim /home/pi/.profile
...
PATH="$PATH:$HOME/projects/Dropbox-Uploader"
pi@raspberrypi ~/dropbox/Voice $ source ~/.profile
さて、ここでDropboxの中身を覗いてみる。
pi@raspberrypi ~/dropbox/Voice $ dropbox_uploader.sh list
> Listing "/"... DONE
[D] 0 Music
[D] 0 Voice
[D] 0 カメラアップロード
[D] 0 スクリーンショット
[F] 223753 はじめに.pdf
[D] 0 素材
リストアップできたぞ。続いてVoiceディレクトリだけをダウンロードしてみる。
pi@raspberrypi ~/dropbox $ dropbox_uploader.sh download /Voice ./
> Downloading "/Voice" to "/home/pi/dropbox/Voice"...
> Creating local directory "/home/pi/dropbox/Voice"... DONE
> Downloading "/Voice/makimaki-icoming.txt" to "/home/pi/dropbox/Voice/makimaki-icoming.txt"... DONE
> Downloading "/Voice/makimaki-icoming.wav" to "/home/pi/dropbox/Voice/makimaki-icoming.wav"... DONE
> Downloading "/Voice/yuakaary-invading.txt" to "/home/pi/dropbox/Voice/yuakaary-invading.txt"... DONE
> Downloading "/Voice/yuakaary-invading.wav" to "/home/pi/dropbox/Voice/yuakaary-invading.wav"... DONE
> Downloading "/Voice/zun-invading.txt" to "/home/pi/dropbox/Voice/zun-invading.txt"... DONE
> Downloading "/Voice/zun-invading.wav" to "/home/pi/dropbox/Voice/zun-invading.wav"... DONE
ダウンロード成功。Windowsでボイスロイド3人娘のwavを作ってDropboxに上げ、それをDropbox-Uploaderでダウンロード(OSX ssh経由)という回りくどいことをしてみた。
余談
aplay
したらRaspberry Pi上でしゃべってくれたよ。デフォルトはHDMIに音声出力優先。将来的にスピーカに繋いだりする場合はアナログ出力優先とかにするのかな? (参考…ちょっと情報は古いね。もうDVI出力は無いし。)
pi@raspberrypi ~/dropbox $ aplay Voice/yuakaary-invading.wav
Playing WAVE 'Voice/yuakaary-invading.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
音声出力の優先設定。
#アナログ出力を優先する場合
$ amixer cset numid=3 1
#HDMI を優先する場合
$ amixer cset numid=3 2
Written with StackEdit.
No comments:
Post a Comment