目录:

工具

步骤

运行结果

工具:

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,可以看到开发板对手机广播的成功响应。

[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云完美连通 】

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

  1. 华为nova5 pro怎么升级鸿蒙系统,鸿蒙系统终于来了!这几款华为手机都可以升级了...

    原标题:鸿蒙系统终于来了!这几款华为手机都可以升级了 备受关注的鸿蒙系统将在6月2日与众多数码爱好者和华为手机用户见面.在此之前,鸿蒙系统已经推出了测试版,有部分用户和手机开发者提前体验到华为鸿蒙系统 ...

  2. 华为哪款手机将用鸿蒙系统,鸿蒙系统终于来了!这几款华为手机都可以升级了...

    原标题:鸿蒙系统终于来了!这几款华为手机都可以升级了 备受关注的鸿蒙系统将在6月2日与众多数码爱好者和华为手机用户见面.在此之前,鸿蒙系统已经推出了测试版,有部分用户和手机开发者提前体验到华为鸿蒙系统 ...

  3. 想第一时间体验“鸿蒙3.0”吗?教你怎样把华为手机升级到鸿蒙3?

    华为手机怎样升级到鸿蒙3.0?就在前些天,在华为的夏季新品发布会上,华为正式发布了鸿蒙系统的第3个大版本--鸿蒙3.0.相对于鸿蒙2.0系统,鸿蒙3.0在性能上有着非常大的提升,尤其是在超级终端.鸿蒙 ...

  4. 华为鸿蒙OS手机尝鲜,鸿蒙OS开启消费者尝鲜计划!大批华为手机可用,功能接近完善...

    原标题:鸿蒙OS开启消费者尝鲜计划!大批华为手机可用,功能接近完善 近日,原华为EMUI官微就正式宣布更名为Harmony OS,而且华为也官方宣布将在6月2日晚20点召开鸿蒙操作系统及华为全场景新品 ...

  5. 哪几款华为手机可升级鸿蒙,鸿蒙2.0已上线,这4款华为手机可直接升级,看看有没有你的...

    原创文章,未经允许,请勿转载和抄袭 01鸿蒙2.0上线 在华为的备胎计划中,鸿蒙OS是非常重要的自研操作系统.和安卓,苹果操作系统不同的是,鸿蒙是通用的.不只是在手机上,还包括了平板.电视.汽车.冰箱 ...

  6. 鸿蒙系统适配机型_余承东:华为手机鸿蒙系统体验比安卓更好,主流应用已完成适配...

    在近日召开的IFA2019大会上,华为无疑是最闪耀的那颗星,为我们带来了全球首款内置5G基带的5G旗舰芯片麒麟990,把整个5G手机的技术革新向前推进了一步.不过在麒麟990发布之后华为终端CEO余承 ...

  7. 鸿蒙系统支持华为哪几款手机,鸿蒙系统终于来了!这几款华为手机可以升级

    就在6月2日晚8点,华为召开发布会,带来了鸿蒙HarmonyOS 2操作系统正式版. 小优的心情,和大家一样激动!!! 还记得第一次听说"鸿蒙"这个名字,是在2019年. 当时美国 ...

  8. 华为鸿蒙系统哪个机型最便宜,这四款华为手机可升级到鸿蒙系统,老机型居多,最低只需千元!...

    提到华为手机,目前除了华为Mate40系列值得关注之外,还有华为手机旗下的鸿蒙系统.余承东表示将于明年推出鸿蒙2.0,华为消费者BG软件部总裁王成录表示,明年1.2月就会推出手机使用的鸿蒙系统.而最近 ...

  9. 鸿蒙手机真的出来会买吗,如果鸿蒙真的大批采用,你还会买华为手机吗?迟疑的瞬间答案明了!...

    2019年出现了很多关于鸿蒙系统的消息,在浩繁消息当中,大家常常听到华为手秘密正式采用鸿蒙系统的消息,官方也曾经暧昧不清的表现在2020年会有电子终端产品大规模采用鸿蒙系统,但假如华为的电子终端产品, ...

最新文章

  1. HDLBits 系列(16)Something about Counter
  2. 在windows下架设openssh实现资源共享
  3. springboot 替换tomcat_Springboot (二十八)云配置服务器
  4. PHP date, strtotime, mktime处理
  5. Tomcat集群快速入门
  6. java if 定义变量_java – 如何分配在if else语句中定义的变量
  7. 我看中国软件---人才篇
  8. php选择nginx还是apache,浅谈apache和nginx的rewrite的区别
  9. 人人商城小程序消息服务器配置,如何设置小程序模板消息?
  10. 视频ts格式转mp4
  11. 域名转入需要经过“命名审核”状态
  12. Love6 五一无忧无虑假期后的一些随笔和感想
  13. Windows运行机理——消息与消息队列
  14. Solaris中文FAQ
  15. 【89元】爱乐生 上臂式语音电子血压计测量仪 家用医用全自动智能大屏 老人尊享 LZX-B1681-C标准款...
  16. [汇编] 汇编语言实现简易文本编辑器(光标移动、上卷和退格删除)
  17. Vivado仿真功能
  18. 【理论恒叨】【立体匹配系列】经典SGM:(1)匹配代价计算之互信息(MI)
  19. 无线测温产品在山西煤矸石制砖余热发电项目中的应用
  20. IDEA注释方式快捷键

热门文章

  1. 桂林电子科技大学计算机信息管理专业排名,桂林电子科技大学信息科技学院优势专业排名,2021年桂林电子科技大学信息科技学院最好的专业排名...
  2. SpringMVC注解@RequestParam全面解析____ 注解@RequestParam如何使用加与不加的区别
  3. 学习Spring Boot:(十七)Spring Boot 中使用 Redis
  4. c语言程序设计华北电力大学,2016年华北电力大学电气与电子工程学院C语言程序设计(同等学力加试)考研复试题库...
  5. python实现监控增量_python 日志增量抓取实现方法
  6. Java 故障处理与性能监控工具
  7. 微信小程序服务器域名修改生效时间,微信小程序修改request合法域名不生效及解决方法...
  8. python绘制饼图程序_python使用Matplotlib绘制饼图
  9. MySQL 高级 —— 索引实现的思考
  10. 排序算法之--桶排序(桶,像桶一样的排序,听起来很有趣哦0。0)