鸿蒙分布式通讯子系统,【鸿蒙】分布式通信子系统--让华为手机发现Hi3861开发板...

目录:

工具

步骤

运行结果

工具:

1. 华为手机,需要有多设备协同功能。在设置->更多连接->多设备协同,查看是否有多设备协同功能,此功能使用的就是coap协议。

2. Hi3861开发板

步骤:

1.  修改源码,发布一个Serivce

2.  启动Hi3861开发板,并连接WIFI,对Hi3861设备接收广播和响应广播处添加日志,使用串口工具查看日志。

3.  使用路由器上进行抓包。udp,端口是5684

4.  将多设备协同开关打开。在打开开关的瞬间,可以看到Hi3861开发板接收到了多条广播请求,同时对多条广播进行响应

运行结果:

可以看到Hi3861开发板对华为手机发现设备时发出的广播进行响应,但手机上并没有展示出Hi3861设备信息,可能是还需要一些其他信息,或者传递的信息手机并不支持,具体原因不详,不清楚手机端对Hi3861发送的响应报文是如何处理的,但Hi3861通过HarmonyOS系统能力,已经能成功与手机进行交互了。下一步就是通过解决如何在手机上展示并通过HarmonyOS系统能力进行通信,如获取设备温度。

下面一张截图中手机的IP是192.168.1.216,Hi3861开发板的IP是192.168.1.232,可以看到开发板对手机广播的成功响应。

83030c7ecc1bd9c42ec83a959e7d5a76.png

[18:56:32.719]收←◆ready to OS start

sdk ver:Hi3861V100R001C00SPC025 2020-09-03 18:10:00

formatting spiffs...

[18:56:33.040]收←◆FileSystem mount ok.

wifi init success!

GetService name:GetService name:

get feature name.

GetService name:

get feature name.

[Register Test][TaskID:954112][Step:0][Reg S:example, F:example] Time: 330!

GetService name:

GetService name:

GetService name:[Boot Test][TaskID:0xe8c44][Step:1][Reg Finish S:example]Time: 340!

GetService name:Register Test,Oninit1Register Test,Oninit

[DISCOVERY] InitLocalDeviceInfo ok

[DISCOVERY] Init socket success.

[DISCOVERY] liteos_m init wifi event.

[DISCOVERY]CoapInitWifiEvent()

[DISCOVERY]CreateMsgQue()

[DISCOVERY]OnWifiConnectionChanged bind.()

[DISCOVERY]RegisterWifiEvent()

[DISCOVERY]RegisterWifiEvent success.

[DISCOVERY]create message queue task.

[DISCOVERY]create message queue success.

[DISCOVERY] init cop listen thread.

[DISCOVERY] CreateCoapListenThread

[DISCOVERY] CreateCoapListenThread2

[DISCOVERY]CoapWriteMsgQueue().

[DISCOVERY] InitService ok

[DISCOVERY] PublishCallback publishId=1, result=0

demo service publish success.1get feature name.GetService name:[DISCOVERY]ReadMsgQue().

[DISCOVERY]CoapHandleWifiEvent().

[DISCOVERY] WifiEventTrigger 1.

[DISCOVERY] WifiEventTrigger[DISCOVERY] CoapReadHandle()

[DISCOVERY] CoapReadHandle coin select begin

[DISCOVERY] CoapReadHandle, select

GetCommonDeviceInfo is success.

[DISCOVERY] CoapGetIp().

[DISCOVERY] WifiEventTrigger .

[DISCOVERY] WifiEventTrigger ret is 0.

[DISCOVERY] WifiEventTrigger BusManager().

[TRANS] OpenTcpServer inet_pton fail, rc=0:(null)

[TRANS] InitListenFd OpenTcpServer fail

[AUTH] StartBus StartListener fail

[DISCOVERY] WifiEventTrigger StartBusManager(1) fail

[DISCOVERY]ReadMsgQue().

00 00:00:00 0 68 D 0/HIVIEW: hilog init success.

00 00:00:00 0 68 D 0/HIVIEW: log limit init success.

00 00:00:00 0 68 I 1/SAMGR: Bootstrap core services(count:3).

00 00:00:00 0 68 I 1/SAMGR: Init service:0x4c4c14 TaskPool:0xfa9a4

00 00:00:00 0 68 I 1/SAMGR: Init service:0x4c4c38 TaskPool:0xfb014

00 00:00:00 0 68 I 1/SAMGR: Init service:0x4c6d88 TaskPool:0xfb1d4

00 00:00:00 0 100 I 1/SAMGR: Init service 0x4c4c38 success!

00 00:00:00 0 0 I 1/SAMGR: Init service 0x4c4c14 success!

00 00:00:00 0 200 D 0/HIVIEW: hiview init success.

00 00:00:00 0 200 I 1/SAMGR: Init service 0x4c6d88 success!

00 00:00:00 0 200 I 1/SAMGR: Initialized all core system services!

00 00:00:00 0 0 I 1/SAMGR: Bootstrap system and application services(count:1).

00 00:00:00 0 0 I 1/SAMGR: Init service:0x4c4cf0 TaskPool:0xeba70

00 00:00:00 0 68 I 1/SAMGR: Init service 0x4c4cf0 success!

00 00:00:00 0 68 I 1/SAMGR: Initialized all system and application services!

00 00:00:00 0 0 I 1/SAMGR: Bootstrap dynamic registered services(count:0).

[18:56:53.855]发→◇AT+STARTSTA

[18:56:53.860]收←◆AT+STARTSTAbusy!

busy!

busy!

OK

[18:57:03.997]发→◇AT+CONN=,86:73:03:de:fc:14,3,"12345678"

[18:57:04.002]收←◆AT+CONN=,86:73:03:de:fc:14,3,"12345678"busy!

busy!

busy!

busy!

OK

[18:57:04.780]收←◆+NOTICE:SCANFINISH

[18:57:05.265]收←◆+NOTICE:CONNECTED

[DISCOVERY]CoapConnectionChangedHandler().

[DISCOVERY]CoapWriteMsgQueue().

[DISCOVERY]CoapHandleWifiEvent().

[DISCOVERY] WifiEventTrigger 1.

[DISCOVERY] WifiEventTrigger GetCommonDeviceInfo is success.

[DISCOVERY] CoapGetIp().

[18:57:20.196]发→◇AT+DHCP=wlan0,1

[18:57:20.200]收←◆AT+DHCP=wlan0,1busy!

busy!

OK

[18:57:21.210]收←◆[DISCOVERY] WifiEventTrigger 192.168.43.112.

[DISCOVERY] WifiEventTrigger ret is 0.

[DISCOVERY] WifiEventTrigger BusManager().

[TRANS] OpenTcpServer inet_pton rc=1

[TRANS] OpenTcpServer fd=1

[TRANS] WaitProcess begin

[TRANS] StartListener ok

[TRANS] OpenTcpServer inet_pton rc=1

[TRANS] OpenTcpServer fd=2

[TRANS] StartSelectLoop create trans_session_task

[TRANS] SelectSessionLoop begin

[AUTH] StartBus ok

[DISCOVERY] WifiEventTrigger CoapRegisterDeviceInfo().

[DISCOVERY]ReadMsgQue().

[18:57:36.642]收←◆[DISCOVERY] HandleReadEvent()

[DISCOVERY] COAP_SoftBusDecode()

[DISCOVERY] PostServiceDiscover()

[DISCOVERY] GetServiceDiscoverInfo()

[DISCOVERY] GetServiceDiscoverInfo()

[DISCOVERY] ParseServiceDiscover()

{"deviceId":"{\"UDID\":\"EB1204FC4F250C892EBD67E46D0CEA03FFC16347541C95954434F22494231CCE\"}","devicename":"nova 5 Pro","type":14,"hicomversion":"2.1.0.0","mode":1,"deviceHash":"2850086000394994110","serviceData":"","wlanIp":"192.168.43.241","capabilityBit[DISCOVERY] ParseServiceDiscover(coap://192.168.43.241/device_discover)

[DISCOVERY]CoapResponseService().

[DISCOVERY]PrepareServiceDiscover().

[DISCOVERY]init data().

{"deviceId":"{\"UDID\":\"BE753141CDEC87CE61D564BFD84C908E966011DEB00BF46690FC97B133AA795B\"}","devicename":"DEV_L0","type":241,"hicomversion":"","mode":0,"deviceHash":"4174638","serviceData":"port:56968,,","wlanIp":"192.168.43.112","capabilityBitmap":[64]}[DISCOVERY]CoapSendRequest().

[DISCOVERY]CoapSendRequest remote ip:192.168.43.241.

CoapSocketSend:3,294

send result:294\[DISCOVERY]send success.

[DISCOVERY] CoapReadHandle, select

[DISCOVERY] HandleReadEvent()

[DISCOVERY] COAP_SoftBusDecode()

[DISCOVERY] PostServiceDiscover()

[DISCOVERY] GetServiceDiscoverInfo()

[DISCOVERY] GetServiceDiscoverInfo()

[DISCOVERY] ParseServiceDiscover()

{"deviceId":"{\"UDID\":\"EB1204FC4F250C892EBD67E46D0CEA03FFC16347541C95954434F22494231CCE\"}","devicename":"nova 5 Pro","type":14,"hicomversion":"2.1.0.0","mode":1,"deviceHash":"2850086000394994110","serviceData":"","wlanIp":"192.168.43.241","capabilityBit

[DISCOVERY] ParseServiceDiscover(coap://192.168.43.241/device_discover)

[DISCOVERY]CoapResponseService().

[DISCOVERY]PrepareServiceDiscover().

[DISCOVERY]init data().

{"deviceId":"{\"UDID\":\"BE753141CDEC87CE61D564BFD84C908E966011DEB00BF46690FC97B133AA795B\"}","devicename":"DEV_L0","type":241,"hicomversion":"","mode":0,"deviceHash":"4174638","serviceData":"port:56968,,","wlanIp":"192.168.43.112","capabilityBitmap":[64]}[DISCOVERY]CoapSendRequest().

[DISCOVERY]CoapSendRequest remote ip:192.168.43.241.

CoapSocketSend:4,294

send result:294\[DISCOVERY]send success.

[DISCOVERY] CoapReadHandle, select

作者:mb5f8960971f61a

想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com

【免费直播公开课- 让鸿蒙智能家居开发板与AWS IoT云完美连通 】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

winform 统计大量数据重复的元素个数_DAY10——推断统计之概率与概率分布:常见的离散型概率分布...

「数学期望——某件事情大量发生之后的平均结果」----------------分割又分割----------------------昨天文章排版出了问题,今天重新排版。数据的三个统计维度:集中程度、离散程度、分布情况。集中程度:期望离散程度:方差、标准差…

xss跨站脚本攻击_常见攻击之xss跨站脚本攻击

前言随着互联网的不断发展,web应用的互动性也越来越强。相应的,在用户体验提升的同时安全风险也会跟着有所增加。今天,我们就来讲一讲web渗透中常见的攻击方式之一,XSS攻击。首先需要了解他是如何工作的,以及我们如何利…

缺陷调研报告_质量零缺陷 | 打造极致产品的质量管理之道

质量是政治质量是生命质量是效益为强化全员“零缺陷”质量意识,坚决打赢质量提升攻坚战,现开设“质量零缺陷”专栏,着力宣传全院各单位在加强质量管理,落实零缺陷理念等方面的典型做法和质量故事。今天为大家带来的是曾获得“全国…

oracle 从右往左截取_截取GIF、调分辨率、快捷拨号,三星这些功能让人爱不释手...

昨天三星5G手机正式上市后,今天又爆出苹果被三星拒绝后要转向华为购买5G芯片,苹果如此操作是真的走投无路了?再看看吃瓜群众们,吐槽一波接一波。​一会儿,嫌弃三星信号频段不完全,10nm的工艺制程太差。一会…

html中表单的校验的插件,功能强大的jquery.validate表单验证插件

本文实例为大家分享了jquery.validate表单验证的使用方法,供大家参考,具体内容如下1 、表单验证的准备工作在开启长篇大论之前,首先将表单验证的效果展示给大家。1.点击表单项,显示帮助提示2.鼠标离开表单项时,开始校验…

swing 显示文件下文件_Linux 文件权限详解

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、使用ls -l 显示文件的详细信息二、Linux下的文件权限分组三、drwx 代…

未来教育计算机二级书怎么样,未来教育计算机二级

1册图书1张光盘,轻松应对2018年一级计算机基础及MS Office应用考试 n 1.历年真题精选,全方位把握真考动向,具有练习价值 n (1)新大纲、新题型、新题库,全方位解读无纸化考试,帮助考生轻松过关。 n (2)精选2017年~2016年…

江苏计算机专业,行情火爆的计算机专业:江苏计算机专业高校最低录取分排序...

原标题:行情火爆的计算机专业:江苏计算机专业高校最低录取分排序现如今的十大热门专业里,计算机类专业总是稳居榜首!几年前市场对计算机专业人才的需求非常大,计算机专业红得发紫,毕业生是"皇帝的女儿…

em算法 实例 正态分布_Petuum提出序列生成学习算法通用框架

近日,来自人工智能创业公司 Petuum 的研究人员发表论文,提出序列生成学习算法的通用框架——广义的熵正则化策略优化框架(Generalized Entropy-Regularized Policy Optimization)。该框架是对包括最大似然学习 (MLE)、增强学习 (RL) 等多种广泛使用的算法…

springboot 集成redis_一文详解Spring Boot 集成 Redis

redis设置:修改redis服务器的配置文件vim /usr/local/redis/bin/redis.confbind 0.0.0.0 protected-mode no重新启动redissystemctl restart redis.service #重新启动服务注意:服务器的话需要设置安全组开放端口1.导入依赖org.springframework.boot …

计算机用手机的网络,电脑做热点让手机上网_电脑开热点给手机用

2016-11-26 12:00:20你好!很高兴为你解答,有两个解决办法:1.在每台机的本地连接--属性--常规--internet协议(TCP/IP)--常规里,设置成"自动获取IP地址"2.在每台机的本地连接--...2017-01-06 14:44:121.打开任务栏右下角的网络连接,在弹出的界面…

shell开启飞行模式_原来手机飞行模式有这么多用处!99%的深圳人都不知道...

相信大家都知道我们的手机里有个功能叫「飞行模式」(又称航空模式)它可以关掉手机收发信号的装置避免手机信号对飞机飞行造成干扰来源:网络那么对于不常坐飞机的人来说「飞行模式」功能是不是毫无用处呢?当然不是今天易小姐就带大家解锁关于「飞行模式」…

联想微型计算机启天e4300,戴尔轻薄商务本Latitude E4200/E4300开卖

戴尔随迅驰2平台的发布全面更新了自己的Latitude商用笔记本产品线,之前15和14寸的E6000/E5000系列已经上市销售,今天两款轻薄型号E4300/E4200也摆上了戴尔美国官网的货架。13.3寸的E4300目标直指联想ThinkPad X300/X301系列,虽然在轻薄程度上…

医疗小程序源码_不懂商城小程序源码,如何快速创建小程序商城?

小程序在近来发展十分迅速,从微信小程序游戏出发,到现在渗透到各种功能类型,甚至已经扩展到了其他的应用程序上。那么如今很多的小程序商城应该怎么创建呢?不懂商城小程序源码也可以自己制作吗?当然可以,下…

计算机快捷键任务管理器,任务管理器快捷键,小编告诉你电脑如何打开任务管理器...

电脑系统的任务管理器是Windows提供有关计算机性能的信息,并显示了计算机上所运行的程序和进程的详细信息,从这里可以查看到当前系统的进程数、CPU使用比率、更改的内存、容量等数据。那么,任务管理器怎么样打开呢?下面&#xff0…

python webdriver 等待网页已登录_python基础编程:python+selenium实现163邮箱自动登陆的方法...

本文介绍了让我们先来预览一下代码运行效果吧:首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素)1、定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话是无法找到之后的邮箱地址框和密码输入框的)2、定位到邮箱地址框(nam…

长沙计算机中级职称分数公布,大家所期待的2020年湖南省长沙中级职称评审公示...

原标题:大家所期待的2020年湖南省长沙中级职称评审公示年底了,各大考试差不多都快结束了。唯一就是湖南长沙的土建中级职称评审结果待公示,湖南岳阳,湘潭等地方也相继公示。2019年湖南省中级职称评审(长沙市)12月24号公示&#xf…

android平台上持久化存储3种手段_深入学习Redis :持久化

前言在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的持久…

自动驾驶芯片_自动驾驶芯片“争夺战”

伴随着智能汽车时代的加速到来,自动驾驶芯片“争夺战”也越演越烈。继奥迪、宝马、长安、广汽、小鹏等汽车厂商“摩拳擦掌”L3级自动驾驶后,近日本田扔出了一个大消息,L3级自动驾驶汽车将于明年3月正式开售。至此,全球已经进入L3级…

r语言将百分数化为小数_「淮南师出」教师资格/招聘小学数学:《百分数与小数的互化》...

教学目标:1、利用已有知识迁移、类推、发现百分数和小数互化的规律和方法。2、理解、掌握百分数和小数互化的方法,并能熟练运用,进一步体会数学之间的内在联系,增强思维的深刻性。3、通过合作交流、探索发现等数学学习活动教给学生…