使用PVE+OMV搭建NAS与视频平台(上篇)

本文参考了多位前人的工作,在此表示感谢!

目录

更新日志

背景

用途:

硬件环境:

安装PVE

一、下载PVE软件

二、刻录启动U盘

三、安装注意要点

安装OpenMediaVault

一、下载并上传镜像

 二、开始安装

三、更换源、update、安装omv-extras

四、登录web端管理端


更新日志

2023年5月10日

撰写第一版。

背景

用途:

1.初步学习Linux各种概念,通过搭建NAS学习Linux命令;

2.搭建一个可以使用的NAS及视频点播系统;

3.未来准备学习docker及LXC技术等,用于未来工作;

硬件环境:

畅网微控 N5010 V5

CPU:Intel Celeron Jasper Lake N5105

内存:8GB 杂牌内存

SSD:梵想(FANXIANG)2TB SSD

网卡:Intel i226(新2.5G网卡)×4

功率:额定10W,感觉应在10~20W

安装PVE

一、下载PVE软件

进入PVE官网下载:

https://www.proxmox.com/en/downloads

最新版本为7.4,下载ISO镜像。

二、刻录启动U盘

使用ultraISO或其他刻录软件均可。如使用ultraISO,启动方式应选择“RAW”。

三、安装注意要点

1.本机仅有一块硬盘,未组raid,直接安装在SSD;

2.安装输入root密码和电子邮件地址,单击“Next”。

 3.选择管理接口,输入PVE节点的服务器名、IP地址、子网掩码、网关和DNNS服务器,如果电脑连到网络,后面的这些信息会自动获取,也可以自己改。

注意:PVE只有通过管理接口连接的网卡才能登录到PVE的管理界面,这跟EXSi不一样,EXSi配置好默认任何一个网卡都能访问管理界面。

4.安装完成,单击“Reboot”,记得拔掉PVE安装U盘并更改启动项。

5.启动完成,下面红框为PVE管理地址。

 6.进入PVE的管理界面。大功告成!

安装OpenMediaVault

一、下载并上传镜像

OMV官网地址:

https://www.openmediavault.org/download.html

提供两个版本,最新稳定版6.0.24(推荐),老版本为5.6.13.

将镜像上传至  数据中心>pve>local(pve)>ISO镜像>上传。

 二、开始安装

1.虚拟机硬件设置

PVE>创建虚拟机

VM ID:6024

名称:OMV6024(太长可能报错,存疑)

磁盘:本处可以增加scsi1,也可以安装完成后另行增加。

CPU:核心 2 ,启用NUMA

内存:4000MB

2.安装过程

开始安装界面:

语言:中文(简体)

国家:中国

键盘:汉语

等待下一步安装ing……

主机名:omv6024

域名:local

root用户密码:

等待下一步安装ing……

Debian仓库镜像所在的国家:中国

Debian仓库镜像:清华镜像站

代理:空

等待下一步安装ing……(2分钟左右)

启动引导器:sda

 等待下一步安装ing……(1分钟左右)

自动重新启动ing……

重启后进入omv,ens18即为omv系统的管理地址,建议第一次进入系统后重启

三、更换源、update、安装omv-extras

1.启动Windows powershell(管理员)

输入命令,登录omv管理端:

ssh root@192.168.50.98

询问:yes

输入密码登录成功

 2.替换国内清华镜像源

输入以下代码并回车执行:

sudo omv-env set OMV_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/public"
sudo omv-env set OMV_APT_ALT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/packages"
sudo omv-env set OMV_APT_KERNEL_BACKPORTS_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/debian"
sudo omv-env set OMV_APT_SECURITY_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/debian-security"
sudo omv-env set OMV_EXTRAS_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers"
sudo omv-env set OMV_DOCKER_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian"
sudo omv-env set OMV_PROXMOX_APT_REPOSITORY_URL "https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian"
sudo omv-salt stage run all

或者使用华为源,速度更快

sudo omv-env set OMV_APT_REPOSITORY_URL "https://mirrors.huaweicloud.com/OpenMediaVault/public"
sudo omv-env set OMV_APT_ALT_REPOSITORY_URL "https://mirrors.huaweicloud.com/OpenMediaVault/packages"
sudo omv-env set OMV_APT_KERNEL_BACKPORTS_REPOSITORY_URL "https://mirrors.huaweicloud.com/debian"
sudo omv-env set OMV_APT_SECURITY_REPOSITORY_URL "https://mirrors.huaweicloud.com/debian-security"
sudo omv-env set OMV_EXTRAS_APT_REPOSITORY_URL "https://mirrors.huaweicloud.com/OpenMediaVault/openmediavault-plugin-developers"
sudo omv-env set OMV_DOCKER_APT_REPOSITORY_URL "https://mirrors.huaweicloud.com/docker-ce/linux/debian"
sudo omv-env set OMV_PROXMOX_APT_REPOSITORY_URL "https://mirrors.huaweicloud.com/proxmox/debian"
sudo omv-salt stage run all

等待下一步安装ing……(3分钟左右),成功后如图:

3.升级更新

分别执行以下命令:

sudo apt update
sudo apt upgrade 
sudo omv-upgrade
sudo apt autoremove

执行过程中全部默认“y”,配置也默认。

等待下一步安装ing……(5分钟左右),成功后如图:

 4.第一次安装omvextras

运行以下命令

sudo wget https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers/pool/main/o/openmediavault-omvextrasorg/openmediavault-omvextrasorg_6.1.1_all.deb
sudo dpkg -i openmediavault-omvextrasorg_6.1.1_all.deb

系统返回:缺少两个软件包:dirmngr和gnupg。

5.修复软件

运行以下命令,解决缺少两个依赖的问题:

sudo apt --fix-broken install

结果如下(容易在97%进度条卡死,耐心等待):

6.第二次安装omvextras(别问我为什么要先失败一次)

运行以下命令

sudo wget https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers/pool/main/o/openmediavault-omvextrasorg/openmediavault-omvextrasorg_6.1.1_all.deb
sudo dpkg -i openmediavault-omvextrasorg_6.1.1_all.deb

等待下一步安装ing……(2分钟左右),成功后如图:

 7.恭喜你!走到这一步基本没问题了。

四、登录web端管理端

1.在浏览器输入:

omv6024.local - openmediavault Workbenchhttp://192.168.50.98/#/login

即可登陆管理端。

如果一切顺利,“系统”页面中应包含了“omv-extras”,同时  更新管理>更新  中需要升级的项应不多余2个,“插件”页面中插件数量应为45个,而非17个。

2.应用设置

3.重启omv

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
以下是使用OpenMV和ESP32之间进行SPI通信传输视频数据的步骤: 1. 在OpenMV上实现摄像机采集和预处理。 在OpenMV上使用Python程序实现摄像机采集和预处理,预处理的目的在于减少图像大小,以便通过SPI总线传输。 ```Python import sensor import image import time import OpenMV as omv # 初始化摄像机 sensor.reset() sensor.set_pixformat(sensor.JPEG) sensor.set_framesize(sensor.QVGA) sensor.set_gainceiling(16) sensor.set_vflip(True) sensor.run(1) # 初始化OpenMV板 omv.init_board() # 采集并处理图像 num = 0 while True: img = sensor.snapshot() img.compress(quality=70) img_size = len(img) buf = bytearray(5) buf[0] = (img_size >> 24) & 0xFF buf[1] = (img_size >> 16) & 0xFF buf[2] = (img_size >> 8) & 0xFF buf[3] = img_size & 0xFF buf[4] = num % 255 omv.spi_transfer(buf, 5, timeout=1000) omv.spi_transfer(img.bytearray(), img_size, timeout=1000) num += 1 ``` 2. 在ESP32上接收并解析视频数据。 在ESP32上使用Arduino代码实现接收和解析OpenMV发送的数据包,并将数据包还原为图像。 ```C++ #include <SPI.h> #include <TFTSPI.h> #define TFT_DC 32 #define TFT_CS 33 #define TFT_RST 15 SPIClass spi(HSPI); void setup() { // 初始化 TFTSPI TFTSPI.begin(TFT_CS, TFT_DC, TFT_RST); TFTSPI.setRotation(1); TFTSPI.fillScreen(TFT_WHITE); // 初始化 HSPI spi.begin(14, 27, 12, 13); // 发送“接收就绪”信号 spi.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); spi.transfer(0xF1); spi.endTransaction(); } void loop() { byte data[5]; bool done = false; uint32_t img_size; uint8_t num; spi.beginTransaction(SPISettings(500000, MSBFIRST, SPI_MODE0)); if (spi.transfer(0xF2) == 0xF2) { spi.transfer((byte)0x00); spi.transfer((byte)0x00); spi.transfer((byte)0x00); spi.transfer((byte)0x00); spi.transfer(0xFF); // 接收到 “开始传输数据”信号 // 接收数据包头部 for (int i = 0; i < 5; i++) { data[i] = spi.transfer((byte)0x00); } // 解析图像数据包头,获取图像大小和帧数 img_size = ((data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]); num = data[4]; // 接受图像数据 uint8_t* img_buf = new uint8_t[img_size]; for (int i = 0; i < img_size; i++) { img_buf[i] = spi.transfer((byte)0x00); } done = true; spi.transfer(0xEE); // 发送“接收成功”信号 } spi.endTransaction(); if (done) { // 解析图像数据包 image_t img; img.format = IMAGE_JPEG; img.w = 320; img.h = 240; img.bpp = 2; img.pitch = 640; img.len = img_size; img.pixels = img_buf; // 在TFTSPI上显示图像 TFTSPI.pushImage(0, 0, 320, 240, (uint16_t*)img_buf); delete[] img_buf; } } ``` 通过以上步骤,OpenMV和ESP32之间就可以通过SPI通信传输视频数据了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值