4.HarmonyOS网络应用开发
4.1 UDP客户端
1 UDP相关 接口

2 UDP客户端创建流程

3 扩展链接
UDP协议简介:【网络篇】----- 传输层协议 之 UDP(协议格式,协议特性和编程影响三方面详细分析)_udp协议格式-CSDN博客
Socket简介:【网络】socket和udp协议_socket协议-CSDN博客
下载 SocketTools
链接:https://pan.baidu.com/s/1GqaKzEZWNvhXivm0FAnZng
提取码(永久有效):s5wy
4 案例
注意:代码设置连接的网络与调试电脑 要处于同一网络、服务端地址要设为 调试电脑IP
(1) 任务创建

(2) 连接wifi--封装了 wifi-STA模式驱动

sockaddr_in
结构体

(3) Socket创建

(4) 服务器地址 初始化

(5) UDP数据发送和接收

(6) 结果
UDP服务器创建

最终结果

4.2 TCP服务端
1 TCP相关接口

2 TCP服务端创建流程

3 扩展
TCP连接3次握手4次挥手 解析:
【计算机网络】TCP三次握手四次挥手(超级详细)_三次握手和四次挥手-CSDN博客
4 案例
(1) 任务创建

(2) wifi连接--封装wifi-STA模式

(3) 服务端地址配置

(4) Socket与端口绑定

(5) 调用监听

(6) 调用accept 从 监听队列 中 获取请求并创建socket

(7) 将 accept获取的socket 中 接收和发送消息

(8) 结果
板子初始化

使用SocketTools创建TCP服务端

收发显示

4.3 TCP客户端
1 TCP客户端相关 接口

2 TCP客户端创建流程

3.案例
(1) 任务创建

(2) 连接wifi--封装wifi-STA模式

(3) Socket创建

(4) 设置服务器地址

(5) 客户端连接服务器

(6) 发送和接收服务器信息

(7)结果

4.4 UDP服务端
1 UDP服务端对应 接口

2 UDP服务端创建流程

3 案例
(1) 任务创建

(2) 连接wifi --封装了 wifi-STA模式驱动

(3) Socket创建

(4)配置 要连接的端地址

(5) 连接 客户端

(6) 客户端收发数据

(7) 结果

4.5 MQTT客户端
1 MQTT介绍

2 Paho MQTT 相关接口

3 软件地址:
MQTT消息代理软件mosquitto:
更改配置文件:mosquitto.conf


任务管理器启动

Eclipse桌面客户端程序:
Index of /repositories/paho-releases/org/eclipse/paho/org.eclipse.paho.ui.app/1.1.1
4 案例
(1) 任务创建

(2) wifi连接--封装wifi-STA驱动

(3) 网络初始化

(4)连接网络--ip要改为本机电脑ip

(5) MQTT 参数配置



(6) MQTT连接

(7) 订阅话题与处理


(8) MQTT发布

(9)结果
注意:必须关闭 防火墙

4.6 MQTT-华为云
1 华为云介绍

2 产品创建

3 产品属性

4.华为云 注册使用流程
(1) 注册并实名认证
(2) 打开 IOT模块

(3) 产品创建

(4) 获取 平台接口对应ip

(5) 回到旧版本

(6) 产品创建

① 服务添加 与 3 产品属性对应

② 服务属性和命令创建

5 案例
(1) 结构体说明




E53_IA1 传感器 数据

(2) 任务创建
初始化消息队列,创建两个线程:数据上报线程和 命令接收与 消息处理线程

(3) 数据上报线程
初始化传感器、读取传感器数据、将数据设置为 数据消息并放入消息列表中

(4) 命令接收与 消息处理线程
①WIFI连接

②设备初始化-华为云设备

③ 云设备消息初始化



④MQTT初始化
网络初始化、网络连接、MQTT客户端初始化、MQTT客户端启动、回调函数处理、MQTT发送Connect报文



MQTT回调函数:
接收命令 并发布Publish 响应,报告当前状态

⑤ 接收到命令后 调用回调函数处理


⑥ 从消息队列中 取出消息,根据不同消息类型,进行分别处理

处理命令
从接受到的Jason数据流中,查找 命令名称

对命令为Agriculture_Control_light 读取参数Light 状态,根据状态操控 LED 开关

对命令为Agriculture_Control_Motor 读取参数Motor 状态,根据状态操控 Motor 开关

处理数据报文
将温湿度、关照、LED和马达状态写入

上报数据:内部是对数据的处理和 MQTT的Publish报文

(5) 结果
获取 4-③ 中消息

将设备的 ID和密钥 加入下方链接 软件中,生成最终结果-----------【结果好像有问题】
链接:Huaweicloud IoTDA Mqtt ClientId Generator (myhuaweicloud.com)
完全正确方法:直接从华为云获取


设备激活:【华为ICT大赛】华为云激活设备的方法以及数据上下行_华为云设备未激活-CSDN博客
