我使用的是 IPOP V4.1,基于 OpenHarmony 开源系统和 RK3568 开发板,在 PC 上运行此软件,查看运行、错误日志来调试内核。作为网络、嵌入式式内核调试的必备工具,建议同学珍藏。IPOP 运行在 PC 上,操作系统是 Windows10 x64。
1.1. 概述
IPOP 软件是一款功能强大、绿色免费、界面朴实无华、实用性强的网络 IP 专用工具的集合。它基本上包含了 IP 地址动态性绑定、MAC 地址改动、帖子配备、流量监测、端口号等各个领域,功能齐备,特别适合 OpenHarmony 内核、互联网开发和测试工程师应用。
1.2. 网络方面的功能
1.IP 地址动态性绑定功能;
2.路由器记录查询和配备功能;
3.MAC 地址记录查询、变更功能;
4.MAC、服务器信息内容扫描仪功能;
5MAC 地址与生产厂家相匹配表;
6.该设备互联网报文格式统计分析功能;
7.该设备端口号目录、远程控制端口扫描器功能;
8.常用端口一览表;
9.端口映射功能;
10.网卡流量监控和标示功能;
11.该设备 IP 报文格式捕捉和推送功能;
12.多用户 telnet/ssh/sftp/ ftp/ dos/串口通信维护保养终端设备专用工具,适用 IPV6;
13.TCP、UDP、Telnet、FTP、TFTP、WEB、群聊通讯等网络服务器功能。
2.1. 连接电缆
一头连接 PC USB 端口,另一头链接开发板 COM 端口。开发板上运行开源系统主线版本,连接端口如白色线缆所示,如果联通就会亮红灯


2.2. 安装 USB 转 COM 驱动
CDM_Setup 为当前使用的 FTDI 芯片 USB 转 COM 口驱动,一路确定即可完成,有时安装完成后需要重启 PC。驱动安装包从附件下载。
2.3. 在设备管理器查看驱动是否安装成功
驱动未安装成功如图片左边所示,成功则如右边所示,会出现”USB Serial Port(COM) ”字样。

采用 USB 转 COM 端口调试 OpenHarmony 内核、硬件
3.1. 操作步骤
双击打开 IPOP 软件,选择终端工具 → 新建连接 ①→ 选择类型 ②(和设备管理器里面显示的一致)→ 波特率 ③→ 自动存盘 ④→ 存盘目录 ⑤→ 在连接列表选择对应连接 → 确定 ⑥,步骤如下图所示,蓝色背景不断刷新的信息就是系统运行的日志。

3.2. 注意事项
●如果连接列表中不存在对应连接,在连接名称中填入和选择类型相同的名称。
●避免频繁换行不好看,将“每行列数”设置为 132。
●自动保存的日志,在存盘目录可以看到。

3.3. 典型按钮功能说明
当鼠标悬停在每个按钮上时,会自动显示其功能提示。
3.4. 添加快捷输入按钮
如果需要向开发板发送较长或多个指令时,避免手动输入,可以自定义功能按钮,确定后会出现在工具条的末尾。用时单击即可。

在开源系统中,了解系统的内核信息和故障诊断是至关重要的。而 dmesg 指令就是一个强大的工具,它可以帮助我们查看系统内核的日志信息,了解系统的运行状态和故障原因。
4.1. dmesg 指令简介
dmesg 指令是一个在开源系统中查看内核日志的实用工具。它允许我们查看系统内核的输出消息,包括引导信息、硬件检测、设备驱动程序和系统错误等。通过使用 dmesg 指令,我们可以追踪系统启动过程中的事件,排查故障和问题。
4.2. 查看系统内核日志
4.3. 过滤和搜索内核日志
dmesg 指令支持使用管道命令结合其他工具对内核日志进行过滤和搜索,以便更精确地查找特定的信息。以下是一些常用的过滤和搜索技巧:
●过滤特定关键字
使用 grep 命令结合 dmesg 指令,可以过滤出包含特定关键字的日志信息。例如,以下命令将只显示包含"error"关键字的日志:#dmesg | grep error
●显示最新的 N 行日志
使用 tail 命令结合 dmesg 指令,可以显示最新的 N 行日志。例如,以下命令将显示最新的 10 行日志:#dmesg | tail -n 10
●按时间戳排序日志
使用 sort 命令结合 dmesg 指令,可以按时间戳对日志进行排序。例如,以下命令将按时间戳从新到旧排序日志:
#dmesg | sort -r
当系统崩溃修复时,会产生大量系统日志,不便于关键信息获取,通过修改系统日志打印级别,可突出所需级别的日志信息,便于查找。
5.1. 查询串口日志级别
在 OS 执行 cat /proc/sys/kernel/printk 命令,返回信息中的“7”表示串口日志级别:
5.2. 修改串口日志级别
5.3. 相关串口日志级别说明

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)文档用来跟着学习是非常有必要的。
这份鸿蒙(HarmonyOS NEXT)文档包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

有了路线图,怎么能没有学习文档呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。


OpenHarmony北向、南向开发环境搭建

●ArkTS语言
●安装DevEco Studio
●运用你的第一个ArkTS应用
●ArkUI声明式UI开发
.……

●Stage模型入门
●网络管理
●数据管理
●电话服务
●分布式应用开发
●通知与窗口管理
●多媒体技术
●安全技能
●任务管理
●WebGL
●国际化开发
●应用测试
●DFX面向未来设计
●鸿蒙系统移植和裁剪定制
……

●ArkTS实践
●UIAbility应用
●网络案例
……

导读:本文主要阐述了如何在团结引擎中导出鸿蒙工程,以及游戏侧与端侧通信的范例。
软件版本及环境
Tuanjie Hub:1.1.6
Tuanjie Editor:1.2.1 | 1.2.0
鸿蒙版本:HarmonyOS NEXT Beata1 (NEXT.0.0.26) | API 12
OpenHarmony:5.0.0.25(Beta1)
DevEco Studio:5.0.3.403
环境:Windows 10
团结引擎编安装辑器
选择1.2.1版本并勾选OpenHarmony Build Support

创建游戏工程

创建并绑定游戏控件
这部分我对unity是小白所以记录下,总体感觉和QT、Android原生开发差不多,抽象出来就是;创建layout > 添加控件 > 绑定控件 > 绑定事件
创建Canvas

创建GameObject

创建游戏控件

创建MyBehaviourScript

MyBehaviourScript 继承自MonoBehaviour,所以问题变成了"MonoBehaviour是什么,有什么用?"。
- 生命周期方法:MonoBehaviour提供了一系列的生命周期方法,如Start(), Update(), FixedUpdate(), LateUpdate(), OnEnable(), OnDisable(),
OnDestroy()等,开发者可以在这些方法中编写代码来响应游戏对象的不同生命周期事件。- 事件处理:MonoBehaviour可以用于处理各种事件,比如用户输入、碰撞检测、动画事件等。
- 游戏逻辑:开发者可以通过继承MonoBehaviour并重写其方法来实现游戏逻辑,比如移动、跳跃、攻击等。
- 组件交互:MonoBehaviour可以访问和控制附加到同一游戏对象上的其他组件,比如Renderer, Collider, Rigidbody等。
- 数据持久化:MonoBehaviour支持序列化,这意味着你可以在脚本中定义变量,Unity会在编辑器中显示这些变量,并允许你保存和加载它们的值。
- 协程支持:MonoBehaviour支持使用协程(Coroutines),这使得你可以编写非阻塞的代码来处理需要时间的操作,比如等待某个事件或动画完成。
将控件与GameObject关联。

在GameObject中绑定的MyBehaviourScript绑定Canvas中的游戏控件。

控件全部绑定完成,在团结引擎中运行Console无报错。
编写通信Plugin

这里的MyHarmonyBridge.ets其实不会参与游戏侧编译,会原样输出到导出的鸿蒙工程ets目录下。
导出鸿蒙工程
控件全部绑定完成,在团结引擎中运行Console无报错。File > Build Settings选中OpenHarmony项,勾选Export Project > Switch Platfrom 设置导出鸿蒙工程的应用包名(bundleName):File > Build Settings > Player Settings bundleName规范:bundleName规范

目前团结引擎导出的鸿蒙工程还是API 11,升级到API 12可通过DevEco Studio中的MergeAssistant工具将工程升级。也可直接创建一个API 12的鸿蒙工程(HarmonyUnity),将团结引擎导出API 11工程中必要的文件替换到新创建的鸿蒙工程中。本文直接创建新的API12鸿蒙工程,将团结引擎导出的必要文件替换进来。
主要替换entry下文件,以及添加导出的libs文件。

注册plugin通信ts类,在TuanjieJSScriptRegister中完善registerJSScriptToCSharp()函数。
测试通信
游戏启动,查看日志输出。


执行initSDK()后调用getData()查看日志输出。

其他
Bug: 目前游戏画面方向与手机传感器感知方向相反,解决方法是修改.entrysrcmainetsWindowUtils.ts中nativeToOpenHarmonyOrientationMap的ScreenOrientation.kLandscapeLeft、ScreenOrientation.kLandscapeRight方向对调。
支持x86_64架构模拟器:
团结引擎中:File > Build Settings > Player Settings > OtherSettings > Target Architectures 勾选x86-64,然后重新导出。 目前游戏侧的变动只需将新导出项目中的如下文件替换到现有鸿蒙工程中就行。
text 代码解读复制代码.entrylibs
.entrysrcmain esources awfile
鸿蒙工程中:entry > build-profile.json5 > abiFilters添加编译架构,其他编译架构参考 使用DevEco Studio模板构建NDK工程 。
选中创建的模拟器运行。


总结
1.目前游戏侧的变动只需将新导出项目中的如下文件替换到现有鸿蒙工程中就行。
2.游戏侧与端侧通信主要依靠OpenHarmonyJSClass、OpenHarmonyJSObject、OpenHarmonyJSCallback等类实现。具体可参考团结引擎官方文档:Developing for OpenHarmony
有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)文档用来跟着学习是非常有必要的。
这份鸿蒙(HarmonyOS NEXT)文档包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

有了路线图,怎么能没有学习文档呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。


OpenHarmony北向、南向开发环境搭建

●ArkTS语言
●安装DevEco Studio
●运用你的第一个ArkTS应用
●ArkUI声明式UI开发
.……

●Stage模型入门
●网络管理
●数据管理
●电话服务
●分布式应用开发
●通知与窗口管理
●多媒体技术
●安全技能
●任务管理
●WebGL
●国际化开发
●应用测试
●DFX面向未来设计
●鸿蒙系统移植和裁剪定制
……

●ArkTS实践
●UIAbility应用
●网络案例
……

版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/14593.html