- 博客(100)
- 收藏
- 关注

原创 【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~
OpenHarmony的技术架构和设计使得它能够适应不同的设备和场景,无论是,OpenHarmony都能提供一致的用户体验和开发体验。这使得开发者能够更加高效地开发适用于多种设备的软件,同时也为用户提供了更加统一和流畅的使用体验。于是小编下面针对了不同阶段的一些知识点做了一个简单的整理,希望能够帮助到大家!
2024-09-05 23:50:57
3200
1
原创 OpenHarmony源码分析之分布式软总线:mbed TLS库的应用
Mbed TLS 库旨在与现有(嵌入式)应用程序集成,并为安全通信、加密和密钥管理提供构建块。Mbed TLS 设计为尽可能松散耦合,允许您只集成您需要的部分,而无需其他部分的开销。这也导致 Mbed TLS 库的内存占用和构建占用非常低。通过消除系统中不需要的部件,您可以获得从低至 45 kB 到更典型的 300 kB 的构建大小,以实现功能更齐全的设置。
2024-09-18 17:16:32
1118
原创 OpenHarmony深度解读之分布式软总线:authmanager模块(6)/设备身份认证过程
本文将继续分析设备之间的身份认证过程的相关细节,主要是针对数据包类型为MODULE_CONNECTION的处理过程。主要源代码在wifi_auth_manager.c文件的函数OnModuleMessageReceived()中。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~
2024-09-18 16:20:22
1061
原创 OpenHarmony深度解读之分布式软总线:authmanager模块(5)/设备身份认证过程
本文将继续介绍设备之间的身份认证过程的相关细节,关于加密数据包的不同类型的处理。本文主要分析数据包类型为MODULE_TRUST_ENGINE的处理过程。源代码主要位于wifi_auth_manager.c文件的函数OnModuleMessageReceived()中。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~
2024-09-18 15:00:06
1190
原创 OpenHarmony深度解读之分布式软总线:authmanager模块(4)/设备身份认证过程
authmanager模块是鸿蒙为设备提供认证机制的模块。模块内的主要处理过程包括报文的接收、解密、再次封装、加密、发送的步骤。本文将继续介绍设备身份认证过程的细节。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~OpenHarmony源码分析之分布式软总线:authmanager模块(1)/设备认证连接管理。
2024-09-18 14:26:43
469
原创 OpenHarmony深度解读之分布式软总线:authmanager模块(3)/设备身份认证过程
设备之间互联是基于系统的IoT设备(如AI音箱、智能家居、智能穿戴等设备)与IoT主控设备(手机、平板等)间建立点对点的信任关系,并在具备信任关系的设备间,搭建安全的连接通道,实现用户数据端到端加密传输。IoT主控设备和IoT设备建立点对点信任关系的过程,实际上是相互交换IoT设备的身份标识的过程。authmanager是openharmony为设备提供认证机制的模块。
2024-09-18 14:07:22
586
原创 OpenHarmony源码分析之分布式软总线:authmanager模块(2)/设备认证通信管理
authmanager模块是鸿蒙为设备提供认证机制的模块。模块内的主要处理过程包括报文的接收、解密、再次封装、加密、发送的步骤。备注:该版本的鸿蒙仅实现了基于WiFi即局域网的设备身份认证机制。本文重点介绍在设备间建立起socket连接之后,系统是如何处理接收到的新数据。处理过程主要集中在wifi_auth_manager.c文件中。
2024-09-14 22:24:32
749
原创 OpenHarmony源码分析之分布式软总线:authmanager模块(1)/设备认证连接管理
authmanager模块是鸿蒙为设备提供认证机制的模块。模块内的主要处理过程包括报文的接收、解密、再次封装、加密、发送的步骤。本文重点介绍当有设备发起身份认证连接请求时,系统是如何管理的。处理过程主要集中在wifi_auth_manager.c文件中。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~
2024-09-14 21:01:50
1030
原创 OpenHarmony源码分析之分布式软总线:os_adapter模块解析
os_adapter模块是操作系统适配层。HarmonyOS的操作系统底层可以是:HarmonyOS micro kernel,Linux kernel,且 Lite OS将成为一个完整的鸿蒙微内核架构。鸿蒙系统内部各个模块内部使用的函数需要支持针对不同版本平台的适配,体现各部分解耦的模块化设计思想,针对不同的硬件设备,组合成最适合该设备的OS。当前版本的鸿蒙系统的os_adapter模块针对Lite OS内核和Linux内核实现了互斥锁和消息队列的适配。下面分别对两种内核的适配源码进行分析。
2024-09-14 20:17:12
903
原创 OpenHarmony源码分析之分布式软总线:msg_get_deviceid.c文件分析
该文件代码的功能主要是提供以cJSON格式获取各个设备的信息,包括设备id、链接信息、设备名、设备类型等。下面将对该文件的每一个函数进行详细分析
2024-09-14 17:31:45
646
原创 OpenHarmony源码分析之分布式软总线:trans_service/tcp_session.c
tcp_session.c文件提供的接口功能主要是创建一个TCP会话并返回其地址,在tcp_session.h文件中还提供了会话的属性结构体,本文将对这两个文件进行详细分析。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总【OpenHarmony】鸿蒙南向开发保姆级知识点汇总~OpenHarmony源码分析之分布式软总线:trans_service模块(1)/认证通道管理。
2024-09-14 16:42:11
651
原创 OpenHarmony源码分析之分布式软总线:trans_service/message.c文件分析
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。本文主要是对message.c文件进行分析,该文件的主要功能是提供与cjson库相关的接口,这些接口用于设备间传输的json格式数据的封装或者解析。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙。
2024-09-14 16:16:52
526
原创 OpenHarmony源码分析之分布式软总线:trans_service模块(6)/TCP会话管理
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。本文是分布式软总线的会话管理机制的结尾部分,在前文中介绍了新会话中客户端请求数据的处理过程,本文重点介绍普通会话中的新数据处理。衔接OpenHarmony源码分析之分布式软总线:trans_service模块(5)/TCP会话管理。
2024-09-14 15:33:19
960
原创 OpenHarmony源码分析之分布式软总线:trans_service模块(5)/TCP会话管理
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。本文将继续介绍鸿蒙系统的会话机制的管理,承接上文 OpenHarmony源码分析之分布式软总线:trans_service模块(4)/TCP会话管理 的内容,本文将介绍鸿蒙系统如何处理客户端发起的请求消息。
2024-09-14 14:51:11
1270
原创 OpenHarmony源码分析之分布式软总线:trans_service模块(4)/TCP会话管理
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。在上一篇博客 OpenHarmony源码分析之分布式软总线:trans_service模块(2)/会话管理之新会话 中已经介绍了在分布式软总线中TCP会话管理的部分内容,如TCP新会话的管理。
2024-09-14 14:05:12
678
原创 OpenHarmony源码分析之分布式软总线:trans_service模块(3)/线程同步锁管理
在分布式软总线提供的数据传输服务中,为了提高处理效率,使用了多线程并发处理的机制,因此就会引入线程同步的问题,所谓线程同步,即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,实现线程同步的方法有很多,临界区对象就是其中一种。trans_service模块的线程同步管理是基于互斥锁实现的,而对于不同的底层内核设备,互斥锁的调用库有所不同。
2024-09-14 13:38:55
443
原创 OpenHarmony源码分析之分布式软总线:trans_service模块(2)/会话管理之新会话
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。在之前的博客 OpenHarmony源码分析之分布式软总线:trans_service模块/认证通道管理 中已经对认证通道管理的相关源码进行了详细的分析,因此本文重点介绍trans_service模块提供的第二个功能——会话管理。
2024-09-13 21:52:01
772
原创 OpenHarmony源码分析之分布式软总线:trans_service模块(1)/认证通道管理
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总OpenHarmony之分布式软总线json_payload.c(一)
2024-09-13 20:56:37
1382
原创 OpenHarmony之分布式软总线coap_discover.c(四)
函数功能: 获取网络接口信息 函数参数: fd: 接口文件描述符 interfaceName: 接口名 length: 接口名长度 info: 用来保存获得到的接口信息 函数过程: 1. 检查各个参数 2. 声明 ifreq 结构体 ifreq结构定义在/usr/include/net/if.h,用来配置ip地址,激活接口,配置MTU等接口信息的
2024-09-13 20:32:20
648
原创 OpenHarmony之分布式软总线coap_discover.c(三)
本文会分析到coap_discover.c中有关wifi事件的消息队列处理过程。
2024-09-13 17:55:52
440
原创 OpenHarmony之分布式软总线coap_discover.c(一)
coap_discover.c实现了基于coap的设备发现功能的细节。在之前说过coap_service.c在实现coap服务发现的前期工作中做了许多前期初始化功能和注册服务的工作,这些功能函数是调用nstackx_device.c提供的接口函数,而nstackx_common.c中的接口函数又调用coap_discover.c中提供的函数接口。所以在coap_discover.c中实现了具体的初始化细节,并且在这个文件中定义了发送设备信息服务和接收对端设备信息服务功能。
2024-09-13 16:17:39
802
原创 OpenHarmony之分布式软总线nstackx_common.c分析
上篇coap_service.c代码中基本上每个接口函数都调用了nstackx_common.c中的接口,最终nstackx_common.c中的接口函数再调用coap_discover.c中的接口函数。所以coap_service.c中的接口函数是对外提供的顶层接口,分析过程也是从顶层宏观调用到下层实现细节。
2024-09-13 15:43:06
975
原创 OpenHarmony之分布式软总线json_payload.c(四)
之前博客已经分析了cjson组织数据的细节– cjson数据组织细节。下面分析cjson数据的细节。至此关于cJSON的介绍和鸿蒙中使用cJSON组织服务发布数据和解析数据的细节分析完毕。
2024-09-13 15:06:46
1255
原创 OpenHarmony之分布式软总线json.payload.c(三)
在上篇博客分析了json_payload.c两个主要的函数–组织服务发布数据和解析服务发布数据 准备与解析数据。下面继续介绍其他功能函数,这些函数主要是组织和解析的细节。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总OpenHarmony之分布式软总线coap头文件& coap组包分析OpenHarmony之分布式软总线nstackx_device.c(一)
2024-09-13 14:22:27
675
原创 OpenHarmony之分布式软总线json_payload.c(二)
Harmony使用cJSON格式来组织coap设备服务发现数据。在 cJSON介绍 对cJSON主要结构体和接口函数做了介绍。下面将分析Harmony如何利用cJSON组织和解析设备数据。
2024-09-13 13:56:02
868
原创 OpenHarmony之分布式软总线json_payload.c(一)
cJSON是用C语言编写的一个轻巧,简单的JSON解析器。/*指向后一项和前一项*//* 指向数组和对象内部条目 */int type;/* 元素类型. *//* 如果类型为string 那么值从valuestring 读取*//* 类型为Number整型 值从valueint读取 *//* 元素为Number浮点型,值从valuedouble读取 */int sign;/* 符号标志 *//* 键值key */} cJSON;
2024-09-12 21:59:21
448
原创 OpenHarmony之分布式软总线discovery_service.c(五)
函数功能: 添加发布模块 函数参数: packageName: info : 待发布信息 函数返回值: 添加成功返回添加之后相应g_publishModule中模块, 否则返回NULL 详细: 1.检查packageName,g_publishModule,info参数 2. 检查发布信息datalen是否大于最大数据长度 3.查找已存在的服务模块,如果服务已经发布,那么返回
2024-09-12 21:31:41
533
原创 OpenHarmony之分布式软总线discovery_service.c(四)
函数功能: 查找已存模块 函数参数: 1. packageName: 要查找的模块名 2. publishId : 要查找的发布ID 函数返回值: 返回查找的模块信息,否则返回NULL 详细: 1. 检查参数 2. 遍历g_publishModule,比较每个used属性为1的模块 3. 如果找到要找的模块那么就返回该服务模块,否则返回NULL
2024-09-12 21:06:57
484
原创 OpenHarmony之分布式软总线discovery_service.c(三)
函数功能:撤销服务 函数参数: 无 函数返回值: 成功返回0,否则非0 详细: 1.首先关闭软总线 2.释放g_publishModule,g_capabilityData 3.释放有关coap的信息 4.将wifi回调函数设置为NULL 5.释放设备信息 6.将服务初始化标志设置为0
2024-09-12 20:15:08
628
原创 OpenHarmony之分布式软总线discovery_service.c(二)
discovery_service.c 的发布服务PublishService 和 取消已发布的服务UnPublishService在 发布服务与撤销已发布的服务 分析,本文将分析服务发布过程中使用到的其他功能函数。
2024-09-12 18:05:34
491
原创 OpenHarmony之分布式软总线discovery_service.c(一)
discovery_service.c实现了轻量级设备端的服务发布功能。 首先它的入口函数为PublishService,这个函数实现服务发布的总流程。 服务发布函数关系已经在 discover_service.c函数调用关系 给出了图示。
2024-09-12 17:44:55
520
原创 OpenHarmony之分布式软总线discovery_service.h头文件
discovery_service.h头文件提供与设备服务发布相关的功能,包括发布服务、取消发布服务、设置设备参数。当发现附近的多个设备并将其联网后,可以使用这些接口进行业务发布的相关操作。
2024-09-12 17:25:41
581
原创 OpenHarmony之分布式软总线nstackx_device.c(二)
之前已经介绍了nstackx_device.c中用到的设备信息结构体以及在头文件中声明的功能函数。 nstackx_device(一) 下面对函数定义进行具体标注。
2024-09-12 17:09:49
1211
原创 OpenHarmony之分布式软总线nstackx_device.c(一)
nstackx_device.c 定义了配置与更新设备信息,以及注册设备能力和服务数据。
2024-09-12 16:49:42
445
原创 OpenHarmony之分布式软总线discovery/coap/source/coap_socket.c
coap_socket.c封装了服务端与客户端之间的socket操作
2024-09-12 16:32:38
575
原创 OpenHarmony之分布式软总线coap头文件& coap组包分析
COAP协议用于分布式通信中主从服务设备发现。在discovery/coap/source/coap_adapter.c主要实现了COAP数据包的解析与组装。coap_adapter.c(部分)详细注解如下:
2024-09-11 22:00:18
813
原创 OpenHarmony分布式调度详解|启动FA(3)
前两篇博客介绍了分布式任务调度的Service、Feature注册和Session会话数据解析,解析数据得到命令id后做出对应的动作,其中一个命令id对应的是启动FA设备。
2024-09-11 21:17:52
1135
原创 OpenHarmony分布式调度详解|会话消息解析(2)
上一篇博客介绍了Service和Feature的定义和注册,Feature注册并初始化后,由软总线发布,并创建一个Session会话,用于处理TCP数据。会话消息解析部分主要将byte数据保存为TlvNode格式的链表,并在转换过程中对数据做一些数据校验工作。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总OpenHarmony分布式调度详解|dmslite.c。
2024-09-11 20:35:41
884
原创 OpenHarmony分布式调度详解|Service和Feature的定义和注册(1)
在进行分布式任务调度之前,首先要对分布式Service和Feature进行注册,注册Feature之前需要注册一个与之同名的Service,Feature才能注册成功。// 该定义实现了面向对象中构造函数的概念/*** INHERIT_SERVICE包含了所有Service都要有的成员* GetName():获取服务名* Initialize():初始化服务* MessageHandler():消息处理。
2024-09-11 17:35:43
1040
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人