• 正文
  • 相关推荐
申请入驻 产业图谱

基于ThingsCloud事物云平台完成物联网开发实现:硬件上云、微信小程序设计、手机APP设计

05/02 09:55
7145
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

ThingsCloud云平台与微信小程序设计

本文主要是介绍ThingsCloud云平台的搭建及微信小程序与app的使用。

当前文章是作为一个通用案例,介绍如何快速使用 ThingsCloud云平台 以及 利用 ThingsCloud云平台平台的框架快速设计手机APP和微信小程序。 可以快速让硬件接入,实现硬件上云,完成物联网项目的开发。

之前写了很多文章,关于阿里云腾讯OneNet华为云IOT教程等等。 这些云平台之间都可以任意替换,他们都支持标准的MQTT协议,硬件设备都可以接入任何的云平台。只需要改MQTT参数以及上传的JSON格式即可

如果你之前使用的其他云:阿里云腾讯云OneNet华为云IOT?想接入ThingsCloud云平台?只需要照着之前云平台里创建的属性在ThingsCloud云平台?重新创建一遍即可, 本身大同小异,没有多大的区别。

这篇文章以智能饮水机为例,讲解如何给智能饮水机项目设计一个 微信小程序,让硬件上云。

硬件的功能:

1.1 ThingsCloud平台介绍

官网:https://www.thingscloud.xyz/

ThingsCloud 是一个专注于?物联网(IoT)设备连接、管理和应用开发?的一站式平台,旨在帮助企业快速构建和部署物联网解决方案。


(1)核心功能

1.设备接入与管理

      • ? 支持多种协议(MQTT、HTTP、CoAP等),兼容不同品牌和类型的物联网设备。? 提供设备生命周期管理(注册、配置、监控、OTA升级等)。? 跨厂商设备统一接入,降低异构系统整合难度。

2.?数据采集与处理

      • ? 实时采集设备数据(如传感器数据、状态信息)。? 内置规则引擎,支持数据过滤、转换、报警触发等。? 可对接第三方云服务或本地数据库(如MySQL、InfluxDB)。

3.?可视化与监控

      • ? 拖拽式仪表盘,自定义数据看板(如图表、地图、控件)。? 实时监控设备状态,异常告警通过邮件/短信/Webhook通知。

4.?低代码开发

      • ? 提供APISDK,支持快速开发物联网应用。? 可集成企业现有系统(如ERP、CRM)或构建新业务逻辑。

5.?安全与权限

    • ? 设备认证(证书、密钥)、数据加密(TLS/SSL)。? 多租户支持,细粒度权限控制(用户、角色、项目)。

(2)典型应用场景

??工业物联网(IIoT):设备远程监控、预测性维护。

??智能家居/楼宇:集中管理照明、安防、能耗设备。

??智慧农业:环境传感器数据采集与自动化控制。

??能源管理:实时监测电力、水、燃气等消耗。


(3)优势特点

开箱即用:减少底层开发,聚焦业务场景。

弹性扩展:支持海量设备接入和高并发数据处理。

成本优化:按需付费模式,降低中小型企业部署门槛。

开放生态:与主流云服务(AWS、阿里云)及硬件兼容。

ThingsCloud 平台的资源模型通常采用分层架构设计,涵盖设备、数据、应用等核心要素。以下是其资源模型的?图形化表示?及分层说明:


资源模型图

接入

设备ID/证书

采集

转发

触发动作

物理设备ThingsCloud 平台核心资源层设备管理数据管道规则引擎设备1..N时序数据库外部系统告警/自动化应用层可视化仪表盘API/SDK第三方集成

1.2 登录云平台

(1)注册账户

官网:https://www.thingscloud.xyz/

进来用邮箱注册,并在对应的邮箱中点击激活账号。

地址:https://console.thingscloud.xyz/signup

注册之后需到对应的邮箱中激活账号。

(2)登录控制台

1.3 产品开发

产品开发主要步骤为:创建项目--创建设备--创建设备类型--添加关联设备--添加设备功能。

下面依次进行。

(1)创建项目

免费版

    • ?包含较少的设备数和消息量,以及部分高级功能的限制,但完全不影响您对物联网平台基本功能的评估和体验,以及硬件原型的开发,或少量设备的个人使用。

一个用户账号下只可以创建一个免费版项目

此处注意留意自己的选区,后面只有选择对应的区才能看到所创的项目。

(2)项目创建完成

(3)创建设备

在 ThingsCloud 中,设备代表了您的物理设备在云平台对应的一个实体,这个物理设备可以是一个光照传感器智能开关,也可以是一个智能水表或网关。 创建设备非常简单,只需要给设备起一个名称即可。当然随后您也可以修改设备名称,或者使用 API 批量给设备更新名称。

目前免费版的只能创建3个设备,每日发消息量1000条,用户数为3个。

所有设备--创建设备。

根据自己产品信息填写:

(4)设备创建完成

创建完成。

(5)创建设备类型

(6)设备类型创建成功

(7)添加设备

(8)选择设备

添加自己之前创建的设备

(9)关联设备添加成功

1.4 添加功能

文档介绍:https://www.thingscloud.xyz/docs/guide/device-type/function-define.html

功能定义是通过建立一套模型,来描述不同设备的能力,包括设备的属性、事件和命令,从而为设备接入和应用开发建立一套成熟的规范。功能定义对设备类型中的所有设备都有效。功能定义更像是给设备定义了一个类,其中约定了有哪些成员变量,以及变量的数据类型,另外还约定了一些特殊的方法。

属性一般是设备自身具备的某种状态,比如温度值、开关状态、配置参数。 属性可以由设备上报到云平台,或从云平台下发到设备。云平台会自动保存属性的当前值和历史值。

可通过添加标准功能,也可以通过添加属性编辑功能定义。

属性名称:给属性起一个简洁、明确且具有描述性的名称,支持中文。属性名称不出现在属性消息中。在一些设备面板界面的属性当前值和时序图表中,属性名称会自动代替属性标识符,便于浏览。示例:温度、土壤湿度

属性标识符:只能包含:英文大小写字母、数字、下划线、横线。如发布主题消息用json格式,必须与属性字段名一致。示例:temperature

属性类型:用来定义属性在物理设备和云平台之间的流动方向,使得设备和云平台的通信更加规范化。通过对属性定义属性类型,云平台会自动检查属性消息是否符合定义,并过滤掉不符合定义的属性消息。示例:设备上报,设备云端共享

数据类型:云平台会自动验证属性的数据类型是否合法,对于不符合数据类型或不在设定范围内的情况,会自动忽略处理。示例:数值,布尔

(1)明确项目所有属性

该项目用到的所有属性:

属性名称 属性标识符 属性类型 数据类型 扩展选项
出水量 angle 设备云端共享 数值 数值范围:100-1000 初始值:100 步长:10 单位:ml
剩余水量 water_level 设备上报 数值 数值范围:0-100 初始值:0 步长:1 单位:%
水温 DS18B20 设备上报 数值 数值范围:0-100 初始值:0 步长:1 单位:℃
水温设置 DS18B20_MAX 设备云端共享 数值 数值范围:0-100 初始值:0 步长:1 单位:℃
水质质量 water_data 设备上报 数值 数值范围:0-100 初始值:0 步长:1 单位:%
出水控制 water_ctrl 设备云端共享 Switch (开关量) 0 - 关 1 - 开
自动模式 mode 设备云端共享 Switch (开关量) 0 - 手动模式 1 - 自动模式
加热控制 heat 设备云端共享 Switch (开关量) 0 - 关 1 - 开
水源过滤 water_filter 设备云端共享 Switch (开关量) 0 - 关 1 - 开

(2)添加出水量

可用添加标准功能,也可以通过添加属性增加。

点击确定之后,可在属性下方看到添加的标准功能。

(3)添加剩余水量

添加成功

(4)添加水温

添加成功。

(5)添加水温设置

添加成功。

(6)添加水质质量

添加成功。

(7)添加出水控制

添加成功。

(8)添加自动模式

添加完成。

(9)添加加热控制

添加完成。

(10)添加水源过滤

添加完成。

根据项目实际添加功能完成。

1.5 设备登录

(1)MQTT协议

MQTT 全称是 Message Queuing Telemetry Transport,它是一种基于消息队列的轻量级应用层通信协议,实现了消息发布和订阅。设备可以作为客户端的形式通过它来发布和接收消息,实现数据上报和实时控制。

MQTT 是一种简单的消息传递协议,设计用于具有低带宽的受限设备。因此,它是物联网设备接入的完美解决方案。

当前设备是采用MQTT协议与ThingsCloud服务器进行通信。

MQTT物联网套件产品架构如下图所示:

(2)查看设备证书与MQTT接入点信息

所有设备--设备--连接

点击连接

接入地址说明:https://www.thingscloud.xyz/docs/guide/connect-device/mqtt.html

在帮助文档页面,介绍了MQTT接入的地址和端口号。 当前设备是单片机,端口采用1883非加密端口。

(3)身份认证总结

MQTT主机:sh-3-mqtt.iot-api.com
固定的端口号:?1883
username: AccessToken ? ??//点击以上的复制然后粘贴出来
password: ProjectKey ? ??//点击以上的复制然后粘贴出来
clientId: ? ? ? ? ? ? ? ? ?//空或任意 ? ?不对 clientId 做任何限制,可随意填写。

需要注意的是,ThingsCloud 对同一个设备身份信息只支持一个 MQTT 连接,也就是说,如果在两个或多个物理设备中,使用同样的 username/password 身份信息连接平台,即便 clientId 使用不同的字符串,平台仍然将这些连接视为同一个设备,这会导致后一个设备连接成功后会顶掉之前的设备连接。

(4)主题订阅

主题订阅是设备订阅平台的消息,如果设备想知道平台下发的消息,就需要订阅主题。

帮助文档: https://www.thingscloud.xyz/docs/guide/connect-device/mqtt.html

需要订阅什么数据,设备端按照下面的主题格式填写订阅即可。

在设备端订阅如下主题

attributes/push

(5)发布主题

发布主题: 就是设备向平台上传数据。

帮助文档地址:https://www.thingscloud.xyz/docs/guide/connect-device/mqtt.html#mqtt-%E4%B8%BB%E9%A2%98%E4%B8%80%E8%A7%88

文档里介绍了数据点上传的格式:

设备上报属性值

attributes

根据当前设备,总结的消息格式如下:

发布主题: attributes
发布消息:
{"angle":?110,"water_level":?34,"DS18B20":?60,"DS18B20_MAX":?80,"water_data":?60,"water_ctrl":?0,"mode":?0,"heat":?0,"water_filter":?0}//这里的属性字段就是自己之前填写的属性标识符?

特别要注意开关状态的值如果标明用true和false,必须用true和false,而不能用1或0,而反之可以,

再者值必须与之前设置的范围一致,否则消息会上报失败。

数据点是标准的JSON结构:

?{
??"angle":?110, ? ? ? ? ?
??"water_level":?34, ? ? ? ? ??
??"DS18B20":?60, ? ??
??"DS18B20_MAX":?80, ? ? ? ? ? ? ? ?
??"water_data":?60, ? ? ? ? ?
??"water_ctrl":?0, ? ? ? ? ?
??"mode":?0, ? ? ? ??
??"heat":?0, ? ? ? ? ?
??"water_filter":?0
}

(6)MQTT登录参数总结

MQTT协议登录时,需要输入4个参数: MQTT-主机,MQTT-端口,MQTT-用户名,MQTT-密码。

MQTT 主机:sh-3-mqtt.iot-api.com
MQTT 端口:1883
MQTT客户端ID:为空即可
Username:wwdhfp9pqzvwfgc9
Password:****** ??//此处作打码处理
? ??
订阅主题: ?attributes/push

发布主题:attributes

发布消息:
{"angle":110,"water_level":34,"DS18B20":?60,"DS18B20_MAX":?80,"water_data":?60,"water_ctrl":?0,"mode":?1,"heat":?0,"water_filter":?0}

(7)MQTT工具登录测试

前面已经介绍了MQTT协议登录需要用到的参数,以及订阅主题、发布主题的格式,接下来我们通过MQTT工具模拟设备登录ThingsCloud平台,完成数据交互测试。

简单来说: 就是用软件来模拟实际的硬件,登录ThingsCloud平台,上传数据,走一下这个流程。

接下来根据软件的输入框提示,输入对应的参数,然后登录设备,订阅主题,发布主题即可完成一个流程的测试。

(8)登录控制台查看设备

在设备列表页面,可以看到设备已经在线了。

在设备的当前属性页面可以看到上传的数据。

1.6 创建应用

(1)创建用户应用

(2)创建通用版

(3)用户应用创建成功

(4)保存APPID

AppID:76548517

1.7 配置应用UI

设备--设备类型-点击已创建的设备--应用配置--打开编辑器

(1)打开应用配置

(2)打开编辑器

进入编辑器界面,根据自己喜好添加

(3)添加组件

(4)选择属性

可同时选择单个或多个属性

(5)选择水温、水质质量、剩余水量设置属性

添加成功。

右边设置属性。

(6)添加出水量、水温设置组件

选择属性

根据情况设置属性。

(7)添加开关控制组件

根据自己喜好,点击设置属性修改。

修改成功。

(8)点击样式编辑修改样式

(9)UI界面设计完成

根据自己的喜好修改样式编辑后保存。

1.8 创建用户

(1)创建新用户

应用---用户--新建用户

(2)用户创建成功

保存一下登录名及密码

后面登录查看app需使用。

(3)用户名及密码

用户名:DS **** ??
密码:**** ? //账号密码为登录app及小程序的凭证,故隐藏。

(4)关联设备

应用---用户---点击用户名称

添加关联设备

(5)用户关联设备添加成功

1.9 微信小程序及手机app调试

(1)搜索微信小程序ThingsX

(2)登录小程序

账号、密码为1.8章节创建的用户名与设置的密码,APPID为1.6章节创建应用时保存的APPID.

(3)查看对应设备

当前设备为离线状态,所显示数据为历史数据。

(4)MQTT调试助手调试

(5)查看控制台

(6)查看微信小程序

现在已经能实时看到MQTT调试助手模拟上传的数据。

至此,微信小程序搭建完成。

(7)使用ThingsX app

文档介绍地址:https://www.thingscloud.xyz/docs/guide/customer-app/common-app.html#下载-android-app

安卓与苹果app下载地址:https://www.thingscloud.xyz/app/thingsx

拷贝到手机安装-登录

查看app界面

手机app与微信小程序的使用不一样,不再复述。

后续也可以根据自己的实际需要修改云平台以及UI界面,微信小程序与app会同步修改。

相关推荐