Files
TencentOS-tiny/components/connectivity/qcloud-iot-explorer-sdk/3rdparty/README.md
daishengdong 943db74fc7 merge new qcloud sdk
1. qcloud has a great revolution, the protocol has been changed to implement data template, so the old TencentCloud_SDK developed by us will not work fine now(mqtt still works, but data template will not works fine for recently created product/devices).

2. I merge the official qlcoud sdk(include both the iot-hub and iot-explorer sdk) into the componet/conectivity to support new protocol of data template

3. iot-hub sdk, supply the fundamental iot protocol(like mqtt coap, etc.)
iot-explorer sdk, supply the high level service like data template based on mqtt

4. To know how it works, see qcloud_iot_explorer_sdk_data_template、qcloud_iot_hub_sdk_mqtt example(keil project in board\TencentOS_tiny_EVB_MX_Plus\KEIL\qcloud_iot_explorer_sdk_data_template and  board\TencentOS_tiny_EVB_MX_Plus\KEIL\qcloud_iot_hub_sdk_mqtt)
2019-11-14 15:09:00 +08:00

60 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 腾讯云物联网开发平台设备端 C-SDK
腾讯云物联网开发平台IoT Explorer设备端 C-SDK 配合平台对设备数据模板化的定义实现和云端基于数据模板协议的数据交互框架开发者基于IoT_Explorer C-SDK数据模板框架通过脚本自动生成模板代码快速实现设备和平台、设备和应用之间的数据交互。
## IoT_Explorer C-SDK 架构
#### 架构图
![framework](https://main.qcloudimg.com/raw/76fc3f15c4c91ea6cf7e496f25d5d572.jpg)
#### 架构说明
SDK分四层设计从上至下分别为平台服务层、核心协议层、网络层、硬件抽象层。
- 服务层
在网络协议层之上实现了包括设备接入鉴权设备影子数据模板网关动态注册日志上报和OTA等功能并提供相关API接口给用户使用关于服务层API说明请参考doc目录文档[C-SDK_API及可变参数说明](https://github.com/tencentyun/qcloud-iot-explorer-sdk-embedded-c/blob/master/docs/C-SDK_API%E5%8F%8A%E5%8F%AF%E5%8F%98%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E.md)
- 协议层
设备端和IoT平台交互的网络协议包括MQTT/COAP/HTTP
- 网络层
实现基于TLS/SSL(TLS/DTLS)方式Bsd_socket(TCP/UDP)方式和AT_socket方式的网络协议栈不同服务可根据需要使用不同的协议栈接口函数。
- 硬件抽象层
实现对不同硬件平台的底层操作的抽象封装需要针对具体的软硬件平台开展移植分为必须实现和可选实现两部分HAL层接口。
## SDK 目录结构简介
#### 目录结构及顶层文件简介
| 名称 | 说明 |
| ------------------ | ------------------------------------------------------------ |
| CMakeLists.txt | cmake编译描述文件 |
| CMakeSettings.json | visual studio下的cmake配置文件 |
| cmake_build.sh | Linux下使用cmake的编译脚本 |
| make.settings | Linux下使用Makefile直接编译的配置文件 |
| Makefile | Linux下使用Makefile直接编译 |
| device_info.json | 设备信息文件当DEBUG_DEV_INFO_USED=OFF时将从该文件解析出设备信息 |
| docs | 文档目录SDK使用说明文档。 |
| external_libs | 第三方软件包组件如mbedtls |
| samples | 应用示例 |
| include | 提供给用户使用的外部头文件 |
| platform | 平台相关的源码文件目前提供了针对不同OS(Linux/Windows/FreeRTOS/nonOS)TLS(mbedtls)以及AT模组下的实现。 |
| sdk_src | SDK核心通信协议及服务代码 |
| tools | SDK配套的编译及代码生成脚本工具 |
## SDK 编译方式说明
C-SDK 支持三种编译方式:
- cmake 方式
- Makefile 方式
- 代码抽取方式
编译方式以及编译配置选项的详细说明请参考docs目录文档[C-SDK_Build编译环境及配置选项说明](https://github.com/tencentyun/qcloud-iot-explorer-sdk-embedded-c/blob/master/docs/C-SDK_Build%E7%BC%96%E8%AF%91%E7%8E%AF%E5%A2%83%E5%8F%8A%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%E8%AF%B4%E6%98%8E.md)
## SDK 快速体验
请参考docs目录文档 [IoT_Explorer开发平台快速入门](https://github.com/tencentyun/qcloud-iot-explorer-sdk-embedded-c/blob/master/docs/IoT_Explorer%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8.md)