一、背景
首先感谢 创新乐知通过CSDN 邀请本人,参与这次 评测活动。这块开发板是香橙派联合华为精心打造,具有超强算力的鲲鹏开发板。本人使用最多的还是树莓派系列的板子,国产板子特别是华为为核心的板子还是头一次使用,特别感兴趣。稍有空就联系活动组织方,提交收货地址等必要信息后,创新乐知也是很快就把开发板寄了过来,平时工作时间比较忙,没有集中时间来玩,开箱时简单看了下外观,非常扎实。等到周末才有空做个详细的试用。下面我把试用情况和心得做个报告,供有兴趣的朋友做个参考。
二、开发板简介
官方介绍:
Orange Pi Kunpeng Pro 开发板是香橙派联合华为精心打造的高性能开发板,其 搭载了鲲鹏处理器,可提供 8TOPS INT8 计算能力,提供了 8GB 和 16GB 两种内存 版本。Kunpeng Pro 开发板结合了鲲鹏全栈根技术,全面使能高校计算机系统教学 和原生开发。同时支持 FPGA+ARM,从体系结构、数字逻辑设计、操作系统和编 译,再到嵌入式开发,可以基于同一套体系结构和一套开发板实现贯穿打通。
顶层视图:
底层视图:
Orange Kunpeng Pro 开发板硬件规格 | |
处理器 | 4核64位Arm处理器 |
内存 | • 类型:LPDDR4X |
存储 | • 板载 32MB 的 SPI Flash |
以太网 | • 支持 10/100/1000Mbps |
Wi-Fi+蓝牙 | • 支持2.4G和5G双频WIFI • BT4.2 |
USB | • 2 个USB3.0 Host接口 |
摄像头 | 2个MIPI CSI 2 Lane接口 |
显示 | • 2个HDMI接口 |
音频 | • 1 个 3.5mm 耳机孔,支持音频输入输出 |
• 2个HDMI音频输出 | |
40 pin 扩展口 | 用于扩展 UART、I2C、SPI、PWM 和 GPIO 等接口 |
按键 | 1 个复位键,1 个关机键,1 个升级按键 |
拨码开关 | 2 个拨码开关:用于控制 SD 卡、eMMC 和 SSD 启动选项 |
电源 | 支持 Type-C 供电,20V PD-65W 适配器 |
LED 灯 | 1 个电源指示灯和 1 个软件可控指示灯 |
风扇接口 | 4pin,0.8mm 间距,用于接 12V 风扇,支持 PWM 控制 |
电池接口 | 2pin,2.54mm 间距,用于接 3 串电池,支持快充 |
调试串口 | Micro USB 接口的调试串口 |
支持的操作系统 | openEuler 22.03 |
外观规格介绍 | |
产品尺寸 | 107*68mm |
重量 | 82g |
rangePiTM是深圳市迅龙软件有限公司的注册商标 |
开箱介绍
除了盒装开发板外,同时还带了电源适配器和数据线,这个电源适配器做工非常好。
盒子上标明了入门使用指南,www.orangepi.cn
正面大风扇非常显眼,板子的做工很精致,接口也比较多。
背面 已经带有一张32G 的SD卡。
整体看起来用料足,做工扎实,下面开始上电,进入正式试用。 这次测试重点是搭建Python基础开发环境,并完成一个控制外设的样例程序。
三、基础开发和运行环境搭建
硬件准备
除了上面开发板外,还用到了下面硬件:
键盘鼠标一套,显示器,HDMI线 等。
面包板一个,双色灯一个,导线若干条,
开发板系统安装和配置
寄来的开发板,自带了32GSD卡,并且已经安装了 openEuler 系统,可以直接开机登入。
关于 openEuler 操作系统 简介:
2021年9月25日,华为正式发布操作系统 openEuler 欧拉。
此次华为宣布正式发布欧拉开源操作系统首个全场景版本;2022年3月,还将发布LTS版本,实现全场景融合 [3]。
华为未来将重点打造两个操作系统:鸿蒙,欧拉,同时都进行开源。鸿蒙应用于智能终端、物联网终端、工业终端;欧拉应用于服务器、边缘计算、云基础设施。两个操作系统可以覆盖各种场景,以解决国内缺芯少魂的现状
openEuler 是一个开源、免费的 Linux 发行版平台,将通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系。同时,openEuler 也是一个创新的平台,鼓励任何人在该平台上提出新想法、开拓新思路、实践新方案。
首次开机,建议直接接显示器和键盘鼠标,这样会简单一点,后续配置好 vnc 就可以通过自己电脑远程访问它了。
默认账号/密码 openEuler/openEuler, root/openEuler , 登入界面如下,root 和 openEuler 用户的密码都是 openEuler.
进入系统后,可以发现默认已经装了不少程序了,vscode都有了,太方便开发人员了。
首先我们要把网络搞通来,在设置里面可以,进行网络的配置。
我是用了无线网来链接的,都是图形化的设置,相对简单,这里就不过多介绍了,接网线的话也一样。
开启 ssh 服务 和 桌面共享服务
ssh 服务开启后,电脑链接正常(我自己用的是macbook)
屏幕共享 服务 我打开了,但一直不能正常工作,我电脑通过vcn客户端链接它时,总是会报错。
我分别用 root openEuler 账号都试过,打开屏幕共享,设置密码等等,都还是不行(据其他评测人员说他们是可以的),不清楚是不是我这块板子默认装的系统版本有问题。只能想其他办法了,我直接关掉了这个屏幕共享,然后自己装了一个 tigervnc-server,并设置自动开启服务。
-
1.安装 VNC 服务器:
yum install tigervnc-server
2.修改下面文件,加入:1=openEuler , 表示 vcn 5901接入是,用的是 openEuler登入。
sudo vim /etc/tigervnc/vncserver.users
# TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa
:1=openEuler
3.配置vnc服务自动启动
sudo systemctl enable --now vncserver@:1
4.在/etc/tigervnc/vncserver-config-defaults
配置文件中添加以下行session=gnome alwaysshared
更详细可以参考redhat相关配置文档,openEuler 和 redhat大部分是一致的。
5.3. 以多个用户身份远程访问桌面 Red Hat Enterprise Linux 8 | Red Hat Customer Portalhttps://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/using_the_desktop_environment_in_rhel_8/remotely-accessing-the-desktop-as-multiple-users_accessing-the-desktop-remotely至此 vnc 能正常远程访问了。
我这里是尽量用默认自带的系统,如果想折腾系统的,可参考官方说明文档,有详细刷系统的教程:
Orange Pi - Orangepihttp://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-kunpeng.html
百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/share/init?surl=nM1ZHJtBYSI_47MAVJ29Lg&pwd=j912
开发板GPIO测试
参考用户手册有 gpio操作的测试命令:
手册中是对 31号 针脚操作,按手册也能找到 39 号针脚是GND,那么我们可以接一个来测试一下。
分别给31号针脚 给 高低 电平,能控制小灯的亮与不亮。
OK!验证硬件操控是没有问题的。下一步写个python脚本来控制灯闪烁。重新接线。
代码如下,因为 gpio库是用 gpio序号来控制的,可以参考用户手册里 针脚的定义找到对应的序号。就能实现闪灯了。
#!/usr/bin/env python
# -*- coding: utf-8 -*-# Project: opitest
# File : orangepi_kunpeng_test.py
# Author : Long.Xu <fangkailove@yeah.net>
# http://gnolux.blog.csdn.net
# QQ:26564303 weixin:wxgnolux
# Time : 2024/5/25 21:41
# Copyright 2024 Long.Xu All rights Reserved.
import time
import gpio# 31号针脚 序号 84
red = gpio.GPIOPin(pin=84, direction=gpio.OUT, initial=gpio.LOW)
# 33号针脚 序号 128
green = gpio.GPIOPin(pin=128, direction=gpio.OUT, initial=gpio.LOW)def turn_off_all():green.write(gpio.LOW)red.write(gpio.LOW)def turn_on_red():green.write(gpio.LOW)red.write(gpio.HIGH)def turn_on_green():green.write(gpio.HIGH)red.write(gpio.LOW)print("开始闪烁")
turn_off_all()
exit
try:while True:time.sleep(0.5)print("绿灯亮")turn_on_green()time.sleep(0.5)print("红灯亮")turn_on_red()
except KeyboardInterrupt as e:turn_off_all()#green.cleanup()#red.cleanup()gpio.cleanup()print('\ncleanup')
运行是可能会报错
这是因为 gpio模块是通过读写 export 和 unexport 两个设备映射文件的方式来读写设备的,所以要给运行的程序相应的权限。
[root@openEuler ~]# chmod u+rwx /sys/class/gpio/export /sys/class/gpio/unexport