基于HarmonyOS控制Hi3861小车之信息通信 原创 精华
引言
在鸿蒙应用实际开发中,经常会遇到App与IOT设备间的通信,本节主要详细讲述一下通信关键技术,考虑到TCP/UDP协议的特性,两者间通过UDP进行通信是一种必然的选择,UDP一种无连接的协议,具有资源消耗小,处理速度快的优点,了解UDP是怎么通信的,这对于每一个HarmonyOS开发者也是需要了解的重点知识。
核心类
DatagramSocket、DatagramPacket、EventHandler,下面分别简单介绍下:
1.DatagramSocket:
构造器DatagramSocket(int port, InetAddress laddr):创建一个DatagramSocket实例,并将该对象绑定到指定IP地址、指定端口。主要方法receive(DatagramPacket p):从该DatagramSocket中接收数据报,send(DatagramPacket p):以该DatagramSocket对象向外发送数据报。
2.DatagramPacket:
构造器DatagramPacket(byte[] buf, int length, InetAddress addr, int port):以一个包含数据的数组来创建DatagramPacket对象,创建该DatagramPacket对象时还指定了IP地址和端口--这就决定了该数据报的目的地。
3.EventHandler:
是HarmonyOS用于处理线程间通信的一种机制,可以通过EventRunner创建新线程,将耗时的操作放到新线程上执行。这样既不阻塞原来的线程,任务又可以得到合理的处理。比如:主线程使用EventHandler创建子线程,子线程做耗时的下载图片操作,下载完成后,子线程通过EventHandler通知主线程,主线程再更新UI。
功能介绍
通过App Demo控制小车运动(前进、后退、左转、右转、停止),主要通过UDP数据包发送命令,来说明它们间是怎么通信的,它们间控制命令以json格式发送。
如:
开发指南
1、创建UDP协议的发送命令对象
2、将要发送的数据封装成DatagramPacket对象发送
3、构造发送的命令
实现效果
附上主要源代码
1. MainAbilitySlice
2. UdpManager
3. UdpCommand
4. UdpReceiveCallback
5. xml布局文件
感谢分享,回去试的跑一下。
软通同事文章写的越来越好了
感谢软通同事分享
感谢大家的支持
加油加油
感谢老师分享
前几天收到一个3861小车,试着用手机跑一下