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迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

Python Faker库基本用法详解

《PythonFaker库基本用法详解》Faker是一个非常强大的库,适用于生成各种类型的伪随机数据,可以帮助开发者在测试、数据生成、或其他需要随机数据的场景中提高效率,本文给大家介绍PythonF... 目录安装基本用法主要功能示例代码语言和地区生成多条假数据自定义字段小结Faker 是一个 python