关于我给家里监控加5120GB空间的事

家里有个小米监控,但是存储卡只能存一个月不到的视频,当然监控我希望存得越久越好。之前了解了很多工具,包括硬件香橙派(类似于树莓派)、rclone硬盘挂载、samba服务等,这些工具串起来就能达到目的了

硬件准备

香橙派*1及其相关内存卡、适配器:其实树莓派也可以,型号没有严格的限制,只要能跑Linux系统(Ubuntu 16.04或者18.04),有网口、低功耗极本就可以了。后期需要装一个软件。

软件准备

下载rclone:https://rclone.org/downloads/ Windows电脑一般下载Intel/AMD - 64 Bit就可以

一个有5T的Onedrive网盘账户:

  • 一种情况:如果你的监控就是拍一下家里院子户外,不在意隐私,可以直接在淘宝10元购买一个5T账户(你的管理员(淘宝卖家)有权限查看你的文件)
  • 另一种情况:如果介意隐私,可以去自己申请开发者账户,开发者账户会有3个月有效期,这时候需要加入接口保持续订状态E5续订

香橙派系统刷入

如果用的是树莓派,那么网上资料应该更多,不再赘述。

如果用的是香橙派,可以参考官网教程,刷一个Ubuntu系统

香橙派官网: http://www.orangepi.cn/

Ubuntu上使用rclone挂载OneDrive网盘

这个步骤主要参考这篇博客https://www.moerats.com/archives/491/

客户端授权

下载Intel/AMD - 64 Bit版本的rclone以后,解压,在当前文件夹用cmd命令行执行

1
rclone authorize "onedrive"Copy

会自动打开浏览器,登录你准备的Onedrive账户,授权

然后cmd命令行窗口会出现授权码

1
2
3
4
5
Waiting for code...
Got code
Paste the following into your remote machine --->
{"access_token":"xxxx"} #请复制{xx}整个内容,后面需要用到
<---End pasteCopy

复制access_token的相关内容保存。

香橙派安装rclone

以下是对教程博客的补充

当然这其中会出现很多问题:

  • rclone安装问题:

    • 不要使用Ubuntu自带的源用apt-get install命令来安装rclone,估计是版本问题,最后会出现授权失败的情况

    • 博客里面的安装方法,对于部分网络没法下载一些文件,另外香橙派属于ARM架构,存在不兼容

    • 解决方法:通过在rclone官网提供的官方命令进行安装

      1
      curl https://rclone.org/install.sh | sudo bashCopy

      img

  • rclone更新问题

    参考博客时间比较长,所以有些rclone提示的命令会不一样,这时候需要自己读一下提示,如果出现有过的提示,就按照教程选择,如果没有就默认回车即可

    下面提供2021年2月的操作记录:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    rclone config#输入执行
    n/s/q> n#输入n新建一个
    name> One#名字自取,后面用到
    Type of storage to configure.
    Enter a string value. Press Enter for the default ("").
    Choose a number from below, or type in your own value
    1 / 1Fichier
    \ "fichier"
    2 / Alias for an existing remote
    \ "alias"
    3 / Amazon Drive
    \ "amazon cloud drive"
    4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, Tencent COS, etc)
    \ "s3"
    5 / Backblaze B2
    \ "b2"
    6 / Box
    \ "box"
    7 / Cache a remote
    \ "cache"
    8 / Citrix Sharefile
    \ "sharefile"
    9 / Dropbox
    \ "dropbox"
    10 / Encrypt/Decrypt a remote
    \ "crypt"
    11 / FTP Connection
    \ "ftp"
    12 / Google Cloud Storage (this is not Google Drive)
    \ "google cloud storage"
    13 / Google Drive
    \ "drive"
    14 / Google Photos
    \ "google photos"
    15 / Hubic
    \ "hubic"
    16 / In memory object storage system.
    \ "memory"
    17 / Jottacloud
    \ "jottacloud"
    18 / Koofr
    \ "koofr"
    19 / Local Disk
    \ "local"
    20 / Mail.ru Cloud
    \ "mailru"
    21 / Mega
    \ "mega"
    22 / Microsoft Azure Blob Storage
    \ "azureblob"
    23 / Microsoft OneDrive
    \ "onedrive"
    24 / OpenDrive
    \ "opendrive"
    25 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
    \ "swift"
    26 / Pcloud
    \ "pcloud"
    27 / Put.io
    \ "putio"
    28 / QingCloud Object Storage
    \ "qingstor"
    29 / SSH/SFTP Connection
    \ "sftp"
    30 / Sugarsync
    \ "sugarsync"
    31 / Tardigrade Decentralized Cloud Storage
    \ "tardigrade"
    32 / Transparently chunk/split large files
    \ "chunker"
    33 / Union merges the contents of several upstream fs
    \ "union"
    34 / Webdav
    \ "webdav"
    35 / Yandex Disk
    \ "yandex"
    36 / http Connection
    \ "http"
    37 / premiumize.me
    \ "premiumizeme"
    38 / seafile
    \ "seafile"
    Storage> 23#选23 onedrive,注意序号,版本不同序号不同
    ** See help for onedrive backend at: https://rclone.org/onedrive/ **

    OAuth Client Id
    Leave blank normally.
    Enter a string value. Press Enter for the default ("").
    client_id> #留空,直接回车
    OAuth Client Secret
    Leave blank normally.
    Enter a string value. Press Enter for the default ("").
    client_secret> #留空,直接回车
    Edit advanced config? (y/n)
    y) Yes
    n) No (default)
    y/n> n#输入n
    Remote config
    Use auto config?

    * Say Y if not sure
    * Say N if you are working on a remote or headless machine
    y) Yes (default)
    n) No
    y/n> n#输入n
    For this to work, you will need rclone available on a machine that has
    a web browser available.

    For more help and alternate methods see: https://rclone.org/remote_setup/

    Execute the following on the machine with the web browser (same rclone
    version recommended):

    truerclone authorize "onedrive"

    Then paste the result below:
    result> {"access_token":"xxxxxxxxxxxxxx"}#粘贴刚刚保存的客户端认证
    Choose a number from below, or type in an existing value
    1 / OneDrive Personal or Business
    \ "onedrive"
    2 / Root Sharepoint site
    \ "sharepoint"
    3 / Type in driveID
    \ "driveid"
    4 / Type in SiteID
    \ "siteid"
    5 / Search a Sharepoint site
    \ "search"
    Your choice> 1#选择使用类别
    Found 1 drives, please select the one you want to use:
    0: OneDrive (business) id=xxxxxxxxx
    Chose drive to use:> 0#只有0: Onedrive,输入0回车即可
    Found drive 'root' of type 'business', URL: xxxxxxxxxx
    Is that okay?
    y) Yes (default)
    n) No

    y/n> y
    --------------------

    [One]
    type = onedrive
    token = {"access_token":"xxxxxxxxxxxx"}
    drive_id = xxxxxxxxxxxxxxxxxxxxxx

    drive_type = business
    --------------------

    y) Yes this is OK (default)
    e) Edit this remote
    d) Delete this remote
    y/e/d> y#确认
    Current remotes:

    Name Type
    ==== ====
    One onedrive

    e) Edit existing remote
    n) New remote
    d) Delete remote
    r) Rename remote
    c) Copy remote
    s) Set configuration password
    q) Quit config
    e/n/d/r/c/s/q> q#输入q退出
    Copy

    按照教程挂载好以后可以看到香橙派就会出现一个5T空间的目录,注意按照教程设置好开机自启

    img

开启局域网samba服务

到了这一步,就可以直接百度网上各种教程了

sudo -s 切换至root用户(如果不切到root用户每次输入命令前都要加sudo,比较麻烦)

先检查下更新:

1
2
apt-get update
apt-get upgradeCopy
  1. 确定Onedrive的挂载路径,比如上图就是 /OneDrive

2.修改目录的权限

1
chmod 777 /OneDriveCopy

3.在smb.conf文件最后边加入信息

1
vi /etc/samba/smb.confCopy

在文件末尾加入[share]中的配置信息

1
2
3
4
5
6
[share]#名字可以随便取
truepath = /OneDrive #Onedrive挂载路径
trueavailable = yes
truebrowseable = yes
truepublic = yes
truewritable = yesCopy
  1. 创建samba账号

    账户需要时系统中已经有的账户

    1
    lsmbpasswd - a orangepiCopy
  2. 重启samba服务

    1
    2
    /etc/init.d/smbd restart   
    或service smbd restartCopy
  3. 给samba设置开机自启

设置小米摄像头存储路径

存储设置-Nas网络存储,然后搜索局域网下的samba共享服务添加即可

注意:

香橙派和小米摄像头需要在同一个路由器下

小米摄像头设置完成以后需要重启一下

img

img

查看文件

当然在米家APP暂时看不到所有保存的视频,可以电脑登录OneDrive账户查看

img