{"id":27861011,"url":"https://github.com/iot-thingscloud/luat-thingscloud-libs","last_synced_at":"2025-05-04T18:26:22.874Z","repository":{"id":174328926,"uuid":"446106511","full_name":"IoT-ThingsCloud/luat-thingscloud-libs","owner":"IoT-ThingsCloud","description":"这里是合宙模组 luat 方式接入 ThingsCloud 云平台的 lib 库，以及示例代码。","archived":false,"fork":false,"pushed_at":"2024-05-11T13:30:23.000Z","size":50,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-05-11T14:36:38.690Z","etag":null,"topics":["air720","air722","air724","air820","iot","luat","thingscloud"],"latest_commit_sha":null,"homepage":"https://www.thingscloud.xyz","language":"Lua","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":"2022-01-09T14:09:14.000Z","updated_at":"2024-05-11T13:30:26.000Z","dependencies_parsed_at":"2024-05-11T14:48:09.127Z","dependency_job_id":null,"html_url":"https://github.com/IoT-ThingsCloud/luat-thingscloud-libs","commit_stats":null,"previous_names":["iot-thingscloud/luat-thingscloud-libs"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fluat-thingscloud-libs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fluat-thingscloud-libs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fluat-thingscloud-libs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IoT-ThingsCloud%2Fluat-thingscloud-libs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IoT-ThingsCloud","download_url":"https://codeload.github.com/IoT-ThingsCloud/luat-thingscloud-libs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252379846,"owners_count":21738656,"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":["air720","air722","air724","air820","iot","luat","thingscloud"],"created_at":"2025-05-04T18:26:22.260Z","updated_at":"2025-05-04T18:26:22.864Z","avatar_url":"https://github.com/IoT-ThingsCloud.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"这里是合宙模组 luat 方式接入 [ThingsCloud](https://www.thingscloud.xyz/) 云平台的 lib 库，以及示例代码。\n\n支持 Air720UG/UH、Air724UG、Air722UG、Air820UG、Air795UG。\n\n## 实现功能\n\n该代码库面向对合宙luat开发框架有一定的掌握的硬件开发者。通过封装良好的 lib 库，5分钟即可将模组接入 ThingsCloud 云平台，实现以下功能：\n\n- 上报模组端的数据，例如各种串口外设传感器的数据，可定时上报。\n- 模组可实时接收云平台下发的数据，包括属性下发或命令下发。\n- 支持自定义Topic，需结合云平台设备类型的自定义数据流。\n- 支持一机一密身份验证，也支持一型一密，便于相同设备类型下的所有设备使用相同固件。\n- 支持一型一密自动注册新设备，便于量产设备不用预注册。\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\n所有接口都封装在 `thingsCloud.lua` 这一个文件中，只需将 `thingsCloud.lua` 复制到自己的工程项目中，或放置在主程序可以找到的通用库路径下。\n\n### 使用\n\n## 快速运行示例\n\n### examples/basic_connect\n\n使用 luatools 或 VSCode LuatIDE，将以下脚本文件烧录到模组。\n\n- `main.lua`\n- `testBasic.lua` \n- `thingsCloud.lua`\n\n`thingsCloud.lua` 是 lib 库文件，无需修改。\n\n`testBasic.lua` 是示例程序，展示了基本用法，只需修改以下部分即可运行。\n\n```lua\n-- 登录 ThingsCloud: https://console.thingscloud.xyz/\n-- 复制设备证书和MQTT接入点地址，在设备详情页的【连接】页面可以找到。请勿泄露设备证书。\n-- 以下请根据自己的项目修改为实际值\n--------------------------------------------------------//\n-- ProjectKey\nlocal projectKey = \"\"\n-- AccessToken\nlocal accessToken = \"\"\n-- MQTT 接入点，只需主机名部分。\nlocal mqttHost = \"\"\n--------------------------------------------------------//\n```\n\n在 ThingsCloud 云平台创建设备后，在设备详情页的【连接】页面可以找到证书和MQTT接入点，如下：\n\n![image](https://user-images.githubusercontent.com/97299260/148683169-b5ef8f41-0960-4298-8269-2b792179e8f2.png)\n\n固件成功烧录后，模组即可成功接入平台，定时上报数据。\n\n![image](https://user-images.githubusercontent.com/97299260/148683283-a25871b7-b7b7-4e88-9767-e863240aaa2c.png)\n\n设备详情页显示设备属性实时数据。\n\n![image](https://user-images.githubusercontent.com/97299260/148683057-797cc9dd-f7cd-4948-9b43-f03d944c0555.png)\n\n可查看数据历史。\n\n![image](https://user-images.githubusercontent.com/97299260/148683088-ae05c067-7700-4429-bed2-a8aef656518c.png)\n\n下发属性\n\n![image](https://user-images.githubusercontent.com/97299260/148683107-c6b0aff6-d5b1-4424-98cf-c4d7bdf3695f.png)\n\n下发命令\n\n![image](https://user-images.githubusercontent.com/97299260/148683123-487cdfc8-9615-42c7-a5b6-b18e936b94fc.png)\n\n### examples/fetch_certificate\n\n这是一型一密的示例程序，使用 luatools 或 VSCode LuatIDE，将以下脚本文件烧录到模组。\n\n- `main.lua`\n- `testBasic.lua` \n- `thingsCloud.lua`\n\n`thingsCloud.lua` 是 lib 库文件，无需修改。\n\n`testBasic.lua` 是示例程序，展示了基本用法，只需修改以下部分即可运行。\n\n```lua\n-- 登录 ThingsCloud: https://console.thingscloud.xyz/\n-- 复制设备证书和MQTT接入点地址，在设备详情页的【连接】页面可以找到。请勿泄露设备证书。\n-- 以下请根据自己的项目修改为实际值\n--------------------------------------------------------//\n-- ProjectKey\nlocal projectKey = \"\"\n-- MQTT 接入点，只需主机名部分。请根据自己的项目修改为实际值\nlocal mqttHost = \"\"\n-- API 接入点，用来请求设备证书。请根据自己的项目修改为实际值\nlocal apiEndpoint = \"\"\n--------------------------------------------------------//\n\n```\n\n设备启动后，会先使用模组的 IMEI 作为设备唯一标识 `DeviceKey` ，向云平台请求设备证书。\n\n- 需要先在云平台预注册设备，将IMEI填写到设备唯一标识中。\n- 如不希望预注册，而是当设备请求证书时自动创建设备，请使用下边的示例。\n\n\n### examples/fetch_certificate_auto_create\n\n这是在一型一密 `examples/fetch_certificate` 的基础上，支持自动创建设备。\n\n使用 luatools 或 VSCode LuatIDE，将以下脚本文件烧录到模组。\n\n- `main.lua`\n- `testBasic.lua` \n- `thingsCloud.lua`\n\n`thingsCloud.lua` 是 lib 库文件，无需修改。\n\n`testBasic.lua` 是示例程序，展示了基本用法，只需修改以下部分即可运行。\n\n```lua\n-- 登录 ThingsCloud: https://console.thingscloud.xyz/\n-- 复制设备证书和MQTT接入点地址，在设备详情页的【连接】页面可以找到。请勿泄露设备证书。\n-- 以下请根据自己的项目修改为实际值\n--------------------------------------------------------//\n-- ProjectKey\nlocal projectKey = \"\"\n-- TypeKey\nlocal typeKey = \"\"\n-- MQTT 接入点，只需主机名部分。请根据自己的项目修改为实际值\nlocal mqttHost = \"\"\n-- API 接入点，用来请求设备证书。请根据自己的项目修改为实际值\nlocal apiEndpoint = \"\"\n--------------------------------------------------------//\n\n```\n\n设备启动后，会先使用模组的 IMEI 作为设备唯一标识 `DeviceKey` ，向云平台请求设备证书。如果该设备不存在，则会自动创建新设备。\n\n- 需要先在 ThingsCloud 控制台中创建设备类型，拿到设备类型的 `TypeKey`，自动创建的设备将关联到该设备类型。\n- 同时还需要在设备类型的设置中，开启【允许自动创建新设备】。\n- 当然，还要确保项目中未达到设备数上限，如果超过，需要购买付费版扩容。\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%2Fluat-thingscloud-libs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiot-thingscloud%2Fluat-thingscloud-libs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiot-thingscloud%2Fluat-thingscloud-libs/lists"}