OpenHarmony网络应用开发_harmonyos

总目录:
文档链接: ​​​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接口简介
  1. 这个socket.h中包含声明UDP协议相关接口函数。
  2. 功能接口

1.1.2 UDP客户端创建流程介绍

  1. 流程图

1.1.3 实现UDP客户端

  1. 文件位置
    "D3_iot_udp_client"工程 → “udp_client_demo.c”
  2. OpenHarmony网络应用开发_TCP_02

  3. 代码
  4. OpenHarmony网络应用开发_harmonyos_03

1.1.4 测试UDP客户端

  1. 使用 Socket tool 创建 UDP服务端 用于测试

1.2 UDP 服务端

1.2.1 UDP协议相关API介绍

1.2.1.1 socket.h 接口简介:

这个socket.h中包含声明UDP协议相关接口函数。

OpenHarmony网络应用开发_UDP_04

1.2.2 UDP服务端创建流程介绍

  1. 流程图:

1.2.3 实现UDP服务端

  1. 文件位置
    "D4_iot_tcp_server"工程 → tcp_server_demo.c
  2. OpenHarmony网络应用开发_harmonyos_05

  3. 代码
  4. OpenHarmony网络应用开发_TCP_06

2. TCP

2.1 TCP服务端

2.1.1 TCP协议相关API介绍

2.1.1.1 socket.h接口简介:

这个socket.h中包含声明TCP协议相关接口函数。

OpenHarmony网络应用开发_harmonyos_07

2.1.2 TCP服务端创建流程介绍

  1. 流程图:

2.1.3 实现TCP服务端

  1. 文件位置
    "D4_iot_tcp_server"工程 → tcp_server_demo.c
  • 实现TCP服务
  1. 代码

2.1.4 测试TCP服务端

使用 Socket tool 创建TCP客户端用于测试

OpenHarmony网络应用开发_harmonyos_08

OpenHarmony网络应用开发_udp_09

2.2 TCP客户端

2.2.1 TCP协议相关API介绍

这个socket.h中包含声明TCP协议相关接口函数。

OpenHarmony网络应用开发_java_10

2.2.2 TCP客户端创建流程介绍

  1. 流程图:

2.2.3 实现TCP客户端

  1. 文件位置
    "D3_iot_udp_client"工程 → “udp_client_demo.c”
  2. 代码:
  3. OpenHarmony网络应用开发_UDP_11

3. MQTT

3.1 MQTT客户端

3.1.1 MQTT介绍

  • MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。
  • OpenHarmony网络应用开发_udp_12

  • Paho是IBM在2011年建立的Eclipse开源项目,该项目包含以C、Java、Python、Javascript等语言编写的可用客户端。
  • 嵌入式C语言客户端开源地址:​​https://github.com/eclipse/paho.mqtt.embedded-c​

3.1.2 Paho MQTT 文件目录介绍

  1. 文件位置
  2. OpenHarmony网络应用开发_udp_13

  3. 文件内容
  • 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相关接口函数。

OpenHarmony网络应用开发_java_14

3.1.4 如何实现MQTT客户端

  1. 文件位置
    "D5_iot_mqtt"工程 → “iot_mqtt.c”
  2. OpenHarmony网络应用开发_TCP_15

  3. 代码
  4. OpenHarmony网络应用开发_UDP_16

  5. 相关软件下载

4. 连接物联网平台

4.1 连接华为IoT平台

4.1.1 华为IoT平台介绍

  • 华为云物联网平台即华为设备接入服务(IoT Device Access),提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。
  • OpenHarmony网络应用开发_TCP_17

  • 华为IoT平台地址:​​https://www.huaweicloud.com/product/iothub.html​

4.1.2 华为IoT平台产品创建

  • 产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息,如颜色、开关等
4.1.2.1 设备对接:
  1. 服务信息:
  2. OpenHarmony网络应用开发_harmonyos_18

  3. 属性信息:
  4. OpenHarmony网络应用开发_harmonyos_19

  5. 命令信息:
  6. OpenHarmony网络应用开发_harmonyos_20

4.1.3 设备对接华为IoT平台

  1. 文件位置
    "D6_iot_cloud_oc"工程 → iot_cloud_oc_sample.c
  • MQTT协议对接华为IoT平台
  1. 代码
  2. 生成设备对接信息网址: ​​https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/​

4.2 连接OneNET平台

4.2.1 OneNET平台介绍

  • OneNET是中国移动打造的高效、稳定、安全的物联网开放平台。OneNET支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全以及大数据分析等平台级服务需求。
  • OpenHarmony网络应用开发_java_21

  • OneNET平台地址:​​https://open.iot.10086.cn/develop/global/product/#/console​

4.2.2 OneNET平台产品创建

  • OneNET平台资源(包括设备,APIKey,触发器,应用等)的集合,一个产品对应唯一的masterkey、产品ID,设备注册码,一个产品下包含多个具备同一特征的设备,多个设备之间的唯一性由SN来区分
  • OpenHarmony网络应用开发_harmonyos_22

  • BearPi硬件对接OneNET教程:

4.2.3 设备对接OneNET平台

  1. 文件位置
    "D7_iot_cloud_onenet"工程 → iot_cloud_onenet_sample.c
  2. OpenHarmony网络应用开发_UDP_23

  3. 代码:
  4. OpenHarmony网络应用开发_udp_24


  5. OpenHarmony网络应用开发_harmonyos_25