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

相关推荐
熊猫钓鱼>_>4 小时前
【案例实战】鸿蒙分布式智能办公应用的架构设计与性能优化
分布式·华为·harmonyos
摇滚侠4 小时前
Spring Boot 3零基础教程,WEB 开发 通过配置类代码方式修改静态资源配置 笔记32
java·spring boot·笔记
鸿蒙小白龙5 小时前
Openharmony应用开发之Ability异常退出与UIAbility数据备份开发实战
harmonyos·鸿蒙·鸿蒙系统·open harmony
Damon小智6 小时前
RedPlayer 视频播放器在 HarmonyOS 应用中的实践
音视频·harmonyos·鸿蒙·小红书·三方库·redplayer
聪明的笨猪猪6 小时前
Java JVM “内存(1)”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
_dindong7 小时前
Linux网络编程:Socket编程TCP
linux·服务器·网络·笔记·学习·tcp/ip
摇滚侠7 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 属性优先级 行内写法 变量选择 笔记42
java·spring boot·笔记
摇滚侠7 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 总结 热部署 常用配置 笔记44
java·spring boot·笔记
rechol8 小时前
汇编与底层编程笔记
汇编·arm开发·笔记