Logo Neurocoda

Xiaomi Camera No NAS Solution

Neurocoda
Neurocoda
2026-07-03 12:49:10 664 Words 4 Mins ...

Идея

Используя Rclone и WebDAV API OpenList, монтируем облачный диск 123Open (или другой, поддерживаемый OpenList) в локальную директорию, а затем делимся этой директорией через Samba. Камера Xiaomi CW500 находится в одной локальной сети с OpenWrt и подключается к общей папке OpenWrt по протоколу Samba для загрузки видео наблюдения.

Эта идея подходит для пользователей, у которых нет подходящего 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

Версия Docker27.2.0
REPOSITORY TAG IMAGE ID CREATED SIZE
openlistteam/openlist latest 6c11957205f7 2 weeks ago 136MB

Камера Xiaomi CW500

Функция переноса на NAS: поддерживается (обязательно использование карты памяти)
Протокол NAS: SMB1.0/SMB2.0
В настоящее время поддерживается только перенос в NAS в локальной сети (2025-07-26)

Предварительные условия

Получить пару ключей API 123 диска
https://www.123pan.com/developer

Настройка OpenList

Развертывание OpenList

Создайте docker-compose.yml

vim docker-compose.yml

Вставьте следующее содержимое

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:

Запустите контейнер

Terminal window
docker-compose -f docker-compose.yml up -d

Проверьте статус контейнера

Terminal window
docker logs openlist

Видно, что контейнер успешно запущен, и пароль отображается в выводе docker logs openlist.

Добавление облачного диска

Перейдите по адресу http://<OpenWrtIP>:5244 и войдите (пароль см. в выводе docker logs openlist)


После входа нажмите Manage

В разделе Storages нажмите кнопку Add, чтобы добавить хранилище

Выберите 123Open

Заполните Mount Path, ClientID, ClientSecret

Вернитесь на главный экран, должен появиться каталог, который можно открыть

Нажмите на кнопку создания файла на панели инструментов в правом нижнем углу, чтобы проверить доступ к облачному диску и заодно создать тестовый файл test

Примечание: если вы хотите шифровать видео перед загрузкой, настройте дополнительно Crypt диск, а корневую папку пользователя webdav укажите на зашифрованный диск. Подробнее в документации OpenList.

Добавление пользователя WebDAV

Добавьте пользователя WebDAV, обратите внимание на настройку прав

Проверьте доступ

Terminal window
curl -v http://127.0.0.1:5244/dav/


Отображается 401 Unauthorized, что означает, что функция работает корректно.

Примечание: рекомендуется также изменить пароль администратора.

Настройка Rclone

Создание конфигурации

Введите следующую команду

Terminal window
rclone config

Здесь введите n

Затем дайте этой конфигурации имя, у меня это WebDAV-123Open

Найдите номер для WebDAV и введите его, у меня это 46

Введите URL WebDAV (это WebDAV интерфейс, предоставляемый OpenList: http://Openlist-IP:5244/dav/)

http://127.20.10.1:5244/dav/

Здесь выберите метод аутентификации 5 (другой метод)

Введите имя пользователя, созданное в OpenList

Дважды введите пароль (пароль не отображается)

Здесь просто нажмите Enter

Здесь n или просто Enter

y или Enter

Настройка завершена

Теперь проверьте доступ

rclone ls WebDAV-123Open:

Видим созданный ранее тестовый файл

Монтирование

Создайте точку монтирования

mkdir -p /mnt/webdav

Вручную протестируйте монтирование

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

Проверьте, успешно ли смонтировано

df -h | grep webdav
ls /mnt/webdav


Видно, что монтирование прошло успешно.

Отмонтируйте

fusermount -uz /mnt/webdav

Настройка автоматического монтирования при загрузке

Отредактируйте файл /etc/rc.local (вставьте скрипт перед exit 0, чтобы он запускался при старте системы)

vim /etc/rc.local

Вставьте команду

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 есть другие особые команды, можно просто выполнить скопированную ранее команду)

Terminal window
/etc/rc.local
df -h | grep webdav
ls /mnt/webdav

Если, как и раньше, отображается text.txt, значит всё в порядке.

Перезагрузите устройство и проверьте автоматическое монтирование

Terminal window
reboot

После повторного подключения выполните

Terminal window
sleep 30
df -h | grep webdav
ls /mnt/webdav


Всё работает.

Настройка rclone завершена, далее настройка samba.

Настройка Samba

Установка Samba

Установите luci-app-samba4

opkg update
opkg luci-app-samba4

Должны автоматически установиться:

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

Настройка пользователей

Установите shadow-useradd

opkg update
opkg install shadow-useradd

Если установка не удалась, попробуйте сменить источник (не забудьте сделать резервную копию)

Добавьте пароль samba для пользователя root:

smbpasswd -a root

Создайте нового пользователя linux sambashare и задайте домашнюю директорию:

opkg update
opkg install shadow-useradd
useradd sambashare -g root
passwd sambashare
mkdir /home/sambashare
chown sambashare /home/sambashare/

Добавьте пароль samba для пользователя sambashare:

smbpasswd -a sambashare

Общая папка

Настройте непосредственно в панели OpenWrt (обязательно не отключайте NetBIOS, иначе камера Xiaomi не сможет найти устройство)

Проверка

Настройте перезапуск и автозапуск при загрузке

Terminal window
/etc/init.d/samba4 restart
/etc/init.d/samba4 enable

Проверьте состояние

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

Проверьте удалённое подключение

Проверьте чтение и запись файлов (перетащите файл для проверки)

Настройка камеры Xiaomi CW500

Зайдите в камеру, в интерфейсе камеры: Настройки -> Настройки хранилища -> NAS сетевое хранилище
Просто добавьте

Проверьте точку монтирования:

Файлы действительно сохраняются корректно.

В OpenList также видно:

Возникшие проблемы

Q0: Почему камера Xiaomi не обнаруживает устройство OpenWrt?
A0: Сначала проверьте, находятся ли они в одной подсети, затем проверьте, отключен ли NetBIOS в настройках samba на OpenWrt (не отключать).

Q1: Почему камера Xiaomi не может записывать в общую папку?
A1: Проверьте настройки прав в параметрах монтирования rclone: --dir-perms 0777, --file-perms 0777. Поскольку в этом решении используется монтирование через rclone, настройка chmod 777 не подходит, права должны быть заданы в параметрах монтирования rclone.

Q2: Почему отображается “Нет прав”?
A2: См. Q1&A1

Дополнение

Если вы хотите получить доступ к этому внутреннему “NAS” устройству из внешней сети, можно настроить проброс туннеля:

Ref

Самое полное решение по монтированию облачного диска на локальный компьютер с помощью rclone (Alist)
Настройка общего доступа Samba на OpenWRT

Title: Xiaomi Camera No NAS Solution Author: Neurocoda Created at: 2026-07-03 12:49:10 Link: https://neurocoda.com/ru/posts/xiaomi-camera-no-nas-solution-ru/ License: This work is licensed under CC BY-ND 4.0.

Comments