目标
- 数据入库: 历史数据记录
- 家庭组: 设备与人或网关绑定,权限控制
- 消息订阅实时推送: 获取设备的最新状态
- 数据模板: 数据模板是一切的基础,规范化数据格式可以很方便的进行数据处理
- 设备控制: 设备不仅仅需要获取状态,也需要可以控制设备
- 低代码数据流转: 由于物联网的通用性,及使用者需要对设备的交互进行独特控制就需要有一些编程能力,这时候低代码就能很好的解决用户不会编程的缺点,同时大大提高了灵活性和拓展性
服务介绍
mqtt服务器
MQTT服务器负责提供mqtt服务
git地址:https://gitee.com/godLei6/hmq
- 目前使用开源的mqtt服务器hmq改造,提供mqtt,mqtts给client进行连接
- 通过grpc和dmsvr交互,进行设备登陆认证,订阅认证及发布认证
-
dmsvr
dmsvr是设备管理模块,是device manage的简称,负责提供设备管理交互的grpc模块
提供设备登陆认证,订阅认证
- 设备及产品的管理
- 设备发送消息的数据模板匹配及入库
- 设备交互,提供给其他服务控制设备的能力
- 数据入库:将模板后的数据入库并提供数据的查询能力
订阅实时转发:将其他服务订阅的消息实时转发到该服务,目前计划用redis的发布订阅来实现
usersvr
usersvr是负责用户管理的grpc模块,这个模块提供用户登录信息修改等基础功能,该模块将作为通用模块进行开发,不依赖其他物联网相关模块
用户注册:可以通过配置可以根据需要是否需要输入用户信息,是否需要绑定手机号等通用的注册方式
- 用户登录:可以实现手机短信登录,账密登录,微信,小程序等多种方式的登陆
- 用户管理:提供用户信息的修改,密码,用户名,等参数
- 第三方绑定:可以提供微信,支付宝,qq,邮箱,手机号等方式绑定账号
- 第三方服务:如微信推送,支付等能力
dcsvr
dcsvr 是设备交互模块,是device connect的缩写,提供设备与人的交互,设备与设备交互的能力,是设备与设备,设备与人交互的桥梁.依赖于usersvr和dmsvr所提供的能力整合的grpc模块.
- 低代码数据流转:通过gengine提供的低代码能力实现设备与设备,设备与人,设备与网关的交互能力
- 家庭组管理:提供用户绑定设备,创建家庭组,及管理家庭组中设备的能力
-
webapi
webapi是things中的http网关,负责提供负载均衡及与第三方模块交互,提供http接口给客户端访问
负责提供http接口将内部grpc服务的数据提供出去
- 负责提供图形验证码的生成及校验
- 负责短信验证码的接入
后台服务
后台服务是基于开源的gin-vue-admin开发的管理后台,提供产品设备的管理,及用户数据报表等功能.这个服务是需要实现腾讯云的物联网开发平台.
git地址:https://gitee.com/godLei6/gin-vue-admin
- 产品及设备的管理:可以创建及修改产品及设备信息
- 可以编辑及修改产品的数据模板
- 可以查看到设备的历史消息及实时交互消息
- 可以查阅到设备的在线状态
- 可以创建模拟设备进行调试
参考
腾讯云物联网开发平台:https://console.cloud.tencent.com/iotexplorer
gin-vue-admin:https://www.gin-vue-admin.com/
hmq:https://gitee.com/godLei6/hmq