【地平线旭日X3派试用体验】保姆级入门教程+GPIO例程使用

一、前言:

首先,感谢地平线给予这次试用的机会。借助本次对旭日X3派开发板的试用,第一次接触到了嵌入式开发板,非常荣幸,非常感谢地平线。同时社区中有许多优秀的文章,感谢各位大佬的指点。

二、开发板介绍:

地平线旭日X3派是一款面向生态开发者的嵌入式AI开发板,接口兼容树莓派,具有5Tops等效算力与4核ARMA53处理能力,能为开发者快速上手提供了全新的硬件基础选择。可同时多路 CameraSensor的输入并支持H264/H265编解码。结合地平线的高性能AI工具链与机器人开发平台,助力嵌入式开发者快速落地解决方案。

三、镜像下载:

需要注意的是开发板系统需要从TF卡加载并运行,所以在使用开发板前,需要先完成TF卡的镜像下载及烧录。

环境配置有官方给出的开源资料:https://developer.horizon.ai/api/v1/fileData/documents_pi/Quick_Start/Quick_Start.html

资源中心镜像及烧录工具:https://developer.horizon.ai/resource

镜像烧录:

1、打开rufus工具,确认工具的设备栏可以正确识别到插入的TF卡。

2、点击选择按钮,在弹出的文件选择对话框中选择解压出来的system_sdcard.img镜像文件。

3、点击开始按钮,工具弹出提示窗,点击确定开始TF卡镜像制作。

四、启动系统

1、串口登录:

在使用串口登录前,需要确认开发板串口线跟主机端正确连接,串口登录需要借助PC终端工具,不同工具的端口配置流程基本类似,下面以Putty为例,介绍新建串口连接过程:

这里注意需要提前安装串口USB转接板的驱动,否则设备管理器会提示未知USB设备。驱动程序可从上文提到的资源中心的工具子栏目获取串口驱动。开机启动输入用户名(sunrise)、密码(sunrise)。同时旭日X3派的串口配置参数如下:

  • 波特率(Baud rate):921600
  • 数据位(Data bits):8
  • 奇偶校验(Parity):None
  • 停止位(Stop bits):1
  • 流控(Flow Control):无

2、VNC远程桌面登录:

1、无线网络配置(开发板与PC机需处于同一本地网络)

  • 使用sudo nmcli device wifi rescan命令扫描热点。
  • 使用sudo nmcli device wifi list命令列出扫描到的热点。
  • 使用sudo wifi _connect "SSID" "PASSWD"命令连接热点,返回如下信息,说明网络连接成功,否则请检查SSID是否存在、密码是否有误。

2、VNC登录

  • 确认开发板IP地址:可通过串口登录SSH登录登录设备后,使用ifconfig命令查询。
  • 打开VNC Viewer,输入开发板IP地址和VNC登录密码,默认密码为sunrise,**点击确定**。-

(成功进入界面)

五、测试简单python算法:

1、斐波那契数列的前20个数

斐波那契数列,也称象子数列,是指11.2.3.5813.21345589144这样一个数列,在这个数列当中,从第三项起,每一项都是前两项数字之和。代码使用递归多次重复调用自身最终输出结果。

  • 使用vim命令,进入后是正常界面,按i或者l进入到插入模式编辑代码,完成代码编写后按esc返回正常模式,按下;在输入框中输入wq保存并退出。
  • 使用sudo python3 [文件名].py 运行代码

(成功输出斐波那契数列前20个数)

2、乘法口诀表

  • 使用vim命令,进入后是正常界面,按i或者l进入到插入模式编辑代码,完成代码编写后按esc返回正常模式,按下;在输入框中输入wq保存并退出。
  • 使用sudo python3 [文件名].py 运行代码

(成功输出乘法口诀表)

print()是打印一行空,然后默认换行。end=’ ’是末尾不换行,以空格结尾。

六、测试GPIO例程demo:

1、40Pin功能介绍

旭日X3派支持40PIN功能管脚,同时兼容树莓派的40PIN功能,在/app/40pin_samples/目录下找到主要的测试例程。

开发板提供了40pin引脚功能图如下所示,在旭日X3派用户手册中可以看到关于具体引脚说明,方便用户进行外围扩展,其中数字IO采用3.3V电平设计。40PIN接口定义如下:

2、硬件连接

实现按键控制LED灯的亮灭,LED灯接36脚,按键接38脚,具体连接:

LED --------------36 引脚

按键 -------------38 引脚

3、demo代码

代码说明:当按下按键时,开发板通过读到按键的状态,最终控制输出。具体是通过38脚读到电平输入,此时将36脚置为高电平熄灭LED,延时1秒后置为低电平点亮LED,等待下次按键输入由此循环。

4、demo运行结果

环境及硬件线路连接好后,开发板上电,通过串口登录后进入/app/40pin_samples/目录,运行button_event.py程序。

  • 使用sudo python3 ./button_led.py命令运行程序。

(demo例程成功运行)

e1b1f37d53de20f8fcc76ac0eede3155_20220719230007.mp4

赞!是够保姆级哈哈哈,期待后续项目进行的实时分享呀?