手法の検討
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
あとは、次々出てくる質問に答えていくだけです。
グーグルドライブなのでgdriveにしましたが、別になんでも良いみたいです。
使うときの呼び出し名称の設定です。
GoogleDriveを利用するので 18 を、入力。
1-49まで、選択できるようです。入力するときに 一覧が表示されるので安心ですね。
ここに一番悩みました。
ネット上では 「自動でブラウザが開く」とか、「表示されるリンクをクリック」とかありますが、
私の環境では自動起動されませんでした。
写真の赤枠1の文字をコピーして もう一つLXTerminalを開いて貼付けします。
するとブラウザが自動で立ち上がり、ログイン→rcloneがアクセスを求めています。→許可。と進みます。
するとトークンが表示されるので これをコピペで赤枠2に貼り付けます。
(トークンは -> <-で、囲まれている範囲の文字列だけです。)
共有ドライブを利用するか?との問いの様なので n を入力します。
設定した値の一覧が表示される。リモートで使うか?と聞いてくるので、 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にアップする使い方をしています。