涂鸦是什么?
涂鸦是全球化IoT开发平台,连接设备厂商和开发者,从硬件开发到软件开发都做了很多基础性的设施和流程,提供了很多便捷之处。作为开发者我们主要关心的是云平台开发这一块内容。
涂鸦云平台
硬件设备接入云平台后,作为开发者就无需关心设备的不同连接协议、以及不同的设备特性了。涂鸦云平台将其进行封装,并提供丰富的标准API,供开发者方便的进行使用。同时借助其全球的服务器节点、以及处理大量物联网设备的经验,会比设备直连更加稳定和快速。作为开发者我们只需要关心设备被添加到了涂鸦的平台上就可以进行业务开发了。
设备的控制
对于已连接到涂鸦云平台的设备,涂鸦提供了主流语言的SDK来进行实现设备的控制,全面覆盖设备配网、全屋管理、设备控制、场景自动化等业务场景。此类都是HTTP协议,并在官网提供了便捷的API调试工具,同时列出了所有的接口以及对应的文档,调试还是很方便的。
消息订阅
对于设备相关状态的变化,如设备的注册、数据上报、指令上报、设备离线等。涂鸦使用 Pulsar 主动推送给订阅者。
Pulsar 是一个支持多租户、高性能的服务器到服务器之间消息通讯的解决方案。Pulsar 最初由雅虎开发,现在由 Apache 软件基金会管理。涂鸦智能基于开源的 Pulsar 系统进行了定制改进的一个产品。
这里要注意一点的是,和我们熟悉的 MQTT 不同,涂鸦的 Pulsar 虽然也是发布订阅模式,但不支持 Topic 订阅,无法去区分不同的设备消息,以及有筛选的去接收指定上报的数据类型。
而且涂鸦使用的是失效备援(failover)订阅,允许多个消费者连接同时进行消息的订阅,但只有一个消费者能够接收消息。只有在当前消费者发生失效时,其他消费者才开始接收消息。
适用场景
对于已经接入了涂鸦的硬件来说,使用涂鸦来进行设备的管理和控制是很方便的,不用考虑开发过程中的一些基础设施的构建了,同时涂鸦也封装了设备连接和控制的通用接口,只需要专注在自己要完成的业务即可。但免费版本套餐,最多只能满足几十个设备的使用,如果有更多的设备或有接收设备信息订阅的需求,就只能考虑付费版了,最低的基础版收费是3w/年,需要考虑这个成本。
参考
云开发文档:https://developer.tuya.com/cn/docs/iot/introduction-to-tuya-iot-platform?id=Ka6vijvqb3uhn
Pulsar消息队列文档:https://developer.tuya.com/cn/docs/iot/message-service?id=K95zu0nzdw9cd