树莓派 NAS

基于树莓派 DIY NAS,3D 打印带屏幕外壳

Make 趣无尽

喜欢

342
浏览
0
喜欢

> 更多图片

项目状态:已完成
开放度:公开
所属分类:电子
发布时间:2024-04-18
最近更新:2024-04-28

详细说明

由于市面上的 NAS 设备一般价值不菲,如果你手里有个树莓派,对于工程师来说自己 DIY 一个是非常的经济实惠的。

我们可以根据自己的喜好来定制外壳的造型:

  • 只保留电源和网线接口

  • 两个连接口都位于背面且彼此相邻

  • USB 连接器和电缆必须全部位于外壳内,以确保设计简洁美观

  • 打印简单,不需要过于复杂的部件

  • 可以适用树莓派 4 和 5

  • 多行 OLED 显示屏

  • 所有的部件都是价格便宜且容易获得的

在进行这个 NAS 设备的制作过程不仅需要一定的手工制作经验,还涉及到 3D 打印外壳部件、焊接技术以及软件配置等多方面的技能。

链接表


文件库

oledinfo.py
[10195 Bytes at 2024-04-24, 13 次下载]

Raspberry+Pi+NAS+-+Stand.stl
[23184 Bytes at 2024-04-24, 12 次下载]

Raspberry+Pi+NAS+-+Rack.stl
[297384 Bytes at 2024-04-24, 11 次下载]

Raspberry+Pi+NAS+-+Lid.stl
[835884 Bytes at 2024-04-24, 11 次下载]

Raspberry+Pi+NAS+-+Enclosure.stl
[485684 Bytes at 2024-04-24, 9 次下载]



教程

组件清单
  • 支持打印 200 x 200 毫米以上的 3D 打印机 × 1
  • 烙铁,推荐用于螺纹嵌件的尖端 × 1
  • 美工刀 × 1
  • 螺丝刀 × 1
  • 杜邦连接器压接工具(可选) × 1
  • 树莓派 4 或 树莓派 5 带电源,2GB RAM 就足够了 × 1
  • 32 GB microSD 卡,推荐使用 SanDisk Extreme PRO × 1
  • 2.5 英寸 SATA 硬盘,推荐 SSD × 一个或两个
  • 个 USB 3.0 转 SATA 适配器,推荐使用 Sabrent 适配器 × 一个或两个
  • Raspberry Pi OS 系统映像(64 位无桌面版) × 1
  • 适用于 Raspberry Pi OS 的 NAS 软件,推荐 openmediavault × 1
  • M3 黄铜螺纹嵌件 × 10
  • M3 x 5 螺钉(第二个硬盘驱动器还有 4 个螺钉) × 10
  • M2.5 黄铜螺纹嵌件 × 4
  • M2.5 x 6 螺丝 × 4
  • M3 x 6 沉头螺钉 × 4
  • Keystone 模块 RJ45 Cat 6 × 1
  • RJ45 Cat 6 跳线(长度或颜色无关紧要) × 1
  • USB C 型公头连接器插头,用于焊接 × 1
  • USB C 型母头连接器插孔 2 针,带线 × 1
  • SH1106 1.3 英寸 OLED 模块 I2C 128X64 4 针 × 1
  • 4 针电缆,带杜邦母连接器 × 1

第一步:配置树莓派

安装树莓派操作系统镜像

在树莓派上安装操作系统镜像最简单的方法是使用 Raspberry Pi Imager。你可以在这里下载:Raspberry Pi Imager

Raspberry Pi Imager 非常方便使用:

  • 将 micro SD 卡插入计算机

  • 启动 Raspberry Pi Imager

  • 选择 Raspberry Pi 型号

  • 选择操作系统 ->选择“Raspberry Pi OS(其他)” ->选择“Raspberry Pi OS Lite(64位)'

  • 在“选择存储”中,选择您的 micro SD 存储卡

  • 单击“下一步”并按照进一步说明进行操作

自定义树莓派引导设置:

  • 主机名

  • 用户名

  • 密码

  • 时区

  • 键盘布局

  • 启用 SSH -> 选中

映像过程成功完成后,将 SD 卡插入树莓派的 SD 卡插槽。然后将电源线和网线连接到树莓派,并等待树莓派启动。几分钟后,查看路由器确定已分配给树莓派的 IP 地址。现在,可以通过 SSH 登录树莓派了。

分配静态 IP 地址

提示:像 NAS 这样的网络设备应该始终具有固定的 IP 地址。固定 IP 地址可以通过 openmediavault 在树莓派操作系统中设置,也可以作为 DHCP 服务器上的静态分配。

网络名称解析

名称解析可以通过 DNS 完成。如果你的网络中没有 DNS 服务器,则主机名也可以存储在网络中所有计算机上的主机文件中。NAS 也可以在没有名称解析的情况下进行操作,但只能通过其 IP 地址进行访问。

第二步:更新和安装附加软件包

对于全新安装的操作系统来说,我们建议立即安装任何缺少的更新。通过 SSH 登陆到你的树莓派,并运行以下命令(如果是在国内,因为下载速度会很慢,请谨慎更新操作):

sudo apt-get -y update && sudo apt-get -y upgrade && sudo reboot

这个命令将搜索并安装系统中所有可用的更新,并在完成后重新启动系统

树莓派重启成功后,再次登录 SSH 并一一运行以下命令来安装我们一会儿需要使用的一些软件包:

sudo apt-get -y install i2c-tools
sudo apt-get -y install python3-pip
sudo apt-get -y install python3-psutil
sudo apt-get -y install python3-luma.oled

安装完所有软件包后,你可以将树莓派关机并断电。

第三步:打印外壳部件并组装

NAS 机箱仅由四个部分组成,可以通过项目文件库下载外壳图纸打印:
https://make.quwj.com/project/510

将设备安装在机架上


外壳打印完成之后,使用烙铁将四个 M2.5 黄铜螺纹插件熔化到机架中,
通过 M2.5 黄铜螺纹以及螺钉,安装好树莓派和硬盘后,使用 SATA 转 USB 线将硬盘连接到树莓派。

准备外壳托盘

打印外壳托盘后,使用烙铁将六个 M3 黄铜螺纹嵌件到外壳托盘的底部用来固定机架,再将另外四个 M3 黄铜螺纹嵌件到盖子连接点上。


下一步,准备电源连接。由于外壳打印的电源开口太小,因此 USB 插座的电线必须焊接在外壳内的 USB 插头上。
在开始焊接插头时,记得把连接器外壳滑道电线上。将黑线焊接到引脚 G 上,将红线焊接到引脚 V 上。这些引脚的位置可能会因 USB 插头制造商的不同而有所不同。最后,将外壳滑到 USB 插头上,在外壳上滴入一点热熔胶以便于更好的固定插头。

由于 OLED 屏幕非常敏感,在连接 OLED 屏幕 时,不要对显示屏施加太大的压力,可以略微弯曲外壳将显示器放入支架中,显示屏的上侧带有四个接线柱连接器,将显示器的底侧放入支架中,然后将其与上侧和两个支架卡入到位。

将机架安装在机柜里

将机架放入机柜中,并用六颗 M3 螺钉将其固定,并将 USB-C 连接器插入树莓派的电源口。

组装网线

与直接布线相比,使用 keystone 模块进行网络连接具有很多优势。LAN 端口可从外部访问,你可以非常轻松地连接和断开 LAN 电缆。如果你当前使用树莓派 4 作为 NAS,并希望稍后升级到树莓派 5,则不需要新的外壳,因为内部适配器非常灵活,既适合树莓派 4,也适合树莓派 5。

连接网线:

  • 将跳线一端剪掉 25 厘米,并在电缆开口端剥去 3 厘米绝缘层。

  • 将屏蔽层向后弯曲以接触到电线,将屏蔽层缠绕在电缆周围。

  • 取下电线周围的保鲜膜

  • 将电线穿过框架:引脚 1、2、3 和 6 的电线位于左侧,引脚 4、5、7 和 8 的电线位于右侧。

  • 将电线固定在框架中并使用侧切刀将其切断

  • 将框架推到触点上,然后合上金属半壳,直至其牢固地卡入到位

  • 使用扎带消除应力

  • 将梯形校正模块安装到机柜上。首先将模块插入顶部,然后向下摆动,直至塑料挂钩卡入到位

  • 将跳线连接器插入树莓派的网络插座

  • 现在将网线和电源连接到 NAS 并检查网络连接是否正常

组装 OLED 显示屏

将 OLED 的四个引脚连接到树莓派几个连接点较近的 GPIO 引脚上 。

  • GPIO 引脚 1 <=> VCC

  • GPIO 引脚 3 <=> SDA

  • GPIO 引脚 5 <=> SCK

  • GPIO 引脚 9 <=> GND

OLED 显示屏上的引脚位置可能会因制造商的不同而有所不同。在将显示器连接到树莓派的 GPIO 引脚之前,请务必检查显示器上的引脚名称!

安装 OLED软件

你可以在项目文件库中找到附加的文件 oledinfo.py:
https://make.quwj.com/project/510

在这个程序中,会在 OLED 显示屏上显示不同的界面,其中包含有关 NAS 的有用信息。界面每 10 秒更换一次,循环往复。显示屏的亮度将在晚上 10 点至早上 7 点之间降低。由于该程序是 Python 代码,可以根据自己的需要轻松修改它。

在安装软件前,你需要开启 树莓派的 I2C 接口 ,通过 SSH 登录到你的树莓派 :

输入以下命令启动树莓派配置工具

sudo raspi-config

在配置工具中,转到“ 3 Interface Options ”并选择“ I4 I2C ”。然后你会被问到

Would you like the ARM I2C interface to be enabled?

选择“<Yes>”启用 I2C 接口。确认成功对话框后,选择“<完成>”按钮或按 Esc 键退出配置工具。

运行命令

sudo i2cdetect -y 1

你会看到以下内容

  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:             -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

如果你在此表中看到“3c”,则说明已检测到 OLED 显示屏,并且一切正常。如果没有,请按照之前步骤中的说明检查布线。

附加文件 oledinfo.py 包含显示输出的 Python 代码。当你的 OLED 显示屏正常工作时,你可以将文件 oledinfo.py 复制到树莓派上的用户主目录。最简单的方法是使用 scp 命令复制文件。

scp oledinfo.py admin@192.168.1.4:/home/admin

这里我使用的用户名和 IP 地址是 “admin ”和“192.168.1.4”,根据你的配置调整数值。

接下来登录你的树莓派并运行以下命令:

sudo mv /home/admin/oledinfo.py /usr/local/bin/
sudo chown 0:0 /usr/local/bin/oledinfo.py && sudo chmod 755 /usr/local/bin/oledinfo.py

将文件移动到正确的位置,并设置该文件的所有者和权限。

运行以下命令,测试显示是否正常使用:

/usr/local/bin/oledinfo.py

如果一切正常的话,你的 OLED 屏幕会开始显示一些输出。
你可以按 Ctrl + C 停止该程序的执行。

最后,配置每次树莓派启动时执行的文件:

sudo crontab -e

编辑 crontab

@reboot /usr/bin/python3 /usr/local/bin/oledinfo.py

到 crontab 的末尾,当你保存文件并离开编辑器时,将安装新的 Crontab。

重新启动你的树莓派查看显示屏是否在系统启动时激活:

sudo reboot

如果显示屏没有出现 openmediavault 的图标,请不要担心,因为接下来我们需要安装openmediavault,来让图标显示。

安装 NAS 软件 Openmediavault

硬件准备好运行后,最重要的一点是:NAS 软件。

当然,可以安装任何喜欢的 NAS 软件。在下文中,描述了 openmediavault 的安装,因为安装易于执行,并且基于 Web 的用户界面使其易于管理。

安装 openmedivault 非常简单。要安装 openmediavault 软件,请通过 SSH 登录树莓派并运行命令:

sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

安装完成后,在计算机上启动浏览器,然后转到:

http://192.168.1.4

(IP地址按照自己的来)

重要:使用 http:// 前缀,因为默认情况下不启用 HTTPS 协议。可以稍后启用 HTTPS。

openmediavault 登录页面应显示在浏览器中,可以使用以下凭据登录到 openmediavault 实例:

用户:admin
密码:openmediavault
(你可以使用自定义的用户密码)

现在,就可以开始配置 NAS了。