{"id":27861015,"url":"https://github.com/iot-thingscloud/thingscloud-esp-sdk","last_synced_at":"2025-05-04T18:26:24.059Z","repository":{"id":65311032,"uuid":"587309642","full_name":"IoT-ThingsCloud/thingscloud-esp-sdk","owner":"IoT-ThingsCloud","description":"ThingsCloud IoT Platform WiFi and MQTT client library for ESP8266/ESP32 based boards using arduino framework.","archived":false,"fork":false,"pushed_at":"2024-05-13T15:02:19.000Z","size":135,"stargazers_count":19,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-05-13T16:28:48.521Z","etag":null,"topics":["arduino","esp32","esp8266","platformio","thingscloud"],"latest_commit_sha":null,"homepage":"https://www.thingscloud.xyz/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IoT-ThingsCloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-10T13:06:12.000Z","updated_at":"2024-05-13T16:28:50.672Z","dependencies_parsed_at":"2024-03-18T13:49:29.831Z","dependency_job_id":"5075fe23-66ae-4d54-b1ae-b26b0537ca46","html_url":"https://github.com/IoT-ThingsCloud/thingscloud-esp-sdk","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fthingscloud-esp-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fthingscloud-esp-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fthingscloud-esp-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fthingscloud-esp-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IoT-ThingsCloud","download_url":"https://codeload.github.com/IoT-ThingsCloud/thingscloud-esp-sdk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252379850,"owners_count":21738657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp32","esp8266","platformio","thingscloud"],"created_at":"2025-05-04T18:26:23.476Z","updated_at":"2025-05-04T18:26:24.047Z","avatar_url":"https://github.com/IoT-ThingsCloud.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# thingscloud-esp-sdk\nThingsCloud IoT Platform WiFi and MQTT client library for ESP8266/ESP32 based boards using arduino platform.\n\nThingsCloud 推出了基于 ESP32/ESP8266 Arduino 的 SDK，方便智能硬件厂商和开发者快速将设备接入 ThingsCloud 云平台并生成物联网应用，完成物联网方案的快速落地。\n\n## SDK 支持特性\n\n- WiFi 基本连接，指定 WiFi SSID/Password，连接到固定 AP。\n- WiFi 配网，可使用 ThingsX iOS/Android App，为模组快速配置 WiFi 连接信息。适合多设备的量产。\n- MQTT 一机一密，为每个模组烧录独立的证书。\n- MQTT 一型一密，为所有模组烧录相同的固件，每个模组自动获取证书。适合多设备的量产。\n- 支持 ThingsCloud MQTT 接入协议，几行代码就可以实现设备和云平台的双向数据实时传输，包括属性上报和下发、事件上报、命令接收、自定义数据流等。\n- 固件 OTA 升级，结合 ThingsCloud 的 OTA 版本管理功能。\n\n\n## 安装 SDK\n\n[ThingsCloud ESP32/ESP8266 Arduino SDK](https://www.thingscloud.xyz/docs/tutorials/connect-device/esp32-arduino-sdk.html)\n\n支持通过以下方式安装：\n\n### **PlatformIO**\n\n使用 VSCode + PlatformIO 开发方式，可以直接在 PlatformIO Library 中搜索并添加到项目中。\n\n![articles/2022/20230110235709_ae88b059b93a179e98945a207f6576f9.png](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2022/20230110235709_ae88b059b93a179e98945a207f6576f9.png)\n\n### **Arduino**\n\n#### 方法1. 通过 Arduino 库管理器安装（推荐）\n\n进入 Arduino 菜单的 `工具 \u003e 管理库`，搜索 `ThingsCloud`，选择最新版本，点击安装。有版本更新时，需要在这里点击更新。\n\n![articles/2023/20230112114700_f7bb8f38867201e9301b4450e31b65e0.png](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2023/20230112114700_f7bb8f38867201e9301b4450e31b65e0.png)\n\n#### 方法2. 手动安装\n\n下载代码仓库最新的 release 压缩包，解压缩后，将整个目录放置在 `Arduino\\libraries` 中。\n\n\n## 安装其它依赖\n\nSDK 正常运行需要以下依赖库：\n\n- [MQTT PubSub Client](https://github.com/knolleary/pubsubclient)\n- [ArduinoJSON](https://github.com/bblanchon/ArduinoJson)\n\n如使用 PlatformIO IDE，依赖库将自动安装。如使用 Arduino IDE，需要单独安装这些依赖库，方法同上。\n\n## ThingsCloud 准备工作\n\n- [快速上手控制台](https://www.thingscloud.xyz/docs/guide/quickstart/signin-console.html)\n- [如何获得设备证书？](https://www.thingscloud.xyz/docs/guide/connect-device/device-certificate.html)\n- [ThingsCloud MQTT 接入文档](https://docs.thingscloud.xyz/guide/connect-device/mqtt.html)\n\n\n## 示例\n\n如使用 Arduino IDE，可在 `文件 \u003e 示例` 中，直接打开以下示例代码。\n\n### 01.WiFi_Basic\n\n普通 WiFi 连接方式，指定 WiFi SSID 和密码。\n\n- mqtt_connect_with_access_token：每个设备使用自己的 AccessToken 连接 ThingsCloud\n- mqtt_connect_with_device_key：每个设备使用 DeviceKey 请求 AccessToken，连接 ThingsCloud\n- mqtt_connect_with_device_key_auto_create_device：每个设备使用 DeviceKey 请求 AccessToken，连接 ThingsCloud。如果 DeviceKey 的设备不存在，支持自动创建设备。\n- mqtt_connect_with_auto_device_key：每个设备自动生成唯一的 DeviceKey，请求 AccessToken，连接 ThingsCloud。\n\n### 02.WiFi_Provisioning_AP_Mode\n\n不需要指定 WiFi SSID 和密码，用户通过 ThingsX App 完成 WiFi 配网。\n\n- wifi_provisioning_cliam_device：WiFi 配网模式的示例，用户完成配网后领取设备。\n- wifi_provisioning_reset：通过长按按键重置配网的示例。\n\n### 03.MQTT_Communicate\n\n设备 MQTT 通信示例。\n\n- mqtt_attributes：设备上报设备属性、接收云平台下发属性、读取云平台的设备属性。\n- mqtt_report_event：设备上报事件的示例。\n- mqtt_recv_command：设备接收云平台下发命令的示例。\n\n### 10.IoT_Tutorials\n\n应用示例。\n\n- dht_sensor：dht11/21/22 温湿度传感器上报数据。[ESP32 + DHT11/DHT22 温湿度传感器接入 ThingsCloud](https://www.thingscloud.xyz/docs/tutorials/connect-device/esp32-arduino-dht11-sensor.html)\n- relay_control：ThingsCloud 下发控制继电器。[ESP32 + 继电器模块接入 ThingsCloud](https://www.thingscloud.xyz/docs/tutorials/connect-device/esp32-arduino-relay-control.html)\n- dtu_uart_stream：实现透传 DTU，主控 MCU 可通过 UART 和 ESP32 UART1 通信，云平台设备使用自定义数据流，支持二进制、文本、JSON，可通过规则引擎和设备属性进行互转。支持 WiFi 配网。\n- dtu_uart_json：实现透传 DTU，主控 MCU 可通过 UART 和 ESP32 UART1 通信，上下行数据使用 JSON 格式，实现设备属性上报和属性下发。支持 WiFi 配网。\n- command_ota：使用 ThingsCloud OTA，实现 ESP32 固件升级。\n\n更多示例代码即将推出……\n\n\n## 关于 ThingsCloud\n\nThingsCloud 是物联网设备统一接入平台和低代码应用开发平台。可以帮助任何需要数字化改造的行业客户，在极短的时间内搭建物联网应用，并适应不断变化的发展需求。ThingsCloud 支持智能传感器、执行器、控制器、智能硬件等设备接入，支持 MQTT/HTTP/TCP/Modbus/LoRa/Zigbee/WiFi/BLE 等通信协议，实现数据采集、分析、监控，还可以灵活配置各种规则，生成项目应用 SaaS 和用户应用 App，这一切无需任何云端代码开发。\n\n- 官网：https://www.thingscloud.xyz/\n- 控制台：https://console.thingscloud.xyz/\n- 教程：https://docs.thingscloud.xyz/tutorials/\n- 使用文档：https://docs.thingscloud.xyz\n- 设备接入：https://docs.thingscloud.xyz/guide/connect-device/\n- 博客：https://www.thingscloud.xyz/blog/\n- B站：https://space.bilibili.com/1953347444\n\n\n![articles/2023/20230112114634_afd61232cd029fca77eaebe67e12beaf.png](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2023/20230112114634_afd61232cd029fca77eaebe67e12beaf.png)\n\n![](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2023/20230303162529_7d47018b2466053ef3af13dcfd23b703.png)\n\n![](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2023/20230303194054_fe9320028f7b499a18893b7a0d25b3c7.png)\n\n![](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2023/20230303163508_4b2e3b2052e282bcf2e36143fe90d101.png)\n\n![](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2023/20230303164617_c0f98e1ae66b5987aba3408faf86ac1d.png)\n\n![](https://img-1300291923.cos.ap-beijing.myqcloud.com/articles/2023/20230303163103_40fe1d013e8d1d665bdd3cd0ae42adc0.png)\n\n### 技术支持\n\n联系 ThingsCloud 技术支持\n\n![](https://img-1300291923.cos.ap-beijing.myqcloud.com/service/support-qrcode-wlww-1208.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiot-thingscloud%2Fthingscloud-esp-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiot-thingscloud%2Fthingscloud-esp-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiot-thingscloud%2Fthingscloud-esp-sdk/lists"}