Fire TVとNasのファルダと同期させたい事があります。
スマートフォンならFolderSyncやSyncThingなどのアプリで同期できますが
Fire TVでちゃんと動く同期アプリが見つからなかったので
ラズパイからadb-syncで同期することにしました。
準備
FireTVのADBデバッグを有効化
- FireTVで
設定
→マイFire TV
→バージョン情報
を開き -
Fire TV Stick
を7回クリックで開発者を有効化 -
設定
→マイFire TV
→開発者オプション
を開く - ADBデバッグをオンにする
FireTVのIPアドレスの確認
設定
→ マイFire TV
→ バージョン情報
のネットワーク
で確認
ツールのインストール
sudo apt install -y git android-tools-adb
git clone https://github.com/google/adb-sync
adbで接続
# IPアドレスはFireTVのIPアドレスに置き換え
adb connect 192.168.0.xxx:5555
このコンピューターを常に許可
にチェックを入れてOKを選択
同期
# ./adb-sync/adb-sync -2 -s {FireTVのIPアドレス}:{ポート(5555)} {ラズパイのパス} {FireTVのパス}
./adb-sync/adb-sync -2 -s 192.168.0.xxx:5555 ./sync /sdcard
ラスパイのパスの最後に/
がない場合はFireTVのパスにラスパイのフォルダが挿入される
./adb-sync/adb-sync -2 -s 192.168.0.xxx:5555 ./sync /sdcard
の場合は./sync
と /sdcard/sync
と同期される(存在しなければ作成される)
別名で同期する場合はラスパイのパスの最後に/
をつける
./adb-sync/adb-sync -2 -s 192.168.0.xxx:5555 ./sync/ /sdcard/test
で./sync
と/sdcard/test
が同期される
サービス化
実行スクリプト
nano SyncFireTV.sh
SyncFireTV.sh
#!/bin/bash
host=192.168.0.xxx:5555
adb connect ${host}
home/pi/adb-sync/adb-sync -2 -s ${host} /home/pi/sync /sdcard
sudo chmod +x SyncFireTV.sh
timerの作成
sudo nano /etc/systemd/system/SyncFireTV.timer
30分ごとに同期させる
/etc/systemd/system/SyncFireTV.timer
[Unit]
Description=Sync Fire TV
[Timer]
OnBootSec=10min
OnUnitActiveSec=30min
[Install]
WantedBy=multi-user.target
serviceの作成
sudo nano /etc/systemd/system/SyncFireTV.service
bash/etc/systemd/system/SyncFireTV.service
[Unit]
Description=Sync Fire TV
[Service]
ExecStart=/home/pi/SyncFireTV.sh
User=pi
Group=pi
[Install]
WantedBy=multi-user.target
サービスの有効化
sudo systemctl enable SyncFireTV.service
sudo systemctl enable SyncFireTV.timer
sduo systemctl start SyncFireTV.service
sudo sytemctl start SyncFireTV.timer