BearPi小熊派 鸿蒙入门开发笔记(4)

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:

Download | Eclipse 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博客

相关推荐
木咺吟3 小时前
鸿蒙原生应用实战(一):从零搭建快递追踪App——项目初始化与工程架构详解
华为·harmonyos
袁小皮皮不皮6 小时前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
坚果派·白晓明6 小时前
【鸿蒙PC】SDL3 移植:AtomCode Skills 4 步速通多媒体库适配
c++·华为·ai编程·harmonyos·atomcode·c/c++三方库
风满城337 小时前
鸿蒙原生应用实战(三):设置与统计页面开发 — 数据驱动的功能模块
harmonyos
xcLeigh7 小时前
鸿蒙平台 KeePass 密码管理器适配实战:从 Windows 到 鸿蒙PC 的 Electron 迁移指南
windows·electron·web·harmonyos·加密算法·keepass
金启攻7 小时前
鸿蒙原生应用开发实战(一):从零搭建“钓点日记“——项目初始化与环境配置全指南
harmonyos
风华圆舞7 小时前
鸿蒙语音识别为什么要区分 startListening 和 stopListening
华为·语音识别·harmonyos
YM52e7 小时前
鸿蒙PC ArkTS 声明合并问题深度解析与最佳实践
学习·华为·harmonyos·鸿蒙·鸿蒙系统
互联网散修8 小时前
鸿蒙实战:网络状态监听与诊断工具
网络·华为·harmonyos·网络状态监听
祭曦念9 小时前
从零开始构建鸿蒙纪念日提醒 App:ArkTS + API 24 实战
华为·harmonyos