小米摄像机无NAS解决方案

小米摄像机无NAS解决方案

Neurocoda

思路

利用 Rclone 和 OpenList 的 WebDAV API 将 123Open 盘(或其他网盘,只要 OpenList 支持就行)挂载到本地目录,然后再使用 Samba 共享该目录;小米摄像机CW500与 OpenWrt 安置在同一局域网下,小米摄像机通过局域网以 Samba 协议连接 OpenWrt 的共享目录实现监控视频上载。

本思路适用于没有合适的 NAS,但是不想购买监控云存储服务的用户

设备信息

OpenWrt

型号Octopus Planet(章鱼星球 S912)
架构AArch64 Processor : Cortex-A53 * 8(Arm64)
固件版本OpenWrt R2024.11.05 / LuCI Master (git-24.283.20555-a1e6216)
内核版本6.1.114-flippy-92+o

Docker

Docker 版本27.2.0
1
2
REPOSITORY              TAG       IMAGE ID       CREATED       SIZE
openlistteam/openlist latest 6c11957205f7 2 weeks ago 136MB

小米摄像机CW500

NAS转存功能:支持(必须搭配内存卡进行使用)
NAS协议:SMB1.0/SMB2.0
当前仅支持局域网内 NAS 转存(2025-07-26)

前置条件

拿到 123 盘的 API 密钥对
https://www.123pan.com/developer

OpenList 配置

部署 OpenList

创建 docker-compose.yml

1
vim docker-compose.yml

填入以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3.8'

services:
alist:
image: openlistteam/openlist:latest
container_name: openlist
restart: unless-stopped
network_mode: host
volumes:
- OpenList:/opt/openlist/data
environment:
- PUID=0
- PGID=0
- UMASK=022

volumes:
OpenList:

容器启动

1
docker-compose -f docker-compose.yml up -d

查看容器状态

1
docker logs openlist

可以看到容器成功启动,且密码在 docker logs openlist 的输出中。

添加云盘

访问 http://<OpenWrtIP>:5244,并登录(密码见 docker logs openlist 的输出)

登录后点击 Manage

Storages 部分点击 Add 按钮以添加存储

选择 123Open

填写 Mount PathClientIDClientSecret

回到主界面应该可以看到有目录了,能正常访问

点击右下角工具栏中的创建文件,测试是否能正常访问云盘,并顺便创建一个测试文件 test

注:如果希望将监控录像加密后再上传的话,需要再配置一个 Crypt 盘,后面 webdav 用户的根目录选择加密盘。详见 OpenList Docs

添加 WebDAV 用户

添加一个 WebDAV 用户,注意设置权限

测试是否能访问

1
curl -v http://127.0.0.1:5244/dav/

显示 401 Unauthorized,即功能正常

注:建议顺便把管理员账号密码改了

Rclone 配置

配置创建

键入以下指令

1
rclone config

这里填 n

然后给这个配置取一个名字,我这里是 WebDAV-123Open

找到 WebDAV 所在编号并键入,我这里是 46

填 WebDAV 的 URL(这是 OpenList 提供的 WebDAV 接口:http://Openlist-IP:5244/dav/

1
http://127.20.10.1:5244/dav/

这里是验证方式,选择 5(其他验证方式)

键入刚才在 OpenList 创建的用户名

两次输入密码(这里密码是不显示的)

这里直接按回车

这里 n 或直接回车

y 或回车

这样就完成了

接下来测试是否能访问

1
rclone ls WebDAV-123Open:

可以看到我们刚才创建的测试文件

挂载

创建挂载目录

1
mkdir -p /mnt/webdav

手动测试挂载

1
rclone mount WebDAV-123Open: /mnt/webdav --allow-other --vfs-cache-mode writes &

检查是否挂载成功

1
2
df -h | grep webdav
ls /mnt/webdav

可以看到我这很明显是挂载成功了

卸载

1
fusermount -uz /mnt/webdav

设置开机自动挂载

编写 /etc/rc.local 文件(脚本插入到 ‘exit 0’ 之前即可随系统启动运行)

1
vim /etc/rc.local

插入指令

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
sleep 15

mkdir -p /mnt/webdav
chmod 777 /mnt/webdav

/usr/bin/rclone \
--config /root/.config/rclone/rclone.conf \
mount WebDAV-123Open: /mnt/webdav \
--allow-other \
--dir-perms 0777 \
--file-perms 0777 \
--umask 000 \
--vfs-cache-mode writes \
--buffer-size 256M \
--vfs-read-chunk-size 32M \
--vfs-read-chunk-size-limit off \
--vfs-cache-max-age 5m \
--dir-cache-time 1h \
--no-modtime \
--no-checksum \
--contimeout 5m \
--timeout 10m \
--retries 10 \
--low-level-retries 20 \
--log-level DEBUG \
--log-file /tmp/rclone-mount.log \
--daemon &

手动触发,检查是否能挂载(如果 /etc/rc.local 中还有其他特别的指令的话,可直接复制之前插入的命令执行)

1
2
3
4
/etc/rc.local

df -h | grep webdav
ls /mnt/webdav

若和之前一样可显示 text.txt 那就没问题

重启设备,查看是否能自动挂载

1
reboot

重新连接后执行

1
2
3
sleep 30
df -h | grep webdav
ls /mnt/webdav

没问题。

rclone 就配置完了,接下来配置 samba

Samba 配置

安装 Samba

安装 luci-app-samba4

1
2
opkg update
opkg luci-app-samba4

应该会自动安装

  • samba4-libs
  • samba4-server
  • autosamba
  • luci-app-samba4
  • luci-i18n-samba4-zh-cn

配置用户

安装 shadow-useradd

1
2
opkg update
opkg install shadow-useradd

如果安装失败就试试换源(注意备份)

为 root 用户添加 samba 密码:

1
smbpasswd -a root

增加一个新的 linux 用户 sambashare 并设置 home 目录:

1
2
3
4
5
6
7
opkg update
opkg install shadow-useradd

useradd sambashare -g root
passwd sambashare
mkdir /home/sambashare
chown sambashare /home/sambashare/

为 sambashare 用户添加 samba 密码:

1
smbpasswd -a sambashare

共享目录

在 OpenWrt 面板中直接配置即可(注意一定不要禁用 NetBIOS,会导致小米摄像机无法找到设备)

检查

设置重启和开机自启动

1
2
/etc/init.d/samba4 restart
/etc/init.d/samba4 enable

检查状况

1
2
3
/etc/init.d/samba4 status
logread | grep smb
netstat -tuln | egrep '137|138|139|445'

测试远程连接

测试文件读写(拖个文件进去试试)

小米摄像机 CW500 配置

进入摄像机,在本摄像机的界面:设置->存储设置->NAS网络存储
直接添加即可

查看挂载点:

文件确实被正确存储了。

在 OpenList 上也可以看到:

遇到的问题

Q0:为什么小米摄像机无法找到 OpenWrt 设备?
A0:首先检查是否在同一网段,其次检查 OpenWrt 上的 samba 设置是否禁用 NetBIOS(不能禁用

Q1:为什么小米摄像机无法写入到共享目录?
A1:检查 rclone 挂载参数中的权限配置 --dir-perms 0777--file-perms 0777。因为本方案是通过 rclone 挂载的目录,所以不适用 chmod 777 配置权限,应该在 rclone 挂载参数中配置权限。

Q2:为什么显示无权限?
A2:见 Q1&A1

补充

若希望公网环境访问本内网 “NAS” 设备,可配置内网穿透:

Ref

最完整rclone挂载网盘到本地(Alist篇)解决方案
设置OpenWRT的samba共享

  • Title: 小米摄像机无NAS解决方案
  • Author: Neurocoda
  • Created at : 2025-07-26 18:14:33
  • Updated at : 2025-07-26 18:14:33
  • Link: https://neurocoda.com/p/e3f319ed.html
  • License: This work is licensed under CC BY-ND 4.0.
Comments