OrangePi Kunpeng Pro 开发板测评及Python开发实测

2024-05-28 05:28

本文主要是介绍OrangePi Kunpeng Pro 开发板测评及Python开发实测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景

       首先感谢 创新乐知通过CSDN 邀请本人,参与这次 评测活动。这块开发板是香橙派联合华为精心打造,具有超强算力的鲲鹏开发板。本人使用最多的还是树莓派系列的板子,国产板子特别是华为为核心的板子还是头一次使用,特别感兴趣。稍有空就联系活动组织方,提交收货地址等必要信息后,创新乐知也是很快就把开发板寄了过来,平时工作时间比较忙,没有集中时间来玩,开箱时简单看了下外观,非常扎实。等到周末才有空做个详细的试用。下面我把试用情况和心得做个报告,供有兴趣的朋友做个参考。

二、开发板简介

官方介绍:

Orange Pi Kunpeng Pro 开发板是香橙派联合华为精心打造的高性能开发板,其 搭载了鲲鹏处理器,可提供 8TOPS INT8 计算能力,提供了 8GB 和 16GB 两种内存 版本。Kunpeng Pro 开发板结合了鲲鹏全栈根技术,全面使能高校计算机系统教学 和原生开发。同时支持 FPGA+ARM,从体系结构、数字逻辑设计、操作系统和编 译,再到嵌入式开发,可以基于同一套体系结构和一套开发板实现贯穿打通。

顶层视图:

底层视图:

Orange Kunpeng Pro 开发板硬件规格

处理器

4核64位Arm处理器

内存

• 类型:LPDDR4X
• 容量:8GB 或 16GB

存储

• 板载 32MB 的 SPI Flash
• Micro SD 卡插槽
• eMMC 插座:可外接 eMMC 模块
• M.2 M-Key 接口:可接 2280 规格的 NVMe SSD 或 SATA SSD

以太网

• 支持 10/100/1000Mbps
• 板载 PHY 芯片:RTL8211F

Wi-Fi+蓝牙

• 支持2.4G和5G双频WIFI • BT4.2
• 模组:欧智通 6221BUUC

USB

• 2 个USB3.0 Host接口
• 1 个 Type-C 接口(只支持 USB3.0,不支持 USB2.0)

摄像头

2个MIPI CSI 2 Lane接口

显示

• 2个HDMI接口
• 1个MIPI DSI 2 Lane接口

音频

• 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 Portalicon-default.png?t=N7T8https://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 - Orangepiicon-default.png?t=N7T8http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-kunpeng.html

百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间icon-default.png?t=N7T8https://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

这篇关于OrangePi Kunpeng Pro 开发板测评及Python开发实测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009661

相关文章

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意