草庐IT

鸿蒙所谓的软总线

junwua 2023-04-04 原文

鸿蒙网上资料

分布式软总线组件

简介

由于设备通信方式多种多样(WIFI、蓝牙等),不同通信方式使用差异大,问题多。同时通信链路的融合共享和冲突无法处理。分布式软总线实现近场设备间统一的分布式通信能力管理,提供不区分链路的设备发现连接、组网和传输能力,主要包括如下:

  • 发现连接:提供基于Wifi、蓝牙等通信方式的设备发现连接能力。
  • 设备组网:提供统一的设备组网和拓扑管理能力,为数据传输提供已组网设备信息。
  • 数据传输:提供数据传输通道,支持消息、字节数据传输等能力。

业务方通过使用分布式软总线提供的API实现设备间高速通信,不用关心通信细节,进而实现业务平台部署与运行能力。

   这样归一化??

疑问:

1. 设备间统一的分布式通信能

 简单的来说,就是 A设备和B设备, 具备对等的COAP协议层,才能通讯。

  很简单的问题,原来设备的BT协议,WIFI 协议并不会因为COAP协议的引进,而且消失。鸿蒙做的不过是 简单的 封装层的工作,而且非常致命的是,前提需要 局域网,更简单的理解是,这只不过是 华为自家手机和IOT设备的 私有协议而已,取了个名字,小米手机和小米生态,也一样的有这样的协议,也不比鸿蒙差。

    BT的连接和配对,Wifi的接入,不会因为有所谓的软总线,而不需要调用,那么疑问软总线如何封装BT,WIFI的常规操作协议呢,从COAP代码看,根本没有这些,他们只是本身的类似UDP/TCP网络协议层一样,不涉及任何底层,所以其实调用所谓的API,我认为根本不可能实现BT WIFI的连接功能,所谓的发现功能,比简单的BT扫描要好?或者这本身就不是一个技术问题,封装层的目的一般是接口标准化,也许这个就是剩下唯一的点。

     那么问题是: 当一个BT设备时, 为了搞这个协议,前提是要联网,就算是局域网,否则,连门都进不去,那这样到底有什么意义,实在是费解!BT有自己的mesh组网协议,都是标准的体系,用的好好的。而你所谓的软总线不过是 包装在上面一层而已。增加了协议的开支,效率降低。

2. 发起组网请求,携带组网连接地址信息,并且提供组网执行结果回调函数。

等待组网结果,JoinLNN()返回成功表示软总线接受了组网请求,组网结果通过回调函数通知业务;组网回调函数中addr参数内容和JoinLNN()的入参互相匹配;retCode如果为0,表示组网成功,此时networkId为有效值,后续传输、退网等接口均需使用该参数;retCode如果不为0,表示组网失败,此时networkId为无效值。

使用传输相关接口进行数据传输。

发送退网请求,携带组网成功后返回的networkId,并且提供退网执行结果回调。

另外如果一切其他的 IOT设备集成了COAP,而且还要 加入华为的 Hilink,给华为做生态,意义何在呢?  如果在 开源鸿蒙下,主的设备在哪里, 是否各厂商 会加入自己的限制,不会兼容所有的其他IOT设备,必有自己的私有协议。

各位怎么看呢,现在都流行吹牛不负责,哈哈

有关鸿蒙所谓的软总线的更多相关文章

  1. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  2. FPGA配置之SelectMAP总线 - 2

    1FPGA启动流程图1 7SerialsFPGA配置流程1.1DevicePower-Up1.2ClearConfigurationMemory在上电后的任何时间内,可以对Slave-FPGA配置存储器(BlockRAM)进行复位处理。复位方式是将PROGRAM_B信号拉低(下降沿有效)。1.3SampleModePins当复位完成后,INIT_B恢复高电平,Slave-FPGA对M[2:0]模式引脚进行采样,然后开始在CCLK上升沿接收配置数据。1.4Synchronization在接收配置数据前,Slave-FPGA首先进行总线位宽检测。主机发送的配置文件中,“BusWidthAutoDe

  3. ruby - BUG 总线错误 ruby​​ 1.8.7 - 2

    在使用Xcode4.2GM(新MacBook)的Lion10.7.1上使用RVM编译Ruby1.8.7后出现错误。它编译得很好,但是当我尝试安装任何gem时,我得到以下信息:geminstallbundler/Users/me/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60:[BUG]BusErrorruby1.8.7(2011-06-30patchlevel352)[i686-darwin11.1.0]Aborttrap:6更新:最后我希望安装Xcode4.2,安装RVM和Ruby1.8.7、1.9.x并且一切正常。

  4. HarmonyOS鸿蒙智能硬件入门三步解决鸿蒙智能设备开发环境搭建 - 2

    本篇适用于初学者开发准备:一台windows电脑、一块开发板(基于Hi3861)(本篇使用小熊派HM-Nano)开发板淘宝有卖:小熊派鸿蒙季BearPi-HM_Nano鸿蒙OpenHarmonyOS系统Hi3861开发板-淘宝网(taobao.com)搭建设备开发需要Linux+windows配合使用,Windows用来写代码,Linux用来编译,本教程使用Ubuntu20.04+Windows1064位。Ubuntu繁琐的配置步骤我都替你做完了,直接将镜像导入虚拟机即可。一、搭建Linux开发环境先获取虚拟机,这个直接网站下载,很快。网址:https://download.virtualbo

  5. 第十四篇,STM32的CAN总线通信 - 2

    1.CAN总线的概念    CAN指的是控制器局域网网络(Controller Area Network),由德国博世汽车电子厂商开发出来。    CAN使用差分信号,具有较强的抗干扰能力和传输稳定性    CAN属于多主通信,网络中所有的节点都可以作为主设备进行通信    CAN的网络扩展极其方便,CAN网络中扩展了新的通信单元,网络中旧的单元和硬件无需任何改变。    CAN具有较强的纠错能力,可以发现传输中出现的错误,并对错误节点进行隔离;所有的单元都可以检测错误;检测出错误的单元会立即同时通知其他所有单元;正在发送消息的单元一旦检测出错误,会强制结束当前的发送。被强制结束发送的单元会不

  6. javascript - azure 函数服务总线输出消息属性 - 2

    我正在尝试使用服务总线绑定(bind)输出为JavaScriptAzure函数中的服务总线消息设置元数据。不幸的是,绑定(bind)似乎只支持正文。查看文档,我看到您可以通过context.bindingData在服务总线触发器中访问此信息,但我没有看到任何相应的服务总线输出接口(interface)。有什么方法可以发送完整的代理消息并设置消息属性(ContentType)和消息自定义属性? 最佳答案 @l--''''''--------''''''''''''您需要访问Microsoft.Azure.ServiceBus.Mess

  7. 鸿蒙HarmonyOS开发环境初识及搭建 - 2

    一鸿蒙简介HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。HarmonyOS提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括Java、XML(ExtensibleMarkupLanguage)、C/C++、JS(JavaScript)、CSS(CascadingStyleSheets)和HML(HarmonyOSMarkupLan

  8. PCI——第1章——PCI总线的基本知识 - 2

    摘要:对PCI总线基本知识的整理,建议看完三章内容后再来进行总结或者阅读目录1.PCI基础知识1.1 PCI总线的组成结构HOST主桥PCI总线PCI设备HOST处理器PCI总线负载1.2PCI总线的信号定义1.2.1地址和数据信号 1.2.2接口控制信号1.3 PCI总线的存储器读写总线事务1.3.1 PCI总线事务的时序1.3.2 Posted和Non⁃Posted传送方式1.3.3HOST处理器访问PCI设备1.3.4 PCI设备读写主存储器1.3.5 Delayed传送方式 1.4 PCI总线的中断机制1.4.1 中断信号与中断控制器的连接关系1.4.2 中断信号与PCI总线的连接关系

  9. javascript - React.js - 通量与全局事件总线 - 2

    与全局事件总线相比,使用Flux有什么优势?我认为调度员就是所需要的:组件将带有数据的“用户事件”发布给调度程序调度程序执行订阅商店的处理程序处理程序使用商店的更新属性发布“更新事件”调度程序执行订阅组件的处理程序,并使用商店的更新属性更新组件状态如果没有Flux,我会错过什么? 最佳答案 我认为其他人所说的关于应用程序结构和change事件的内容很重要,但我应该添加一件事:调度程序的waitFor方法是使用调度程序注册商店与监听全局事件总线的商店之间的最大区别。此方法可让您管理哪些商店先于其他商店更新。当您希望StoreB在决定做

  10. go - serveHTTP 实用程序从哪里来的所谓的裸函数 - 2

    我有这个工具:typeHandlerstruct{}func(hHandler)Mount(router*mux.Router,vPeopleInjection){router.HandleFunc("/api/v1/people",h.makeGetMany(v)).Methods("GET")}上面调用这个:func(hHandler)makeGetMany(vPeopleInjection)http.HandlerFunc{typeRespBodystruct{}typeReqBodystruct{Handlestring}returntc.ExtractType(tc.Type

随机推荐