深度解读设备的“万能语言”HarmonyOS的分布式软总线能力 (3)

COAP的安全性是用DTLS加密实现。DTLS的实现需要的资源和带宽较多,如果是资源非常少的终端和极有限的带宽下可能会跑不起来。DTLS仅仅在单播情况下适用。

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

4. 源代码结构与解析

分布式软总线的源代码在communication_services_softbus_lite目录,结构如下:

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

说明: 目录下所有源码文件将被编译为一个动态库,其它依赖模块在编译的时候加上这个动态库的依赖即可。譬如:分布式调度子系统所在的foundation这个bin文件的编译就依赖这个动态库。

4.1软总线的初始化

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

StartListener()函存在对应不同版本平台的适配,体现了各部分解耦的模块化设计思想,针对不同的硬件设备,组合成最适合该设备的OS。比如创建线程时采用了统一的static void WaitProcess(void)函数,而其内部封装了不同底层API的适配代码。

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

4.2操作系统适配层

HarmonyOS的操作系统底层可以是:HarmonyOS micro kernel,Linux kernel,且Lite OS将成为一个完整的鸿蒙微内核架构。

鸿蒙系统内部各个模块内部使用的函数需要支持针对不同版本平台的适配,体现各部分解耦的模块化设计思想,针对不同的硬件设备,组合成最适合该设备的OS。譬如,创建线程时采用了统一的static void WaitProcess(void)函数,而其内部封装了不同底层API的适配代码。SemCreate在LiteOS中使用LOS_SemCreate创建信号量,在Linux上用sem_init() Posix标准接口创建。

源码目录os_adapter下的代码即实现了分布式软总线对操作系统的适配。

LiteOS

是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统,现有基础内核支持任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,为更好地支持低功耗场景,支持tickless机制,支持定时器对齐。

LiteOS开源项目支持ARM Cortex-M0,Cortex-M3,Cortex-M4,Cortex-M7等芯片架构。

4.3设备发现与连接

各个设备以服务的形态推送、发布,发布后周边的设备可以发现、连接并与之通讯交互,源代码位于discovery\discovery_service\source目录中。

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

轻量设备作为被发现端设备,调用PublishService发布服务。入口代码截图:

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

以下是针对操作序列中的代码解析截图,供参考.

1) 权限检查

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

深度解读设备的“万能语言”HarmonyOS的分布式软总线能力

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwxpg.html