OrangePi Kunpeng Pro开发板初体验——家庭小型服务器
引言
在开源硬件的浪潮中,开发板作为创新的基石,正吸引着全球开发者的目光。它们不仅为技术爱好者提供了实验的平台,更为专业开发者带来了实现复杂项目的可能性。本文将深入剖析OrangePi Kunpeng Pro开发板,从开箱到实际应用,全面评估其性能与实用性。
开箱体验
当OrangePi Kunpeng Pro套装首次映入眼帘,其精致的包装设计和周到的配件选择便令人印象深刻。套装内含的主板、电源适配器及数据线、高效散热片以及一张32GB的高速存储卡,共同构成了一个功能完备的开发环境,为创意实现提供了坚实的硬件基础。


硬件概览
OrangePi Kunpeng Pro的主板设计紧凑而不失专业,搭载了一颗性能强劲的4核64位Arm处理器,搭配8GB或16GB的LPDDR4X内存,足以应对各种中小型项目的需求。
存储方面,除了板载的32MB SPI Flash,还提供了Micro SD卡插槽、eMMC插座以及M.2 M-Key接口,支持2280规格的NVMe SSD或SATA SSD,为数据存储提供了多样化的选择。
网络连接方面,板载的RTL8211F PHY芯片支持10/100/1000Mbps以太网,而Wi-Fi+蓝牙模块则提供了2.4G和5G双频Wi-Fi及BT4.2,确保了无线连接的高速与稳定。此外,2个USB3.0 Host接口和1个Type-C接口(仅支持USB3.0)提供了丰富的外设扩展能力。
显示与音频输出同样不落下风,2个HDMI接口和1个MIPI DSI 2 Lane接口满足了多屏显示需求,而1个3.5mm耳机孔输出则为音频爱好者提供了高品质的音频体验。40 pin的扩展口更是为开发者提供了UART、I2C、SPI、PWM和GPIO等丰富的接口选项。



安装与使用
OrangePi Kunpeng Pro的安装过程异常简便。预装的openEuler 22.03操作系统让初次启动变得轻松愉快。仅需将电源接入Type-C接口、HDMI线接入HDMI0接口,并将有线鼠标和键盘插入USB-A接口,拨动拨码开关至最右侧,即可一键启动,迅速进入系统桌面。
通过设置界面,连接上wifi网络,打开终端界面,输入命令ifconfig wlan0,记录下OrangePi Kunpeng Pro的wlan0网口IP地址。



实际应用案例——智能家居开源系统Homeassistant
将OrangePi Kunpeng Pro作为家庭小型服务器的想法,让我在家中就能享受到智能家居带来的便利。通过系统界面配置好无线网络或者有线网络,获取到ip地址后,在路由器上做一个端口转发将22端口转发出去,之后就可以抛弃桌面系统,在任何地方通过SSH远程连接至开发板,实现对家中智能设备的远程控制。
下图是在公司通过SSH成功远程连接至家里的OrangePi Kunpeng Pro开发板。

Docker安装
为了方便快速的部署Homeassistant,需要在OrangePi Kunpeng Pro开发板上安装docker服务。 在root用户下执行yum install docker -y或在非root用户下执行sudo yum install docker -y,等待安装完成,通过docker -v命令查看版本号,确认docker服务安装成功。

Homeassistant简介及安装
HomeAssistant,简称HA,是一款基于Python开发的智能家居开源系统。它支持市面上众多品牌的智能家居设备,能够轻松实现设备的语音控制和自动化管理。通过Docker容器化部署,安装过程变得异常简单:
docker run -d \
--name homeassistant \
--restart=always \
--privileged \
--hostname homeassistant \
-e TZ=Asia/Shanghai \
-v /hdd/opt/homeassistant:/config \
-v /hdd/downloads:/media \
--net=host \
ghcr.io/home-assistant/home-assistant:stable
参数解释
-
docker run:这是Docker运行容器的基本命令。 -
-d:表示以守护进程模式运行容器。 -
--name homeassistant:指定容器的名称为homeassistant。 -
--restart=always:设置容器在退出时总是尝试重启。 -
--privileged:以特权模式运行容器,这通常用于需要访问宿主机硬件或需要更高权限的容器。 -
--hostname homeassistant:设置容器的主机名为homeassistant。 -
-e TZ=Asia/Shanghai:设置容器的时区为上海时区。 -
-v /hdd/opt/homeassistant:/config:将宿主机的/hdd/opt/homeassistant目录挂载到容器的/config目录,用于存储Home Assistant的配置文件。 -
-v /hdd/downloads:/media:将宿主机的/hdd/downloads目录挂载到容器的/media目录,可能用于存储下载的文件或其他媒体内容。 -
--net=host:将容器的网络设置为宿主机的网络,这样容器内的应用程序就可以直接使用宿主机的网络接口。 -
ghcr.io/home-assistant/home-assistant:stable:指定要运行的Home Assistant镜像的来源和版本号。这里是从GitHub Container Registry (ghcr.io) 拉取的官方Home Assistant镜像,标签为stable,表示稳定版本。
输入命令docker ps,显示一条正在运行的homeassistant容器,那么恭喜你,homeassistant安装成功。

应用界面
接下来在浏览器中输入地址“http://localhost:8123”,不出意外的话,应该可以看到如下界面,尽情去创建自己的智能家居吧。


实际应用案例——开源种子下载工具qbittorrent
qbittorrent简介及安装
qbittorrent作为一款开源的BitTorrent下载客户端,以其强大的功能和轻巧的体积,为用户提供了一个无广告、无捆绑的下载体验。无论是4k高清电影、大型游戏还是系统镜像,都能通过它轻松下载。
docker run -d \
--name=qbittorrent \
-e PUID=0 \
-e PGID=0 \
-e TZ=Asia/Shanghai \
-e WEBUI_PORT=8080 \
--net=host \
--hostname qbittorrent \
-v /ssd/dockerData/qbittorrent/config:/config \
-v /ssd/downloads:/downloads \
--restart always \
ghcr.io/linuxserver/qbittorrent:4.6.0
参数解释
-
-d:表示以守护进程模式运行容器。 -
--name=qbittorrent:指定容器的名称为qbittorrent。 -
-e PUID=0和-e PGID=0:设置环境变量PUID和PGID,分别代表用户ID和组ID。这里设置为0,通常意味着使用root用户。 -
-e TZ=Asia/Shanghai:设置容器的时区为上海时区。 -
-e WEBUI_PORT=8080:设置qBittorrent Web界面的端口为8080。 -
--net=host:将容器的网络设置为宿主机的网络,这样容器内的应用程序就可以直接使用宿主机的网络接口。 -
--hostname qbittorrent:设置容器的主机名为qbittorrent。 -
-v /ssd/dockerData/qbittorrent/config:/config:将宿主机的/ssd/dockerData/qbittorrent/config目录挂载到容器的/config目录,用于存储qBittorrent的配置文件。 -
-v /ssd/downloads:/downloads:将宿主机的/ssd/downloads目录挂载到容器的/downloads目录,用于存储下载的文件。 -
--restart always:设置容器在退出时总是尝试重启。 -
ghcr.io/linuxserver/qbittorrent:4.6.0:指定要运行的qBittorrent镜像的来源和版本号。这里是从GitHub Container Registry (ghcr.io) 拉取的LinuxServer维护的qBittorrent镜像,版本为4.6.0。
输入命令docker ps,同样会显示一条正在运行的qbittorrent容器,那么恭喜你,qbittorrent安装成功。

应用界面
接下来在浏览器中输入地址“http://localhost:8080”,显示登录界面,默认用户名和密码为admin/adminadmin,下图为下载win11镜像测试。

试用感受
经过对OrangePi Kunpeng Pro的初体验,我对OrangePi Kunpeng Pro的整体表现感到非常满意。它不仅性能卓越,而且操作简便,无论是对于初学者还是专业开发者,都是一个理想的选择。尽管在功耗方面略高于同类产品,但这并不影响它成为我心目中的理想开发板。OrangePi Kunpeng Pro以其出色的性能和实用性,无疑值得推荐给每一位寻求高性能开发板的开发者。
相关文章:
OrangePi Kunpeng Pro开发板初体验——家庭小型服务器
引言 在开源硬件的浪潮中,开发板作为创新的基石,正吸引着全球开发者的目光。它们不仅为技术爱好者提供了实验的平台,更为专业开发者带来了实现复杂项目的可能性。本文将深入剖析OrangePi Kunpeng Pro开发板,从开箱到实际应用&…...
AquaCrop农业水资源管理,模拟作物生长过程中水分的需求与消耗
AquaCrop是由世界粮食及农业组织(FAO)开发的一个先进模型,旨在研究和优化农作物的水分生产效率。这个模型在全球范围内被广泛应用于农业水管理,特别是在制定农作物灌溉计划和应对水资源限制方面显示出其强大的实用性。AquaCrop 不…...
爬虫之re数据清洗
文章目录 一、正则【Regular】二、重要语法1、获取内容: 左边(.*?)右边2、替换数据: re.sub(源数据|源数据, 目标数据, 字符串) 一、正则【Regular】 概念: 根据程序员的指示, 从<字符串>中提取数据 结果: 列表 使用频率: 正则跟xpath相比, 正则是弟弟 二、重要语法 …...
惯性动作捕捉与数字人实时交互/运营套装,对高校元宇宙实训室有何作用?
惯性动作捕捉与数字人实时交互/运营套装,可以打破时空限制,通过动捕设备写实数字人软件系统动捕设备系统定制化数字人短视频渲染平台,重塑课程教学方式,开展元宇宙沉浸式体验教学活动和参观交流活动。 写实数字人软件系统内置丰富…...
Leecode---栈---每日温度 / 最小栈及栈和队列的相互实现
栈:先入后出;队列:先入先出 一、每日温度 Leecode—739题目: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温…...
Linux系统编程——动静态库
目录 一,关于动静态库 1.1 什么是库? 1.2 认识动静态库 1.3 动静态库特征 二,静态库 2.1 制作静态库 2.2 使用静态库 三,动态库 3.1 制作动态库 3.2 使用动态库一些问题 3.3 正确使用动态库三种方法 3.3.1 方法一&…...
json formatter哪个好用
在众多的JSON Formatter工具中,确实有几个相当出色的选择,它们各自拥有独特的特点和优势,可以满足不同用户群体的需求。下面就来为大家推荐几个好用的JSONFormatter工具: 1. JSON Formatter & Validator:这款工具…...
react的hooks是什么意思
React Hooks 是 React 16.8 版本引入的一个新特性,它允许你在不编写类组件的情况下使用状态和其他React特性。Hooks使得函数组件变得更加灵活和强大,因为你可以在其中添加状态逻辑、生命周期方法以及其他React功能。 在传统的React类组件中,…...
AVFrame相关接口(函数)
分配和释放 分配 AVFrame AVFrame *av_frame_alloc(void); 分配一个新的 AVFrame 并返回一个指向它的指针。返回的 AVFrame 需要手动释放。 释放 AVFrame void av_frame_free(AVFrame **frame); 释放由 av_frame_alloc 分配的 AVFrame。这个函数会释放帧的数据并将指针设为 …...
低代码与人工智能的深度融合:行业应用的广泛前景
引言 在当今快速变化的数字化时代,企业面临着越来越多的挑战和机遇。低代码平台和人工智能技术的兴起,为企业提供了新的解决方案,加速了应用开发和智能化转型的步伐。 低代码平台的基本概念及发展背景 低代码平台是一种软件开发方法&#x…...
嵌入式测试基础知识
1.白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。 2.黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。 3.软件测试流程:根据测试需求编写测试计划、方案,测试用例,做测试分析&#…...
基于网关的ip频繁访问web限制
一、前言 外部ip对某一个web进行频繁访问,有可能是对web进行攻击,现在提供一种基于网关的ip频繁访问web限制策略,犹如带刀侍卫,审查异常身份人员。如发现异常或者暴力闯关者,即可进行识别管制。 二、基于网关的ip频繁访…...
GSM信令流程(附着、去附着、PDP激活、修改流程)
1、联合附着流程 附着包括身份认证、鉴权等 2、去附着流程 用户发起去附着 SGSN发起去附着 HLR发起去附着 GSSN使用S4发起去附着 3、Activation Procedures(PDP激活流程) 4、PDP更新或修改流程 5、Deactivate PDP Context 6、RAU(Routeing Area Update)流程 7、鉴权加…...
OAK相机如何将 YOLOv10 模型转换成 blob 格式?
编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 Hello,大家好,这里是OAK中国,我是Ashely。 专…...
【Python】解决Python报错:AttributeError: ‘class‘ object has no attribute ‘xxx‘
🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…...
反思 GTC 和 OFC 2024:没有一刀切的方法,但上市时间是关键!
在GTC 2024期间,英伟达宣布了最新的Blackwell B200张量核心GPU,旨在为万亿参数的AI大型语言模型提供支持。Blackwell B200需要先进的800Gbps网络,完全符合在AI工作负载的AI网络报告中概述的预测。随着人工智能工作负载的流量预计每两年增长10…...
速盾:bgp 静态 cdn
BGP(边界网关协议)是一种用于在互联网中交换路由信息的协议,它允许不同自治系统(AS)之间的路由器进行通信和交换路由信息。CDN(内容分发网络)是一种通过将内容分散放置在全球各地的服务器上&…...
union all 以及标量子查询执行计划
SELECT 1, (SELECT ID1 FROM TE WHERE IDA.ID2) FROM .TA A WHERE COLA X UNION ALL SELECT 1, (SELECT ID2 FROM TD WHERE IDA.ID1) FROM .TB A WHERE COLA X UNION ALL SELECT 1,COL2 AS PARENT_UUID FROM .TC a WHERE COLA X 三个union all 看着像是5个table joi…...
上位机图像处理和嵌入式模块部署(f103 mcu和Qt上位机联动)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 之前我们写过一篇文章,上面说的是如何利用串口对mcu进行控制,即如果利用串口实现mcu led灯的点亮和熄灭。输入1的时候&…...
TiKV学习5:TiDB SQL执行流程
目录 1. DML语句读流程概要 2. DML语句写流程概要 3. DDL 流程概要 4. SQL的Parse和Compile 5. 读取的执行 6. 写入的执行 7. DDL的执行 8. 小结 1. DML语句读流程概要 TiDB Server接收sql并处理,TiKV负责持久化数据,PD提供TSO和Region的数据字典…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
