本发明涉及物联网智能设备设备激活,尤其涉及一种基于emq实现设备激活的方法及系统。
背景技术:
1、随着智能家居的发展,智能设备的使用也越来越普遍广泛,设备的智能化,与用户越来越密不可分。在用户使用智能设备过程中,用户的喜好倾向以及使用便利性尤为重要,可以通过对智能设备激活数据的统计,从侧面反应用户切实使用产品的情况,为市场策略提供帮助。当前智能设备激活主要通过接口的方式,设备联网后通过调用接口的方式完成设备注册激活,成功后app再进行绑定操作控制设备。
2、如现有技术,文件号cn202010254040.4,名称:智能设备的激活方法、智能设备、智能设备的激活系统。其公开了:所述智能设备向所述辅助设备发送激活请求信息;所述智能设备接收激活信息;其中,所述激活信息由所述辅助设备根据接收到的所述激活请求信息后向所述智能设备发送;所述智能设备与所述网络接入节点连接,并利用所述激活信息在所述服务器上登录/注册以完成激活。上述发明主要阐述的是利用辅助设备获取激活信息的方式,以及激活信息在所属服务器激活。对文件号cn201910365360.4,名称:一种激活/去激活配置的方法、网络设备及终端。其公开了:向终端发送用于指示激活/去激活多个传输配置的激活/去激活信息;其中,所述多个传输配置与所述激活/去激活信息的配置信息关联,或者,所述激活/去激活信息的第一字段用于指示激活/去激活所述多个传输配置之间相同的第一配置信息。上述发明解决了激活多个传输配置时,存在开销大和时延的问题。差异较大,不具有冲突性。
技术实现思路
1、本发明提供了一种基于emq实现设备激活的方法及系统,以解决背景技术中提到智能设备激活通过接口方式实现。本发明的目的在于,在设备联网后,无需调用云端接口而是在设备通信后,设备向云端上报状态的同时,静默的完成设备注册激活过程,减少接口调用,优化智能设备流程。
2、本发明采用的技术方案是:提供一种基于emq实现设备激活的方法,包括:
3、s1:智能设备联网后,向emq发布该智能设备的主题信息,所述主题信息包括设备信息以及设备上下线的状态信息;
4、s2:云服务器接收所述主题信息,同时将消息进行解析封装,然后以约定的主题kafka-topic通过kafka分发出去;云服务器接收kafka发出的消息,解析后获取所述智能设备的主题信息;
5、s3:获取所述智能设备上线状态以及登录情况,若状态为上线,但该智能设备在平台没有登录记录,则标识该智能设备激活。
6、进一步的,所述云服务器集成有mqtt以及kafka功能,部署有iot微服务、active微服务,emq是基于erlang/otp平台开发的mqtt消息服务器。
7、进一步的,所述s1包括:
8、s1.1:智能设备联网;iot微服务初始化emq配置,连接并订阅相关主题消息;active微服务初始化kafka服务,并订阅相关主题消息;
9、s1.2:智能设备联网后,连接emq服务器,连接成功后,智能设备能与emq进行消息通信;
10、s1.3:智能设备向emq发布emq-topic消息,消息中包含设备信息以及设备上下线的状态信息。
11、进一步的,所述s2包括:
12、s2.1:iot微服务接收到从emq服务器订阅的消息,同时将消息进行解析封装,然后以约定的主题kafka-topic通过kafka分发出去;
13、s2.2:active微服务监听kafka订阅服务,接收消息,然后对消息进行处理;
14、s2.3:active微服务接收消息后,将封装的消息体进行解析,获取设备信息及设备的上下线状态信息。
15、进一步的,所述s3包括:
16、当获取智能设备的在线状态为上线状态时,继续对该设备在平台登录情况进行验证,当redis缓存中包含此设备时,表示该设备已经登记;反之,标识该设备激活。
17、进一步的,所述s3之后还包括:
18、s4:判定智能设备激活后,将设备信息存入mysql数据库,同时将信息同步到redis数据库,以用于业务处理。
19、本发明还提供一种基于emq实现设备激活的系统,包括:智能设备、mysql数据库模块、redis数据库模块以及云服务器,所述云服务器集成有mqtt以及kafka功能,部署有iot微服务、active微服务,emq是基于erlang/otp平台开发的mqtt消息服务器;所述系统通过如下方法实现设备激活:
20、智能设备联网,iot微服务初始化emq配置,连接并订阅相关主题消息;active微服务初始化kafka服务,并订阅相关主题消息;
21、智能设备联网后,连接emq服务器,连接成功后,智能设备能与emq进行消息通信;
22、智能设备向emq发布emq-topic消息,消息中包含设备信息以及设备上下线的状态信息;
23、iot微服务接收到从emq服务器订阅的消息,同时将消息进行解析封装,然后以约定的主题kafka-topic通过kafka分发出去;
24、active微服务监听kafka订阅服务,接收消息,然后对消息进行处理;
25、active微服务接收消息后,将封装的消息体进行解析,获取设备信息及设备的上下线状态;
26、当获取智能设备的在线状态为上线状态时,继续对该设备在平台登录情况进行验证,当redis缓存中包含此设备时,表示该设备已经登记;反之,标识该设备激活;
27、判定设备激活后,将设备信息存入mysql数据库,同时将信息同步到redis数据库,以用于业务处理。
28、本发明的有益效果是:本发明在智能设备联网后,无需调用云端接口而是在智能设备通信后,智能设备向云端上报状态的同时,静默的完成设备注册激活过程,减少接口调用,优化智能设备流程。
1.一种基于emq实现设备激活的方法,其特征在于,包括:
2.根据权利要求1所述的基于emq实现设备激活的方法,其特征在于,所述云服务器集成有mqtt以及kafka功能,部署有iot微服务、active微服务,emq是基于erlang/otp平台开发的mqtt消息服务器。
3.根据权利要求2所述的基于emq实现设备激活的方法,其特征在于,所述s1包括:
4.根据权利要求3所述的基于emq实现设备激活的方法,其特征在于,所述s2包括:
5.根据权利要求4所述的基于emq实现设备激活的方法,其特征在于,所述s3包括:
6.根据权利要求5所述的基于emq实现设备激活的方法,其特征在于,所述s3之后还包括:
7.一种基于emq实现设备激活的系统,其特征在于,包括:智能设备、mysql数据库模块、redis数据库模块以及云服务器,所述云服务器集成有mqtt以及kafka功能,部署有iot微服务、active微服务,emq是基于erlang/otp平台开发的mqtt消息服务器;所述系统通过如下方法实现设备激活: