一、前言:
首先,感谢地平线给予这次试用的机会。借助本次对旭日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
wifirescan
命令扫描热点。 - 使用
sudo
nmcli
device
wifilist
命令列出扫描到的热点。 - 使用
sudo
wifi_connect
"SSID"
"PASSWD"
命令连接热点,返回如下信息,说明网络连接成功,否则请检查SSID是否存在、密码是否有误。
2、VNC登录
(成功进入界面)
五、测试简单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例程成功运行)