总目录:
文档链接: https://mubucm.com/doc/2sINVHMg9Pm 密码: mkxb
本文幕布:
文档链接: https://www.mubucm.com/doc/4hviFn1y1nm 密码: q2pe
课程链接:
https://www.bilibili.com/video/BV1tv411b7SA?spm_id_from=333.999.0.0
文章目录
- HarmonyOS网络应用开发
- 1. UDP
- 1.1 UDP客户端
- 1.1.1 UDP协议相关API介绍
- 1.1.1.1 socket.h接口简介
- 1.1.2 UDP客户端创建流程介绍
- 1.1.3 实现UDP客户端
- 1.1.4 测试UDP客户端
- 1.2 UDP 服务端
- 1.2.1 UDP协议相关API介绍
- 1.2.1.1 socket.h 接口简介:
- 1.2.2 UDP服务端创建流程介绍
- 1.2.3 实现UDP服务端
- 2. TCP
- 2.1 TCP服务端
- 2.1.1 TCP协议相关API介绍
- 2.1.1.1 socket.h接口简介:
- 2.1.2 TCP服务端创建流程介绍
- 2.1.3 实现TCP服务端
- 2.1.4 测试TCP服务端
- 2.2 TCP客户端
- 2.2.1 TCP协议相关API介绍
- 2.2.2 TCP客户端创建流程介绍
- 2.2.3 实现TCP客户端
- 3. MQTT
- 3.1 MQTT客户端
- 3.1.1 MQTT介绍
- 3.1.2 Paho MQTT 文件目录介绍
- 3.1.3 如何使用Paho MQTT
- 3.1.4 如何实现MQTT客户端
- 4. 连接物联网平台
- 4.1 连接华为IoT平台
- 4.1.1 华为IoT平台介绍
- 4.1.2 华为IoT平台产品创建
- 4.1.2.1 设备对接:
- 4.1.3 设备对接华为IoT平台
- 4.2 连接OneNET平台
- 4.2.1 OneNET平台介绍
- 4.2.2 OneNET平台产品创建
- 4.2.3 设备对接OneNET平台
HarmonyOS网络应用开发
1. UDP
1.1 UDP客户端
1.1.1 UDP协议相关API介绍
1.1.1.1 socket.h接口简介
- 这个socket.h中包含声明UDP协议相关接口函数。
- 功能接口:
1.1.2 UDP客户端创建流程介绍
- 流程图:
1.1.3 实现UDP客户端
- 文件位置:
"D3_iot_udp_client"工程 → “udp_client_demo.c” - 代码:
1.1.4 测试UDP客户端
- 使用 Socket tool 创建 UDP服务端 用于测试
1.2 UDP 服务端
1.2.1 UDP协议相关API介绍
1.2.1.1 socket.h 接口简介:
这个socket.h中包含声明UDP协议相关接口函数。
1.2.2 UDP服务端创建流程介绍
- 流程图:
1.2.3 实现UDP服务端
- 文件位置:
"D4_iot_tcp_server"工程 → tcp_server_demo.c - 代码:
2. TCP
2.1 TCP服务端
2.1.1 TCP协议相关API介绍
2.1.1.1 socket.h接口简介:
这个socket.h中包含声明TCP协议相关接口函数。
2.1.2 TCP服务端创建流程介绍
- 流程图:
2.1.3 实现TCP服务端
- 文件位置:
"D4_iot_tcp_server"工程 → tcp_server_demo.c
- 实现TCP服务
- 代码:
2.1.4 测试TCP服务端
使用 Socket tool 创建TCP客户端用于测试
2.2 TCP客户端
2.2.1 TCP协议相关API介绍
这个socket.h中包含声明TCP协议相关接口函数。
2.2.2 TCP客户端创建流程介绍
- 流程图:
2.2.3 实现TCP客户端
- 文件位置:
"D3_iot_udp_client"工程 → “udp_client_demo.c” - 代码:
3. MQTT
3.1 MQTT客户端
3.1.1 MQTT介绍
- MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。
- Paho是IBM在2011年建立的Eclipse开源项目,该项目包含以C、Java、Python、Javascript等语言编写的可用客户端。
- 嵌入式C语言客户端开源地址:https://github.com/eclipse/paho.mqtt.embedded-c
3.1.2 Paho MQTT 文件目录介绍
- 文件位置:
- 文件内容:
- MQTTClient:封装MQTTPacket生成的高级别C++客户端程序。
- MQTTClient-C:封装MQTTPacket生成的高级别C客户端程序
- samples目录提供FreeRTOS和linux两个例程,分别支持FreeRTOS和Linux系统。
- src目录提供MQTTClient的代码实现能力,以及用于移植到对应平台的网络驱动
- MQTTPacket:提供MQTT数据包的序列化与反序列化,以及部分辅助函数
3.1.3 如何使用Paho MQTT
在MQTTClient.h中包含声明Paho MQTT相关接口函数。
3.1.4 如何实现MQTT客户端
- 文件位置:
"D5_iot_mqtt"工程 → “iot_mqtt.c” - 代码:
- 相关软件下载:
4. 连接物联网平台
4.1 连接华为IoT平台
4.1.1 华为IoT平台介绍
- 华为云物联网平台即华为设备接入服务(IoT Device Access),提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。
- 华为IoT平台地址:https://www.huaweicloud.com/product/iothub.html
4.1.2 华为IoT平台产品创建
- 产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息,如颜色、开关等
4.1.2.1 设备对接:
- 服务信息:
- 属性信息:
- 命令信息:
4.1.3 设备对接华为IoT平台
- 文件位置:
"D6_iot_cloud_oc"工程 → iot_cloud_oc_sample.c
- MQTT协议对接华为IoT平台
- 代码:
- 生成设备对接信息网址: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/
4.2 连接OneNET平台
4.2.1 OneNET平台介绍
- OneNET是中国移动打造的高效、稳定、安全的物联网开放平台。OneNET支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全以及大数据分析等平台级服务需求。
- OneNET平台地址:https://open.iot.10086.cn/develop/global/product/#/console
4.2.2 OneNET平台产品创建
- OneNET平台资源(包括设备,APIKey,触发器,应用等)的集合,一个产品对应唯一的masterkey、产品ID,设备注册码,一个产品下包含多个具备同一特征的设备,多个设备之间的唯一性由SN来区分
- BearPi硬件对接OneNET教程:
4.2.3 设备对接OneNET平台
- 文件位置:
"D7_iot_cloud_onenet"工程 → iot_cloud_onenet_sample.c - 代码: