OrangePi Kunpeng Pro体验——安装Hass与驱动SPI小屏幕

OrangePi Kunpeng Pro 是一款面向开发者和爱好者的高性能开发板。在本次测评中,主要将以前的一些代码在该开发板上实现,包括docker部署hass,引脚驱动SPI小屏幕。中间遇到了一些小小问题,但都成功了,一起来试试吧~ 

一、开箱

1. 开箱全貌

快递第三天收到了主办方寄来的OrangePi Kunpeng Pro套装(主板,8G,电源,散热组件,32GB存储卡),SD卡中已经安装了最新的openEuler系统,即插即用👍。

2. 主板观赏

以下说几个比较关注的,具体的主板说明可参考官方链接

正面:CPU、内存、无线网卡和一些接口指示灯。

接口:PD电源输入、HDMI、多个USB3.0接口和一个千M网口。

3. 背面接口

清晰明了的三种不同存储接入接口:SD卡、SSD和EMMC,并可通过两个拨码开关选择启动方式。特别注意的是,虽然M2接口支持nvme和sata两种SSD硬盘,但是默认是nvme硬盘,如果接入的是sata硬盘,需要进行额外的操作(如图就是sata硬盘,额外操作在后续会介绍)。

二、基础入门

0. 说明

1) 账号密码均为:openEuler

1. 烧录系统到sata固态硬盘(nvme可跳过前三个步骤)

SD卡速度慢,手头有一个sata固态硬盘,正好用上。但是sata的固态硬盘,需要额外的修改才能够被开发板识别。

1) 系统烧录:使用balenaEtcher,将系统烧录到硬盘中(使用移动硬盘盒),随后插入到开发板M.2接口中(由于无螺丝,使用了胶带简单固定),但此时还无法读取到这个硬盘。

2) 暂不更改拨码开关,从SD卡进入系统,在此系统下更新SATA 驱动需要的的dt.img 文件。

首先进入/opt/opi_test/sata 文件夹:

cd /opt/opi_test/sata

然后运行下update.sh 脚本来更新SATA 对应的dt.img

sudo ./update.sh

然后重启,使用lsblk查看硬盘,可正常识别:

3) 将SD卡的dt.img配置,更新到sata硬盘中(需要根据情况修改sata硬盘的节点名称,如图为sda)

sudo dd if=/opt/opi_test/dt_img/dt_drm_sata.img of=/dev/sda count=4096 seek=114688 bs=512

4) 切换拨码开关,以SSD方式启动,顺利开机。使用df -h可查看当前系统空间。

2. 增加swap内存

开发板内存有8G,大部分应用已经完全足够,不够时还可以通过设置swap扩展系统内存。

1) 创建一个swap文件

sudo fallocate -l 16G /swapfile

2) 依次配置

sudo chmod 600 /swapfile # 权限为root用户可以读写 
sudo mkswap /swapfile 
sudo swapon /swapfile 
free -h # 查看内存结果

可以看到swap空间为15G(小数部分被直接忽略了),使用free -m可以看到更详细的数据。

3) 设置重启自动生效

将对应的配置添加到/etc/fstab 文件中。

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

3. 配置无线网络

前面都用的是有线网口,接下来通过ssh配置其连接无线wifi。

1) 使用 nmcli 命令扫描附近的 Wi-Fi 网络:

nmcli dev wifi list

2) 使用 nmcli 命令连接到你的 Wi-Fi 网络。假设Wi-Fi SSID 是 SSIDWiFi,密码是 MyPassword,请进行修改:

sudo nmcli dev wifi connect SSIDWiFi password MyPassword

3) 验证连接状态:

nmcli dev status 
# 或者 ifconfig

4. 安装docker

方法1:直接使用 YUM 安装 Docker。简单,但可能安装的是系统软件仓库中提供的较老版本的 Docker。

sudo yum update -y
sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker

方法2:通过 YUM 源安装 Docker。首先添加了 Docker 的 YUM 源,然后使用 yum install 命令安装 Docker 软件包。确保了安装的是最新版本的 Docker,并且可以通过 YUM 包管理器进行更新。

1) 更新

sudo yum update -y

2) 添加 Docker YUM 源

需要添加如下源,如果后面update报错,可以删除该文件。

简单说明:Docker 官方提供了适用于 CentOS/RHEL 的 YUM 源,而 openEuler 在很大程度上与 CentOS/RHEL 兼容,因此使用这些源进行 Docker 的安装。

sudo nano /etc/yum.repos.d/docker-ce.repo

添加以下内容:

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

3) 安装 Docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

4) 启动 Docker 服务

sudo systemctl start docker                 # 启动服务
sudo systemctl enable docker                # 开机自启
sudo systemctl status docker                # 查看状态

5) 测试

sudo docker run hello-world

6) 其他一些指令

以下为使用docker常用的一些指令:

docker --version                     # 查看 Docker 版本
docker run hello-world               # 运行一个 Hello World 容器
docker ps -a                         # 列出所有容器
docker images                        # 列出所有镜像
docker stop CONTAINER_ID             # 停止一个运行中的容器
docker start CONTAINER_ID            # 启动一个停止的容器
docker rm CONTAINER_ID               # 移除一个容器
docker rmi IMAGE_ID                  # 移除一个镜像
docker logs CONTAINER_ID             # 查看容器日志
docker exec -it CONTAINER_ID /bin/bash # 进入一个运行中的容器
docker stats CONTAINER_ID            # 查看容器的资源使用情况
docker build -t my-image:latest .    # 构建一个 Docker 镜像
docker pull ubuntu:latest            # 拉取一个 Docker 镜像
docker push my-image:latest          # 推送一个 Docker 镜像到仓库
docker info                          # 显示 Docker 系统信息
docker network ls                    # 查看 Docker 网络配置
docker network create NETWORK_NAME   # 创建一个 Docker 网络
docker network connect NETWORK_NAME CONTAINER_ID # 连接容器到指定网络
docker network disconnect NETWORK_NAME CONTAINER_ID # 断开容器与网络的连接

三、功耗测量

虽然针对这个高性能开发板,低功耗是不太可能了,但是测量功耗可以明确对电源的需求。目前开发板搭配了最高3A的电源(仅考虑12V)。

1.说明

开发板使用了256G Sata固态硬盘作为系统盘,插入了网线和电源,不接显示器使用ssh登录。使用系统自带的风扇调节方案无修改。依次测量开机、CPU25%、50%和75%运行下、和关机的功耗。

2. 测量程序

写一个cpu_stress.py程序,占用一个核进行满负荷运行(25%CPU占用)。多开可占用更多的CPU资源。

#!/bin/bash

echo "Starting CPU stress test..."

while true; do
    # 执行一些无限循环的计算任务,例如计算圆周率
    echo "scale=5000; 4*a(1)" | bc -l >/dev/null
done

3. 结果

1) 开机:接入typeC供电后,开发板自动开机。首先开发板通过PD协议让电源输入电压升到12V,风扇启动,电流最大到1.1A,经过40s后稳定到660mA。

2) cpu运行测量:依次测量CPU占用25%、50%和75%时的功耗,由于其中1核被设置为了AI核,无法被该程序调用,因此最高占用只有75%。在25%、50%和75%占用时,电流分别为750mA、800mA和970mA

3) 关机:最后,通过指令poweroff,使开发板关机,测量功耗。此时电压仍保持在12V,电流为280mA,风扇不转。

四、Docker部署Hass

在安装docker后,依次安装homeassistant、数据库、mqtt服务器、esphome、nodered,并让他们互相链接,是指一个完善的、且可方便更新的智能家居管理系统,而且不影响其他服务的安装。

1. 配置docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值