3D打印树莓派4B外壳—内置UPS和统计显示信息

简介: 3D打印树莓派4B外壳—内置UPS和统计显示信息

这次使用树莓派4B搭建一个服务器,并且从网上找到了一个喜欢的外壳。

这是MICHAEL KLEMENTS在2021年构建一个内置UPS和OLED统计数据显示的迷你Raspberry Pi服务器项目,通过内置的UPS,确保Pi在发生电源中断时保持运行。


项目文档地址:https://www.the-diy-life.com/mini-raspberry-pi-server-with-built-in-ups/


此次使用的外壳来自T站的一个项目,不同于MICHAEL KLEMENTS文档中的外壳,与MICHAEL KLEMENTS不同的是,风扇的位置调到了顶部,底部改为了亚克力板。

外壳地址:https://www.thingiverse.com/thing:5027738

外壳视频地址:https://www.bilibili.com/video/BV1ub4y117i1

成品展示

运行

树莓派4B3D打印外壳+ups显示ip等信息

B站视频地址:https://www.bilibili.com/video/BV1AT4y1D7DA

正面4abf628db2014f63b3ff0bce019abbd9.jpg

侧面7278dd6631334ab0ab2d2fa33fd058fa.jpg9abc71731d8f4e65a89394e2e8d81b20.jpg

后面a97b1f1c16ff488a8554eb9667a301ea.jpg

顶部7f97dd85fea242918a232c70e60bfbf2.jpg

底部a9013e2931ed4c2d8fc7df6d8028576b.jpg

材料清单

一开始是从网上找的清单,但是其中有很多没用的材料,导致浪费了不少钱和时间,以下是我踩坑组装时用到的材料,准备动手的小伙伴还需要额外准备工具,因为外壳太小,所以拧螺丝也很费力,手很难伸进去拧动。

建议更新UPS固件完成后再组装。

材料 使用数量 说明 购买数量 价格(元)
树莓派4B 8G 1 树莓派开发板 1 850
1T固态U盘 1 存储系统,可用TF卡代替 1 900
卧式冰塔 1 为树莓派提供散热,UPS Plus模块需要在树莓派的下方 1 119
官方电源 1 树莓派电源,可省略,连接UPS Plus之后,树莓派通过UPS Plus供电 1 53.90
树莓派UPS Plus 1 通过撞针为树莓派供电 1 168
0.96 寸蓝色oled屏(新版本) 1 显示系统和UPS Plus基本信息 1 10.8
18650锂电池 2 存储电量 2 6.5
3D打印外壳 1 打印文件链接:https://pan.baidu.com/s/1u2MkoeruZ6zd4Q0x_OG-Vw
提取码:5odz
1 22
3D打印UPS开关按钮 1 打印文件链接:https://pan.baidu.com/s/11sQ8vt5WbT6K5GXTe3HOpw
提取码:e98w
1 20
亚克力板切割两边和底部 1 切割文件链接:https://pan.baidu.com/s/1CU8HF65876pP3vRlw-WixA
提取码:obl1
1 15
TF4硅脂 1 CPU散热 1 6.20
40P杜邦线母对母10cm 4 连接oled和树莓派GPIO引脚 1 1.35
M2 螺母 8 固定oled屏和顶部风扇 100 1.20
M2.5 螺母 2 固定底板 100 1.20
M2 x 6 内六角螺丝 4 固定oled屏 50 4.50
M2 x 14 内六角螺丝 4 固定顶部风扇 100 6.96
M2.5 x 8 内六角螺丝 14 固定侧边亚克力板 *8,固定底部亚克力板 *4,固定M2.5x14+6单通铜柱 *2 50 3.20
M2.5 x 20 + 6 单通铜柱 2 底部固定UPS Plus *2,UPS Plus自带 0 0
M2.5 x 14 + 6 单通铜柱 2 固定UPS Plus *2 10 3.70
M2.5 x 7 + 6 单通铜柱 4 固定UPS Plus和树莓派,UPS Plus自带 0 0
2193.57

安装Ubuntu Server系统

参考另一篇文章:https://blog.csdn.net/qq_20185737/article/details/123167673

使用I2C

进入系统,运行以下命令,安装i2c-tools、python3-pip

sudo apt install -y i2c-tools python3-pip

使用pip安装smbus2

sudo pip3 install smbus2

通过OTA更新UPS固件

UPS Plus文档地址:https://wiki.52pi.com/index.php?title=EP-0136,右下角可以设置中文。

注:在升级过程中不要关闭电源或断开网络连接。如果升级失败,UPS PLUS将无法正常工作。

  1. 将树莓派和UPS PLUS使用铜柱固定起来。撞针为压下状态。
  2. 按住UPS Pro开关键,将电池插入电池舱。
  3. 插入电池后等待Raspberry Pi运行,在系统终端执行以下python脚本完成升级。
cd ~
git clone https://github.com/geeekpi/upsplus.git
cd ~/upsplus
python3 OTA_firmware_upgrade.py

注:第一次运行时,可能会提示设备没有注册。如果是合法的设备,只需等待几秒钟,再试一次。

  • 升级后,UPS Plus将被关闭,请拔掉电源插头,从UPS Plus中取出电池。
  • 将电池插回UPS Plus,然后连接电源并按下电源开关,将其打开。

系统运行正常即可将树莓派和UPS Plus关机,拆开树莓派和UPS Plus进行组装。

设置自动关机保护

在系统的终端运行

curl -Lso- https://git.io/JLygb | bash 

当遇到低电量时,它将自动关闭并关闭UPS,当交流电来临时,它将重新启动。

检测电池状态

切换到upsplus目录下

cd /usr/mydata/upsplus

注:这是我自己移动之后的目录,upsplus是在更新UPS固件时从github上clone的。

运行命令执行upsplus.py文件

python3 upsplus.py

查看输出信息aeaf91e363acdbf90b9f7945c46ca7f5.png

  • Current information of the detected Raspberry Pi(树莓派信息)
  • Batteries information(电池信息)
  • Currently not charging/Currently charging via Type C Port:当前未充电/使用Type C充电

在 OLED 显示屏上显示 UPS 统计数据

脚本信息:https://github.com/suitbaby/raspi-ups-stats

进入系统,打开终端,运行命令下载Adafruit的Python库用于OLED显示器

cd ~
git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
cd Adafruit_Python_SSD1306.git
sudo python3 setup.py install

下载raspi-ups-stats

cd ~
git clone https://github.com/suitbaby/raspi-ups-stats.git

下载字体文件:https://www.dafont.com/pixel-operator.font,将PixelOperator.ttf上传到raspi-ups-stats目录ae7467aeb7d9f52039fa5e04eceafff6.png

进入raspi-ups-stats目录运行stats.py,oled屏就会显示信息了。

python3 stats.py

f2cc4c237a405cfd617ea2de2bf66f7c.png

设置开机自动启动

创建目录/opt/stats/

mkdir /opt/stats/

raspi-ups-stats目录下的PixelOperator.ttfstats.py文件复制到/opt/stats/目录617ba39573a43cefa1d69bddc1ae74d5.png

切换到raspi-ups-stats目录,运行以下命令,将脚本文件复制到/etc/systemd/system/目录下

sudo cp stats.service /etc/systemd/system/

运行命令重新加载

sudo systemctl daemon-reload
sudo systemctl enable --now stats

最后重新启动即可

reboot

安装注意事项

  • UPS Plus模块必须在树莓派4B的下方
  • 安装顺序:UPS Plus,树莓派,oled屏幕,风扇,冰塔。
  • 使用杜邦线连接风扇、冰塔时,需要注意GPIO的位置
  • 如屏幕引脚对着我,杜邦线的顺序从左→右为黑白灰棕,插入树莓派的位置为:
    第2排从右→左:第一个:灰;第二个:黑;第三个:白;第五个:棕。
  • 冰塔的支架是螺丝从下往上拧还是从上往下拧。
  • 从下往上这种情况相当麻烦,需要先将树莓派和UPS Plus模块之间的后两个螺丝拧到冰塔上。
  • 从上往下这种使用M2X8或者M2X10的往下拧就行,不过单通铜柱需要方向向下,所以UPS Plus模块下方的铜柱需要改成双通铜柱。

脚本注意事项

  1. 如果出现执行python3 XXXX报错时看看是不是缺少相关的库,安装即可。
  2. 系统启动时oled屏不显示信息,只有在运行stats.py时oled才会刷新信息和跳动,则使用
systemctl status stats
  1. 查看stats自启动服务状态,如果是**(code=exited, status=203/EXEC)**,则需要在stats.service中进行修改:
ExecStart=/usr/bin/python3 /opt/stats/stats.py
  1. 运行python3 stats.py时输出/bin/sh: 1: vcgencmd: not found可忽略,安装vcgencmd解决。

报错解决

报错 ModuleNotFoundError: No module named 'ina219’

执行以下命令安装pi-ina219

sudo pip install pi-ina219

报错:ModuleNotFoundError: No module named 'PIL’

执行以下命令安装:

pip install Image

报错:ModuleNotFoundError: No module named 'RPi’

执行以下命令安装:

pip install RPi.GPIO
目录
相关文章
|
9月前
|
传感器 编解码 监控
微型打印机控制电路的设计(1)
微型打印机控制电路的设计(1)
286 0
微型打印机控制电路的设计(1)
|
1月前
|
网络协议 Go 网络安全
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
一种远程升级PLC和HMI组态屏程序的方法-做个笔记
27 2
|
1天前
|
编解码 监控 定位技术
LabVIEW使用单板RIO开发远程监控电源信号
LabVIEW使用单板RIO开发远程监控电源信号
13 3
|
1天前
|
数据采集 传感器 监控
LabVIEW伺服阀动静态测试系统
LabVIEW伺服阀动静态测试系统
|
2天前
|
运维 物联网
LabVIEW轿厢电梯控制系统
LabVIEW轿厢电梯控制系统
|
9月前
|
芯片
微型打印机控制电路的设计(2)
微型打印机控制电路的设计(2)
微型打印机控制电路的设计(2)
|
数据管理 数据库
便携式钻孔测斜仪软件运行状态
设备启动后,自动进入测斜仪程序主界面(若设置了程序自动启动),主界面见图 5.1。若未设置程序自动启动,则可通过双击系统桌面上的测量【APP】程序快捷方式,进入软件。
便携式钻孔测斜仪软件运行状态
便携式钻孔测斜仪测区如何设置
完成当前测区的添加(新建) 、删除操作。WIN5/612 便携式钻孔测斜仪的数据以区域进行划分,一个区域代表一个地理区域,亦或是一个工程、一个工地。设备默认保存最近一次测量时使用测区名称,对同一测区进行测量时无需再次选择设置。若需更换当前测区名称,请按照以下步骤操作。
便携式钻孔测斜仪测区如何设置
|
数据管理
便携式钻孔测斜仪的一般设置
点击日期调整左右按钮对下方的日期进行年月调整,日期点击即可更改,点击时间文本框上下箭头对时分秒进行调整。
便携式钻孔测斜仪的一般设置
|
数据采集 存储 传感器
便携式钻孔测斜仪及探头的连接及使用方法
在所有的应用场合,通常要在土体的钻孔内安装测斜管。测斜管有四个槽口(图 1.2),以配合测斜仪探头的滑轮(图 1.1),探头通过电缆连接至数据仪,通过测量测斜管的竖直倾斜,来探测由于地层移动引起的倾斜、成孔质量、。测斜仪探头有两组小滑轮,距离相隔 0.5m,以 0.5m 为单位进行每一段的角度测量,通过每一段的倾斜角度可计算出每一段的水平偏移量,对所有测段相对水平偏移量进行积分即可得到钻孔内任意一点相对于参照点(孔底或孔顶)的水平位移量。
便携式钻孔测斜仪及探头的连接及使用方法