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

相关推荐
云和数据.ChenGuang1 天前
鸿蒙餐饮系统:全场景智慧餐饮新范式
人工智能·机器学习·华为·数据挖掘·harmonyos·鸿蒙·鸿蒙系统
Swift社区1 天前
AI 驱动 UI:鸿蒙 ArkUI 的新可能
人工智能·ui·harmonyos
hanlin031 天前
刷题笔记:力扣第17题-电话号码的字母组合
笔记·算法·leetcode
لا معنى له1 天前
JEPA:联合嵌入预测架构介绍 ——学习笔记
笔记·学习
sprite_雪碧1 天前
考研机试笔记-1输入输出
笔记·考研·华为od
xian_wwq1 天前
【学习笔记】数据投毒的9种攻击方法与防御措施
笔记·学习·数据投毒
笑鸿的学习笔记1 天前
qt-C++语法笔记之Qt中的delete ui、ui的本质与Q_OBJECT
c++·笔记·qt
Yu_Lijing1 天前
基于C++的《Head First设计模式》笔记——责任链模式
c++·笔记·设计模式·责任链模式
KIHU快狐1 天前
KIHU快狐|国产鸿蒙系统立式一体机RK3588芯片多点触控交互查询终端
华为·交互·harmonyos
左左右右左右摇晃1 天前
Java笔记 —— 值传递与“引用传递”
java·开发语言·笔记