> 文档中心 > OpenHarmony网络应用开发

OpenHarmony网络应用开发

OpenHarmony网络应用开发

总目录:
文档链接: 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. 功能接口OpenHarmony网络应用开发

1.1.2 UDP客户端创建流程介绍

  1. 流程图OpenHarmony网络应用开发

1.1.3 实现UDP客户端

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

  2. 代码
    OpenHarmony网络应用开发

1.1.4 测试UDP客户端

  1. 使用 Socket tool 创建 UDP服务端 用于测试
    OpenHarmony网络应用开发OpenHarmony网络应用开发

1.2 UDP 服务端

1.2.1 UDP协议相关API介绍

1.2.1.1 socket.h 接口简介:

这个socket.h中包含声明UDP协议相关接口函数。
OpenHarmony网络应用开发

1.2.2 UDP服务端创建流程介绍

  1. 流程图:
    OpenHarmony网络应用开发

1.2.3 实现UDP服务端

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

  2. 代码
    OpenHarmony网络应用开发

2. TCP

2.1 TCP服务端

2.1.1 TCP协议相关API介绍

2.1.1.1 socket.h接口简介:

这个socket.h中包含声明TCP协议相关接口函数。
OpenHarmony网络应用开发

2.1.2 TCP服务端创建流程介绍

  1. 流程图:
    OpenHarmony网络应用开发

2.1.3 实现TCP服务端

  1. 文件位置
    "D4_iot_tcp_server"工程 → tcp_server_demo.c

    • 实现TCP服务
      OpenHarmony网络应用开发
  2. 代码
    OpenHarmony网络应用开发

2.1.4 测试TCP服务端

使用 Socket tool 创建TCP客户端用于测试
OpenHarmony网络应用开发 OpenHarmony网络应用开发

2.2 TCP客户端

2.2.1 TCP协议相关API介绍

这个socket.h中包含声明TCP协议相关接口函数。
OpenHarmony网络应用开发

2.2.2 TCP客户端创建流程介绍

  1. 流程图:
    OpenHarmony网络应用开发

2.2.3 实现TCP客户端

  1. 文件位置
    "D3_iot_udp_client"工程 → “udp_client_demo.c”

  2. 代码:
    OpenHarmony网络应用开发

3. MQTT

3.1 MQTT客户端

3.1.1 MQTT介绍

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

  • Paho是IBM在2011年建立的Eclipse开源项目,该项目包含以C、Java、Python、Javascript等语言编写的可用客户端。

  • 嵌入式C语言客户端开源地址:https://github.com/eclipse/paho.mqtt.embedded-c

3.1.2 Paho MQTT 文件目录介绍

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

  2. 文件内容

    • 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网络应用开发

3.1.4 如何实现MQTT客户端

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

  2. 代码
    OpenHarmony网络应用开发

  3. 相关软件下载

    • MQTT消息代理软件mosquitto
    • Eclipse桌面客户端程序

4. 连接物联网平台

4.1 连接华为IoT平台

4.1.1 华为IoT平台介绍

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

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

4.1.2 华为IoT平台产品创建

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

  2. 属性信息:
    OpenHarmony网络应用开发

  3. 命令信息:
    OpenHarmony网络应用开发

4.1.3 设备对接华为IoT平台

  1. 文件位置
    "D6_iot_cloud_oc"工程 → iot_cloud_oc_sample.c
  • MQTT协议对接华为IoT平台
    OpenHarmony网络应用开发
  1. 代码
    OpenHarmony网络应用开发

  2. 生成设备对接信息网址: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/

4.2 连接OneNET平台

4.2.1 OneNET平台介绍

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

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

4.2.2 OneNET平台产品创建

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

  • BearPi硬件对接OneNET教程:

    • 教程地址:applications/BearPi/BearPi-HM_Nano/sample/D7_iot_cloud_onenet/README.md · 小熊派开源社区/BearPi-HM_Nano - Gitee.com

4.2.3 设备对接OneNET平台

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

  2. 代码:
    OpenHarmony网络应用开发
    OpenHarmony网络应用开发