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

相关推荐
代码游侠2 分钟前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
光头程序员32 分钟前
学习笔记——vite 打包构建优化之tree shaking
笔记·学习
安得权41 分钟前
Office365 SSO Azure的配置笔记
笔记·flask·azure
走在路上的菜鸟1 小时前
Android学Dart学习笔记第十一节 分支
android·笔记·学习·flutter
春卷同学1 小时前
Electron for鸿蒙PC开发的骰子游戏应用
游戏·electron·harmonyos
春卷同学1 小时前
Electron for 鸿蒙pc开发的二十一点游戏
游戏·electron·harmonyos
峰顶听歌的鲸鱼2 小时前
13.docker部署
linux·运维·笔记·docker·容器·云计算
自不量力的A同学2 小时前
WordPress 6.9「Gene」发布
人工智能·笔记
小琦QI2 小时前
STM32F407VET6+CCE4503学习笔记---IOLINK server
笔记·stm32·学习
客梦2 小时前
数据结构核心内容
数据结构·笔记