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

相关推荐
QT 小鲜肉2 小时前
【C++基础与提高】第二章:C++数据类型系统——构建程序的基础砖石
开发语言·c++·笔记
songyuc5 小时前
【S2ANet】Align Deep Features for Oriented Object Detection 译读笔记
人工智能·笔记·目标检测
蒙奇D索大7 小时前
【算法】递归算法的深度实践:从布尔运算到二叉树剪枝的DFS之旅
笔记·学习·算法·leetcode·深度优先·剪枝
卡提西亚7 小时前
C++笔记-25-函数模板
c++·笔记·算法
郭庆汝12 小时前
(二)自然语言处理笔记——Seq2Seq架构、注意力机制
人工智能·笔记·自然语言处理
墨倾许13 小时前
《Windows 11 + Docker:极简DVWA靶场搭建全记录》—— 附详细排错指南与最终解决方案
windows·笔记·网络安全·docker·容器·靶场
WPG大大通14 小时前
【经验分享】Genio 520/Genio720未使用引脚处理方法
经验分享·笔记·信号处理·模块测试·usb·功能模块
d111111111d14 小时前
STM32外设学习--DMA直接存储器读取--学习笔记。
笔记·stm32·单片机·嵌入式硬件·学习
HarmonyOS_SDK14 小时前
【FAQ】HarmonyOS SDK 闭源开放能力 — Network Kit
harmonyos
搞机械的假程序猿15 小时前
普中51单片机学习笔记-前言
笔记·学习·51单片机