# 家庭NAS系统
***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.***
---
家庭NAS系统基于Quectel Pi M2智能主控板搭建,通过SSD固态硬盘提供高速存储,利用Samba服务实现文件共享,支持多种访问方式,为家庭用户提供便捷的私有化部署解决方案。
```{image} images/image_J62XbzPrnooq7jxsUuxcbxnJnwd.webp
:width: 800px
:height: 476px
```
# 开发资源汇总
## 开发配件清单
| **配件名称** | **数量** | **规格参数** |
| --- | --- | --- |
| Quectel Pi M2智能主控板 | 1块 | Quectel Pi M2智能主控板 |
| USB-C电源适配器 | 1个 | 27W USB Type-C接口充电器1.2米线长中规电源PD电源适用于树莓派5代 |
| USB-C DP显示线/Micro HDMI线 | 1根 | 规格:DP 1.4;线长:1m;接口:USB-C(公头)- USB-C(公头)
规格:Micro HDMI 2.0;线长:1m;接口:HDMI-A(公头)-HDMI-D(公头) |
| 网线 | 1根 | 线长:1m;传输速率:千兆; |
| SSD固态硬盘 | 1块 | 树莓派原装固态硬盘套件含256GB高速固态硬盘和Raspberry Pi M.2 HAT+ 兼容PCIe Gen3适用于树莓派5 |
| 显示屏 | 1个 | 24英寸HDMI显示器 |
## 配件实物参考
```{image} images/image_XD41bajQLoYU8cxiN1yc20yjnsb.webp
:width: 1034px
:height: 613px
:align: center
```
# 快速上手
## 开发准备
**Quectel Pi M2** 智能主控板出厂默认搭载 **Debian 13** 系统镜像,因此无需再次烧录镜像,仅需按照如下步骤操作即可。
## 硬件连接
### **基础接口连接**
完成以下所有硬件的连接操作,连接接口示意图如下:
```{image} images/image_CAZjbYPl2o1AyYxWG5PcOqR1nBf.webp
:width: 627px
:height: 463px
:align: center
```
1. **显示连接**:HDMI线一端接主控板HDMI接口,另一端接显示器HDMI接口;
2. **网络连接**:千兆网线一端接主控板千兆网口,另一端接路由器网口(替代方案:通过Wi-Fi接入同一局域网);
3. **输入设备连接**:USB键盘、鼠标接入主控板的两个USB-A接口,无线输入设备则将接收器插入USB口即可;
4. **供电连接**:USB-A电源线的USB-A端接电源适配器,USB-C端接入主控板标注 **POWER IN** 的电源口。
### **SSD固态硬盘安装**
首先安装3个尼龙柱,用3个短螺钉固定尼龙柱底部,然后再安装GPIO转接头,用力按压,保证所有的引脚都安装到位,接着再将PCIe转接线完全均匀地插入智能主控板的PCIe端口后,从两侧向下推动PCIe接口的支架,将PCIe转接线牢牢固定到位。
- 安装完成后俯视图:
```{image} images/image_YnrEb160Moccb9xViGYctPxTnRc.webp
:width: 802px
:height: 470px
:align: center
```
## 项目实现
### **更新软件源**
```bash
sudo apt-get update
```
### **安装Samba服务**
```bash
sudo apt-get install samba
```
### **创建挂载文件夹**
```bash
sudo mkdir /mnt/resource
```
### **设置挂载文件夹权限**
```bash
sudo chown -R username: /mnt/resource/
```
### **查看硬盘信息**
- 先查看每个分区对应的设备
```bash
awk 'NR > 2 {printf "%-10s %s\n", $4, $3 / 1024 / 1024 " GB"}' /proc/partitions
```
```{image} images/image_NkSQbTGjQohyM1xVxvnc7Qx5nHt.webp
:width: 608px
:height: 526px
```
- 格式化SSD硬盘
```bash
sudo mkfs.ext4 /dev/nvme0n1 #根据硬盘实际挂载位置来格式化硬盘设备
```
- 查看需要挂载存储设备的文件系统类型(注:Quectel Pi H1智能主控板默认用ext4挂载,如果外接存储设备的文件系统类型不符合,需要重新格式化存储设备)
```bash
sudo blkid
```
```{image} images/image_HOObbOETWoZ9FwxPsX6cizw4nah.webp
:width: 1261px
:height: 355px
```
- 查看当前挂载情况(若/mnt/resource下已有挂载点则需要先卸载该挂载点)
```bash
df -h
```
```{image} images/image_Lmbob7hgVotU4MxuHiLcQx0Sni0.webp
:width: 703px
:height: 213px
```
- 查看对应分区的UUID及用户的uid和gid
```bash
ls -lha /dev/disk/by-uuid
id username
```
```{image} images/image_HGGTbBZ9Poxt1PxlYGGc5Z1LnJf.webp
:width: 755px
:height: 139px
```
### **修改配置文件**
这里使用256GB固态硬盘作为NAS服务器,所以选择nvme0n1作为扩展分区进行挂载,修改fstab文件。
```bash
sudo apt install vim
sudo vim /etc/fstab
```
按下 **ESC+"i"** 在文件最后添加下面语句,添加完成后按下 **ESC+"Shift + :"**,再输入 **wq** 并回车保存退出。
```bash
#这里用ext4作为文件系统,参考上个步骤查询到的分区文件类型#添加nofail选项,nofail选项允许在设备不存在时正常启动UUID=上个步骤查询到的UUID /mnt/resource ext4 defaults,nofail 0 0
```
```{image} images/image_SgPsbYOLHoYqHoxmvWLcGbipnTe.webp
:width: 841px
:height: 57px
```
### **挂载设备**
```bash
sudo mount /mnt/resource
df -h
```
```{image} images/image_Ev0ZbbYoZoLLmYxRpAncNtJMnac.webp
:width: 684px
:height: 201px
```
### **配置Samba用户**
```bash
sudo smbpasswd -a username
```
> 注:输入当前的用户名及密码,注意这里的用户必须是已经存在的Linux用户。
### **修改Samba配置文件**
输入下面命令打开配置文件
```bash
sudo vim /etc/samba/smb.conf
```
在文件最后添加下面的语句(其中括号中的内容是对外展示的磁盘名)
```plaintext
[resource]
comment = Resource
create mask =0777
directory mask = 0777
path = /mnt/resource
valid users = pi
read only = no
vfs objects = catia fruit streams_xattr
```
### **检查配置**
```bash
sudo testparm -s
```
```{image} images/image_CQXgbwNMdoEMVAxqVgjcNyM5nKg.webp
:width: 819px
:height: 543px
```
### **重启Samba服务**
```bash
sudo systemctl restart smbd
sudo systemctl enable smbd
```
### 添加防火墙规则
```plaintext
#添加放行端口
sudo iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
#设置客户端IP允许通过防火墙
sudo iptables -A INPUT -p icmp --icmp-type echo-request -s 192.xx.xx.xx -j ACCEPT
#保存规则
sudo sh -c 'iptables-save > /etc/iptables/rules.v4'
```
### 测试Samba服务
- 测试挂载文件夹是否有相关权限,输入下面命令,测试文件出现则证明可以对该文件夹进行相关操作了。
```bash
sudo -u username touch /mnt/resource/test_from_kane.txt
```
```{image} images/image_SuvnbhzeSoaGS1x0Tcac6QWvnSf.webp
:width: 644px
:height: 66px
```
- 在Windows CMD中测试Samba共享连通性,显示自定义的 **resource** 文件夹即证明NAS服务器搭建成功。
```bash
net view \\[NAS_IP]
```
```{image} images/image_NsxFbEEQWoP3NCxQm4McIG6VnTc.webp
:width: 701px
:height: 272px
```
## 连接NAS服务器
### Windows文件资源管理器(最简单)
- 在Quectel Pi H1智能主控板的控制台依次输入命令,给予用户最高操作权限。
```bash
cd /mnt
sudo chmod 777 resource/
```
- 接着在控制台输入 *ip address* 命令查询智能主控板的ip地址。
- 打开Windows文件资源管理器,在搜索栏输入"**\\ + 智能主控板的ip地址**",按下回车后,可以看到两个共享文件夹。
```{image} images/image_A44PbEiJMoJnVDx6RXdcM38DnRU.webp
:width: 872px
:height: 631px
```
- 在windows文件资源管理器上打开 **resource** 文件夹后,用户就可以直接在挂载文件夹下进行添加、删除、修改等操作了。
```{image} images/image_QyLQbjBjBowDHQxmA3bcBZJpnHe.webp
:width: 775px
:height: 125px
```
### SCP命令
- 从Windows上传文件至NAS服务器。
```bash
scp "需要上传的文件路径" 智能主控板用户名@ip地址:/mnt/resource/
```
- 从Windows上传整个文件夹至NAS服务器。
```bash
scp -r "需要上传的文件夹路径" 智能主控板用户名@ip地址:/mnt/resource/
```
### CasaOS
**CasaOS** 是一个基于 **Docker** 生态系统的开源家庭存储解决方案,专为家庭用户设计,旨在提供简单、易用且优雅的私人存储服务。它允许用户通过一个友好的图形界面快速搭建和管理各种家庭娱乐和智能应用,如媒体服务器、网盘和广告拦截器等。
- **更新源**
```bash
sudo apt update
```
- **安装Docker**
```bash
sudo apt install docker.io
```
- **启动Docker服务**
```bash
sudo systemctl start docker
sudo systemctl enable docker
```
- **检查Docker服务状态**
```bash
sudo systemctl status docker
```
启动成功后如下:
```{image} images/image_S5ofbI0INoZjkaxXVz9c8Pgin52.webp
:width: 1168px
:height: 347px
```
- **安装完整的wget**
```bash
sudo apt install wget -y
```
若出现下面的选项框,直接回车即可。
```{image} images/image_JU9Sbei48ohNEPxzaaAcbaw6nfb.webp
:width: 378px
:height: 172px
```
- **安装casaos服务**
```bash
sudo apt install curl
curl -fsSL https://get.casaos.io | sudo bash
```
安装成功后,复制红框位置的网址至浏览器打开。
```{image} images/image_TKK2buTg0oDrEsxeDf9cEZYQnFh.webp
:width: 1135px
:height: 574px
```
创建用户后登录进去点击 **Files**,在Root目录下找到NAS服务器挂载的文件夹后,您就可以直接在这里进行上传、删除、修改等操作了。
```{image} images/image_XWI3brTgGoIS94xwhv4cKBmXno5.webp
:width: 1047px
:height: 615px
```
```{image} images/image_KGESbM0llopIpCxVWawceVSPnFg.webp
:width: 1906px
:height: 928px
```
# 应用演示