当前位置: 首页 > 科技观察

OpenHarmony3.0在树莓派3B上的烧录与通讯

时间:2023-03-14 10:10:03 科技观察

OpenHarmony3.0在树莓派3B上的编程与通信2019年9月30日正式发布,本文详细介绍了OpenHarmony3.0在树莓派3B上的编程与通信步骤,详细解释了其中使用的指令,并附上使用说明编程和通讯过程中用到的各种软件下载链接,欢迎浏览指正。一、OpenHarmony3.0编译烧录1.1安装必要的依赖包(1)安装必要的依赖包执行sudoaptupdate命令查看安装的软件包是否有可用更新;然后执行sudoaptinstall-y命令,用于下载安装后面要用到的依赖包。sudoaptupdatesudoaptinstall-ybinutilsgitgit-lfsgnupgflexbisongperfbuild-essential\zipcurlzlib1g-devgcc-multilibg++-multiliblibc6-dev-i386\lib32ncurses5-devx11proto-core-devlibx11-devlib32z-devccache\libgl1-mesa-devlibxml2-utilsxsltprocunzipm4wgetbcpythonpython3\android-tools-fsutilslibssl-devmtools此处需要注意,在Ubuntu20环境下执行前面的命令时,可能会出现android-tools-fsutils工具安装失败的情况,如图1所示,只需将上述安装说明中的android-tools-fsutils替换为android-sdk-libspares和图1红框中的android-sdk-ext4-utils,重新执行。图1android-tools-fsutils安装失败示意图(二)安装repo工具使用curl命令从Gitee网站下载repo工具,使用sudotee命令将下载结果命名为repo,标准输出到/usr/local/bin/repo路径下,实现repo安装。curlhttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3|sudotee/usr/local/bin/repo>/dev/null安装完成后使用sudochmod命令添加安装文件权限,这里设置的是a+x,即给所有用户加上这个文件的可执行权限。sudochmoda+x/usr/local/bin/repo(3)Re-point/bin/shto/bin/bash这一步是通过sudo的ln-sf命令实现的,命令的意思是重定向/bin/sh到/bin/bash。sudoln-sfbash/bin/sh(4)设置git信息在前面安装依赖包的步骤中,我们已经成功安装了git。由于git是一个分布式版本控制系统,所以我们需要设置git自己的name和email来区分。gitconfig--globaluser.nameyour_namegitconfig--globaluser.emailyour_email1.2下载并编译编译内核所需的工具链编译内核需要下载并安装工具链gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf,这里设置安装路径为/ohos,所以需要先创建并切换到这个路径。mkdir~/ohoscd~/ohos可以使用wget下载命令从官网下载,然后使用tar命令解压下载的toolchain安装包。Wgethttps://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xztar-xvfgcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz1.3编译OpenHarmony拉取源码同时把路径切换到/ohos,新建文件夹openharmony并进入该文件夹,通过之前安装的repo工具从Gitee网站(https://gitee.com/xfan1024/oh-rpi3b.git)拉取代码。cd~/ohosmkdiropenharmonycdopenharmonyrepoinit-uhttps://gitee.com/xfan1024/oh-rpi3b.git-moh-rpi3b.xml-brefs/tags/v20210823--no-repo-verifyreposync-crepoforall-c'gitlfspull'./build/prebuilts_download.sh在openharmony文件夹下,先打补丁;然后进入/ohos路径,使用export命令设置环境变量;设置完成后,回到openharmony文件夹开始编译。编译后的界面如图2所示。cd~/ohos/openharmonypython3projectpatch/patch.py??cd~/ohosexportPATH="$PATH:$(pwd)/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin"cdopenharmonypython3build-rpi3.pybuild图2编译界面图1.4烧录到SD卡(Windows烧录方式)编译后生成的镜像firmware.img所在路径为out/ohos-arm-release/packages/phone/images/firmware.img.在开始刻录之前,最好先检查一下镜像firmware.img的大小,以防复制未完成而导致刻录失败。经查看,其大小为941MB,如图3所示。图3firmware.img镜像大小示意图之后将此firmware.img复制到window电脑上,使用Win32DiskImager(下载地址:https://sourceforge.net/projects/win32diskimager/)来刻录。这里我们需要使用SD卡+读卡器的组合,将镜像烧录到SD卡所在分区。首先将SD卡正确安装在读卡器中,然后将读卡器插入电脑,在“设备和驱动器”中会添加SD卡的分区。如下图配置好Win32DiskImager工具后,点击Write完成刻录。图4Win32DiskImager工具配置界面1.5树莓派开发板亮屏树莓派开发板烧屏完成后,需要对树莓派开发板进行亮屏。这部分主要分为以下四个步骤:(1)插入SD卡将SD卡插入树莓派开发板的SD卡槽中。正确插入后的效果如图5中红框所示图5树莓派开发板上插入SD卡示意图(2)按照图5所示硬件连接图连接开发板和其他硬件6(图中每两个相同的序号代表同一根数据线的两端),用HDMI线①连接树莓派开发板和显示器,用DC线②给显示器供电,使用电源线③连接开发板和电源。图6接线图(3)开发板上电,显示屏点亮正确完成以上所有硬件连接后,需要先给开发板上电,然后再打开显示屏:打开连接到的电源开关上面的电源线③给开发板供电。开机,如果硬件连接正常,就可以启动树莓派开发板了,效果如图7所示。图7开发板开机示意图长按显示器侧面的“Power”按钮约3~5秒。如果硬件连接正常,屏幕会亮起。请注意,显示器目前不支持触摸屏功能。图8显示屏点亮示意图(4)设置显示器的触摸屏,首先使用一根数据线(图9中的灰色数据线),在图9所示位置,连接标有显示器侧面带有“TOUCH”标志,开发板连接到开发板的USB端口。然后使用串口工具中的reboot命令(串口工具的下载和使用见2.1),重启设备即可设置显示,实现触摸屏效果。如果命令没有生效,可以重启几次再试。图9触摸屏硬件连接示意图2.开发板通信和文件传输OpenHarmony3.0烧录到树莓派3B后可以实现基本的显示、触摸屏等功能,然后尝试用RaspberryPi3B板卡实现通信,目前尝试的通信方式有:串口通信、SSH通信、文件可视化传输。2.1与树莓派开发板实现串口通信连接串口线硬件设备并成功识别串口后,即可借助XCOM工具或XSHELL工具实现串口通信。(1)连接串口线用串口线连接电脑和树莓派开发板,其中USB口②连接电脑,串口线①按红色顺序连接开发板线、黑线、白线和绿线。效果如图10所示。图10串口线连接效果(2)查看电脑上是否显示USB口,打开设备管理界面查看是否可以显示USB口。如果能正常显示,效果如图11;图11.如果端口名称出现黄色感叹号,表示该端口无法正常显示。这时候需要右击端口名称,在其属性中查看详细信息。是不是因为缺少驱动程序。如果确实是这个原因造成的,需要到对应的下载地址(http://www.wch.cn/downloads/CH341SER_EXE.html)下载驱动,并重启电脑;重启后,再次打开设备管理界面,可以看到显示的USB接口。(3)使用XCOM工具实现串口通信连接好串口线,USB口在电脑上可以正常显示后,就可以测试通信功能是否正常了。这里需要用到XCOM工具,可以准确自动识别串口,还可以查看接收到的历史数据,可以单发也可以多发。下载安装完成后(下载地址为http://www.downcc.com/soft/317457.html,仅供参考),XCOM工具正常运行界面如图12所示,您可以设置右上角红框区域的端口和波特率。注意这里的端口应该是上一步可以正常显示的USB口;在界面左下角红框区域,可以输入cat命令测试串口是否正常。.图12XCOM工具运行界面(4)使用XSHELL工具实现串口通信使用XSHELL工具也可以实现串口通信功能(下载地址为xshellcn.com/xiazai.html),下载安装后正常运行界面为如图12所示。正常运行后,在XSHELL下新建会话,完成相关参数的设置。设置连接属性请参考图13上图,选择协议为红框中的SERIAL协议;设置串口参数请参考图13下图,其中端口号可以在上述步骤中提到的设备管理器中找到,其余参数保持默认设置即可。图13XSHELL工具运行界面(上:设置连接,下:设置串口)。完成以上所有设置后,就可以通过XSHELL实现串口连接了。如果出现“已连接”,则表示连接成功。效果如图14所示。图14串口连接成功图2.2实现与树莓派板子的SSH通信实现SSH通信的前提是获取树莓派的IP地址,并绑定MAC地址。绑定成功后,使用上一节中设置的串口打开树莓派的SSH服务,然后建立SSH通信。(1)获取树莓派的IP地址并绑定。由于需要通过路由器获取树莓派的IP地址,因此需要将树莓派开发板和上位机置于同一局域网下。过程如下:将网线的一端连接到树莓派开发板的网口,另一端连接到路由器的网口,实现树莓派开发板的联网。将主机连接到本路由器的WiFi。在浏览器中输入路由器后台管理IP进入后台管理界面,输入密码登录,如图15红框所示。图15登录路由器后台管理。登录成功后,按照图16标注的数字顺序,点击设置红框部分:高级设置-IP-添加-弹出“绑定设备”提示框-记录树莓派IP地址并更改设备名称(鼠标放在图片中的位置)-----一键绑定。图16获取并绑定树莓派IP流程(2)通过串口打开树莓派的SSH服务如图17所示,在上面介绍的串口工具XCOM/XSHELL中,选择已经检测到的串口beforeandkeepotherpropertiesoptions是默认的;向左下角的控制台发送ifconfig命令,开启树莓派的SSH服务。图17XCOM开启树莓派的SSH服务(3)与树莓派板子建立SSH连接并正常运行后,同样使用XSHELL新建会话如图18,用于设置属性树莓派,即名称和主机IP,名称可以自定义,主机IP为之前从路由器获取的树莓派IP地址。图18设置树莓派属性建立SSH连接点击“确定”后,在弹出的提示框中选择接受并保存主机密钥,输入登录用户名和密码,点击“确定”建立远程SSH服务。效果如图19所示。图19SSH通讯成功实现图2.3与树莓派开发板的可视化文件传输为了实现电脑与树莓派开发板之间的可视化文件传输,需要用到工具WinSCP。本工具是一款支持SSH的SCP文件传输工具。连接到相应的服务器并设置好相关参数后,就可以在电脑和开发板之间下载或传输文件了。(1)工具下载下载WinScp工具,下载地址可参考https://www.onlinedown.net/soft/20088.htm,下载完成后根据提示安装即可。(2)参数设置启动电脑的ssh服务。启用ssh服务并成功建立连接后,启动WinScp工具,在WinScp中新建一个站点。参数设置参考图20中红框内的内容。图20新建站点(3)文件传输参数设置完成后,点击登录按钮,在出现的各种提示中选择默认选项,即可进入图20所示界面。界面左侧表示宿主机文件系统,右边表示openharmony3.0(即树莓派开发板)的文件系统。用户可以通过拖拽的方式实现两台设备互传文件的效果。图21文件传输界面更多信息请访问:与华为官方共同建立的鸿蒙科技社区https://harmonyos.51cto.com