旭日X3派系统安装及python相关环境搭建

1、前言

​ 非常感谢古月居平台推出的高校合作计划,我有幸能够使用旭日X3派进行学习和制作毕业设计。旭日X3派是一款面向生态开发者的嵌入式开发板,接口兼容树莓派、具有5Tops端侧推理与4核ARM A53处理能力。可同时多路Camera Sensor的输入并支持H.264/H.265编解码。结合地平线的高性能算法工具链与机器人开发平台,助力开发者深入学习、构建优质应用。也可以运行ROS2系统,控制机器人进行各种节点发送和接受,达到更好的控制效果。

2、 硬件开发准备

准备阶段

图为硬件材料

旭日X3板、USB-typeC数据线一根、天线、读卡器、64GBSD卡一张,建议装散热风扇给芯片降温。

首先,进入地平线资源中心进行资源下载,[地平线旭日X3派资源下载]:https://developer.horizon.ai/resource

下载中心下载ubuntu20.04镜像

下载中心下载ubuntu20.04镜像

这里推荐使用桌面版镜像(旭日X3派系统镜像桌面版),同时下载工具一栏烧录工具rufus,安装图片步骤进行TF卡制作,如TF卡制作过程发生中断,可按照图片步骤重新制作TF卡。

制作TF卡

制作TF卡

将TF卡插入旭日X3派中,将制作好的TF存储卡插入旭日X3派开发板的TF卡槽,并将显示器接入开发板HDMI接口,然后使用电脑USB连接旭日X3派typec接口进行供电,给旭日X3派插上鼠标和键盘。

  • 在开机阶段,会出现绿色指示灯表示系统启动中,熄灭代表系统启动完成,

  • 红色指示灯:点亮代表硬件上电正常

    开机桌面会出现以下图片:

ubuntu开机画面

ubuntu开机画面

建议X3派使用wifi连接网络,与电脑进行无线传输数据。这里先进行wifi连接,找到自己的wifi信号,输入密码进行连接。

采用也可以使用命令行进行查阅:

  sudo nmcli dev #查看网络设备列表
  sudo nmcli r wifi on #开启WiFi命令
  sudo nmcli dev wifi #扫描附近的 WiFi 热点
  sudo nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0 #连接到指定的 WiFi 热点,将 SSID和 PASSWORD 替换成实际的 WiFi名称和密码

查看wifi IP地址信息方便与电脑通信。

  ip addr  #命令行来查看当前 IP

会出现以下结果:

wifi信息查询

wifi信息查询

这样就大功告成了。

注意在搜索网络信号时,有部分wifi信号无法被搜索到,在古月社区发表泡泡后,有大佬回复称:

  • 和WiFi的设置有关,蛮多的手机热点都是搜不到的,另外尽量避免中文字符和空格

远成登录

旭日X3派作为主控元件,在开发过程中往往要脱机使用,因此远成登录,远成控制就非常有必要。

这里使用官方推荐的PC终端工具,MobaXterm,下载连接 [MobaXterm官网]:https://mobaxterm.mobatek.net/

MobaXterm官网下载

MobaXterm官网下载

下载Free版本足够使用,按步骤安装,最终打开软件为如下画面:

MobaXterm打开画面

MobaXterm打开画面

  • 点击Session,点击SSH,输入刚刚查看的IP地址,输入旭日X3派密码:sunrise.(注意电脑要和X3派在相同wifi上)

  • 点击ok,即可看到如下画面:

MobaXterm远程配置

MobaXterm远程配置

VNC登录

​ 如果需要远程桌面登录,则可以使用VNC Viewer软件进行桌面共享。本人使用直接连接,将电脑与开发板处于统一wifi信号下,查阅wifi对应的IP地址。

  • 首先下载VNC Viewer.
[VNC viewer官网下载]:https://www.realvnc.com/en/connect/download/viewer/

下载相应系统版本,进行安装直至安装完成。
  • 其次打开软件,输入一下IP地址,即可连接。如图所示:

  • 即可远程控制桌面。

VNC打开画面

VNC打开画面

VCN远程操控桌面画面

VCN远程操控桌面画面

3、相关环境配置

系统更新

通过APT命令对系统进行下载和更新。

/etc/apt/source.list文件中,保存了APT命令的软件源列表,在安装软件前,需要先通过apt命令更新package列表。

首先打开终端命令行,并输入如下命令:

sudo apt update #更新配置
sudo apt full-upgrade #升级安装包到最新版本,且同步更新依赖包。

自启动配置

在使用旭日X3派时,很多程序都需要自启动,因此需要配置自启动功能。

通过在sudo vim /etc/rc.local文件末尾添加命令,可实现开机自启动功能,例如:

sudo vim /etc/rc.local
#!/bin/bash -e
# 
# rc.local
#re
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#!/bin/sh

chmod a=rx,u+ws /usr/bin/sudo
chown sunrise:sunrise /home/sunrise

which "hrut_count" >/dev/null 2>&1
if [ $? -eq 0 ]; then
        hrut_count 0
fi

# Insert what you need

MobaXterm快捷工具

  • 鼠标右键默认复制

  • 浏览标签

    • 向前导航:Ctrl + Tab

    • 向前导航:Ctrl + Alt + RightArrow

    • 向后导航:Ctrl + Shift + Tab

    • 向后导航:Ctrl + Alt + LeftArrow

    • 导航至选项卡编号6:Ctrl + Alt + F6

  • 在MobaXterm终端内部

    • 向上滚动:Shift + PageUp

    • 每行向上滚动:Shift + ArrowUp

    • 向上滚动至开头:Shift + Home

    • 向下滚动:Shift + PageDown

    • 每行向下滚动:Shift + ArrowDown

    • 向下滚动到末尾:Shift + End

    • 列模式选择:Ctrl + Alt +单击

  • MobaXterm本地bash外壳内部

    • 中断/杀死当前任务/程序:Ctrl + C

    • 退出当前外壳:Ctrl + D

    • 该行的开头:Ctrl + A(或HOME)

    • 行的开头:Ctrl + E(或END)

    • 上一个命令:ArrowUp

    • 下一条命令:ArrowDown

    • 后一个字符:ArrowLeft

    • 后一个单词:Alt + B

    • 前进一个字符:ArrowRight

    • 转发一个词:Alt + F

    • 调出最后一个命令(历史记录):Ctrl + R(在键入时搜索命令历史记录)

    • 清除画面:Ctrl + L

  • 可配置的快捷方式请注意,所有这些快捷方式都可以通过“设置”->“配置”->“ MobaXterm键盘快捷方式”按钮进行配置。

    • 启动一个新的终端:Ctrl + Alt + T

    • 关闭当前标签页:Ctrl + Alt + Q

    • 上一个标签:Ctrl + Alt +左

    • 下一个标签:Ctrl + Alt + RIGHT

    • 切换全屏模式:F11

    • 启动/停止X服务器:Ctrl + Shift + X

    • 保存终端输出:Ctrl + Shift + S

    • 打印终端输出:Ctrl + Shift + P

    • 1终端模式:Ctrl + Alt + 1

    • 2端子模式(垂直拆分):Ctrl + Alt + 2

    • 2端子模式(水平拆分):Ctrl + Alt + 3

    • 4终端模式:Ctrl + Alt + 4

    • 开始新的远程会话:Ctrl + Shift + N

    • 显示/隐藏侧边栏:Ctrl + Shift + B

    • 启动MobaTextEditor:Ctrl + Shift + M

    • 循环浏览选项卡:Ctrl + Tab

    • 反向循环:Ctrl + Shift + Tab

    • 在终端中查找:Ctrl + Shift + F

    • 查找下一个:Ctrl + Shift + F3

    • 粘贴到终端:Shift + INSERT

    • 快速连接:Ctrl + Shift + Q

    • 分离/重新连接选项卡:Ctrl + Shift + D

    • 复制当前标签页:Ctrl + Shift + U

    • 帮助和文档:Ctrl + Shift + H

    • 退出MobaXterm:Alt + F4

    • 显示MobaXterm /隐藏至系统托盘:Ctrl + M

    • 显示/隐藏弹出终端:Ctrl + Alt + M

开发工具jupyterlab安装

JupyterLabJupyter Notebook的全面升级。事实上,JupyterLab 是一个集 Jupyter Notebook、文本编辑器、终端以及各种个性化组件(有VScode内味了)于一体的全能IDE。相比Jupyter NotebookJupyterLab能够打开更多的文件格式,除了代码文件(.py.cpp),还包括CSV、JSON、Markdown、PDF。在官网上可以不用安装直接在线试用JupyterLabJupyter Notebook

由于ubuntu20.04已经内置python3,因此不用单独下载

sunrise@ubuntu:~$ python3
Python 3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
安装步骤:
  • 更新安装包

    sudo apt update
    sudo apt full-upgrade
    
  • 默认有python3,需要安装pip3

    sudo apt install python3-pip
    
  • 默认安装的pip3版本比较低,先升级pip

    python3 -m pip install --upgrade pip
    
  • 安装构建Python扩展所需的头文件

    sudo apt install python3-dev
    
  • 安装jupyterlab

    sudo pip3 install jupyter jupyterlab
    
  • 生成配置文件

    jupyter lab --generate-config
    
  • 设置访问密码

    jupyter notebook password #输入两次密码,注意都不显示
    
  • 修改配置文件

    cd ~/.jupyter/
    vi jupyter_lab_config.py
    

    输入 i 可以进行修改,输入esc可以退出编辑,输入:wq可以退出文件。

    会出现以下程序:

    ## Configuration file for lab.
    c = get_config()  #noqa
    
    ##插入以下命令
    # 允许root运行
    c.ServerApp.allow_root = True
    # 允许远程访问
    c.ServerApp.allow_remote_access = True
    # 运行端口,默认8888
    c.ServerApp.port = 8888
    # 监听地址
    c.ServerApp.ip = '*'
    # 密钥
    c.ServerApp.password = '刚复制的字符串'
     # 不打开浏览器
    c.ServerApp.open_browser = False
    
  • 输入命令查看时候可以运行

    jupyter lab
    
测试

使用远程访问软件VNC软件即可进行远程桌面访问,

输入以下命令:

import os
print("I have a dream!")

输出如下:

jupyterlab测试

jupyterlab测试

4、总结

至此,旭日X3派的ubuntu20.04操作系统已经搭建完成,基于 python的开发环境也部署完成, 接下来就是进行ROS2开发,以及具体运用到XG-robot小车项目开发中去了。

5、参考网址