引言
在开源硬件的浪潮中,开发板作为创新的基石,正吸引着全球开发者的目光。它们不仅为技术爱好者提供了实验的平台,更为专业开发者带来了实现复杂项目的可能性。本文将深入剖析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以其出色的性能和实用性,无疑值得推荐给每一位寻求高性能开发板的开发者。