LoginSignup
0

More than 1 year has passed since last update.

RaspberryPiからGoogleDriveにファイルをアップロード等操作する

Posted at

手法の検討

GoogleのAPIを利用する方法 と rclone というツールを利用する方法があるようだった。
APIはいろいろとご機嫌が悪い事もあるような記事もあったので、rclone を利用することにした。

rcloneのインストール

LXTerminalで下記を実行します。
curl https://rclone.org/install.sh | sudo bash
(通信速度が確保できるようにしないとエラーが出る事もあるようです。
 私の環境では 他のダウンロード等で通信速度が遅かったら2回ほど失敗しました。。。
 失敗したら、RaspberryPiを再起動して もう一回実行。で成功しました。)
 アップロード・ダウンロード・一覧取得等、色々できるようです。
 今回は 一覧の取得とアップロードに限って解説しています。

rcloneの初期設定

※rcloneはバージョンによって、設定の番号(ネット上では googleDriveが12番→13番と
 変わっていっている様で、私の時は18でした。)とか、メッセージの変化が大きいようです。
 ネットで見ても 微妙に設定のメッセージ等が異なる点もあって、ドキドキでした。。。
 でも、翻訳サイトでメッセージを翻訳しながら調べながら無事に設定できました。
LXTerminalで下記を実行します。
rclone config
あとは、次々出てくる質問に答えていくだけです。

新規設定なのでnを入力。
20220827_145902_ScreenShot.png

グーグルドライブなのでgdriveにしましたが、別になんでも良いみたいです。
使うときの呼び出し名称の設定です。
20220827_150009_ScreenShot.png

GoogleDriveを利用するので 18 を、入力。
1-49まで、選択できるようです。入力するときに 一覧が表示されるので安心ですね。
20220827_150138_ScreenShot.png
20220827_150209_ScreenShot.png
20220827_150504_ScreenShot.png

次の2つの質問は、何も入れずに Enter。
20220827_150635_ScreenShot.png

次は フルアクセスを選択するので 1 を入力。
20220827_150700_ScreenShot.png

次の質問も 何も入れずに Enter。
20220827_150815_ScreenShot.png

次は n を2回。
20220827_151027_ScreenShot.png

ここに一番悩みました。
ネット上では 「自動でブラウザが開く」とか、「表示されるリンクをクリック」とかありますが、
私の環境では自動起動されませんでした。
写真の赤枠1の文字をコピーして もう一つLXTerminalを開いて貼付けします。
するとブラウザが自動で立ち上がり、ログイン→rcloneがアクセスを求めています。→許可。と進みます。
するとトークンが表示されるので これをコピペで赤枠2に貼り付けます。
(トークンは -> <-で、囲まれている範囲の文字列だけです。)
20220827_151557_ScreenShot.png

共有ドライブを利用するか?との問いの様なので n を入力します。
20220827_152240_ScreenShot.png

設定した値の一覧が表示される。リモートで使うか?と聞いてくるので、 y を入力。
設定完了か聞いてくるので q で終了します。

これで、インストールは完了です。

初期設定の動作確認

LXTerminalに
rclone ls gdrive:
で、Googledriveのファイル一覧を取得できます。
割とすぐに表示されます。

その他のコマンドなどは rclone でググると出てくるので、そちらを参照してください。
https://www.nextdoorwith.info/wp/se/how-to-control-google-drive-from-linux-rclone/
様、とても勉強になりました。

GoogleDriveにアップロード

いよいよです。割と一瞬でアップロードされます。
(1秒に2ファイル以上のアップロードはエラーになるようです。
アップロード間隔を調整するか、アーカイブにしてアップロードするらしい。)

rclone copy /dev/shm/test.jpg gdrive:otamesi
/dev/shm/test.jpg ファイルのフルパス
otamesi  Googledrive側のフォルダパス。
(上記の設定だと Googledriveのルートで設定しているので、そこからのパス。
           頭に / は、不要みたい。)

以上で終了です。

RaspberryPiで撮影した写真やセンサーの計測結果をアップするのに役立ちそうです。
私は、定点カメラの写真をRAMdisk内に生成して、即Googledriveにアップする使い方をしています。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0