zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

鸿蒙系统学习 驱动应用开发(三)

2023-09-11 14:14:52 时间

采用主从架构设计模式,围绕着框架、模型、能力库和工具四个维度能力展开构建。鸿蒙的微内核架构,导致所有以前的驱动需要重构适配,所采用的驱动逻辑,与Linux也非常接近,平台驱动,总线驱动等等。

 

应用开发

鸿蒙 OS 目前开放了应用开发和设备开发。应用开发是我们的重头戏,可以为搭载鸿蒙的智慧屏,手表,车机开发应用。

通过华为提供的 DevEco IDE 建立应用开发项目,具体开发步骤有比较多的教程就不细说了。

开发可以使用 Java 和 JS 语言。Java 开发的话,跟 Android 开发差不多。

这里注意的是通过 JS 开发的话,但是通过 Htm 并非 html 来写 UI。在语法上类似 vue。

JS 引擎是 JerryScript,能够在内存少于 64KB 的设备上执行 ECMAScript 5.1 源代码。

那实际上下面要提到的设备开发逻辑是也可以部分用 JS 实现的。不过官方文档比较少,也没有 demo 提供。但个 js runtime 是可以作为组件一起编译烧录的。

应用开发中,我比较感兴趣的是跨设备调用,下面这个例子是从智慧屏 App 上调用其他设备页面的。

 

 

 

这里可以看到优点十分明显,在这里我们开发无需关心通信,以及传输安全问题。

在智慧屏上这么写,在手表上也是这么写。也就是他们说的一次开发多端部署,提供成熟方案,不用放更多精力在安全机制,组网连接和基础通信上。聚焦业务,快速完成原型开发。

但也有一些约束与限制:

支持主设备侧远程启动从设备侧 FA,不支持从设备远程启动主设备 FA。
需要同一局域网内。
需要认证,当前只支持拥有共同公钥信息的主从设备间 FA(即主从设备的 FA 使用相同华为证书)的拉起。
工具链还需完善,如果选择智能手表和智慧屏这两个平台进行 App 的开发,目前华为还没有开放基于 X86 的本地模拟器。因此,需要将编译后安装到远程的 ARM 处理器以运行代码,在本机上只能预览运行结果,而无法在本机上运行和调试代码。开发效率相对慢一点,相信华为后面应该会补齐。

https://harmonyos.51cto.com/posts/2218

COAP(Constrained Application Protocol )协议由RFC7252定义,是用于受限设备和网络的传输协议。受限的意思是指设备内存较小,网络传输速率较低,并且丢包率比较高。因此,COAP协议主要用于设备到设备(M2M)通讯。鸿蒙OS将COAP协议用于分布式通讯中的主从设备发现

----原来这个也不是 鸿蒙自己的。

COAP协议和TCP协议类似,也是存在服务器端和客户端,服务器端负责启动COAP包的监听服务,discovery/coap/include/coap_socket.h提供了COAP包的发送和接收服务函数。

----所以鸿蒙提出了,只有 手机和TV,才可以做主设备,也就是服务器;是基于网络的一种协议。

轻量设备作为被发现端设备,调用PublishService发布服务。