目录
- 前言
- 1,fly-iot飞翔物联
- 2,mqtt-broker 服务
- 3, 管理后台产品/设备设计
- 4,数据存储目前使用mysql,消息存储到influxdb中
- 5,规则引擎使用 ekuiper
- 6, 总结和其他的想法
前言
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/129225780
fly-iot飞翔物联专栏:
https://blog.csdn.net/freewebsys/category_12219758.html
未经博主允许不得转载。
博主CSDN地址是:https://blog.csdn.net/freewebsys
博主掘金地址是:https://juejin.cn/user/585379920479288
博主知乎地址是:https://www.zhihu.com/people/freewebsystem
1,fly-iot飞翔物联
《开源飞翔物联网平台》系统设计。
关于飞翔物联网平台,项目使用golang进行开发。
使用ace jquery进行前端样式设计。并不是新创建一个物联网平台。
而是利用现有的技术组装成一个IOT物联网平台的解决方案。
项目代码采用apache协议开源。
有需要咨询和部署解决的需要收费。
使用docker进行部署,解决中小公司没有物联网平台的问题。
支持公有云,私有云部署。
项目技术栈,使用golang 1.9版本进行开发。
web端使用beego v2 进行开发管理平台。
前后端分离,前端使用vue+elementUI开发管理平台。
后台系统有登陆拦截,但是只有一个admin帐号。
可以设置帐号秘密,本身设备管理也只有少数的管理员进行管理即可。
B端设备管理平台。
万物皆可使用mqtt服务,还是非常的方便的。
后续打算使用mqtt做聊天工具的通知模块。
使用mqtt做docker的边缘镜像管理工具。做的事情很多。
可以开辟很多的方向。
2,mqtt-broker 服务
使用开源项目:
https://github.com/DrmagicE/gmqtt
一个golang开发,做mqtt的broker服务。
通过插件的方式解决做帐号登陆。做设备消息发送。
这个是一个非常不错的broker服务,已经有项目部署,已经在生产环境中验证。
服务运行的非常稳定,估计至少有成百过客户了。
https://github.com/DrmagicE/gmqtt/blob/master/README_ZH.md
3, 管理后台产品/设备设计
默认有一个产品型号,flyDevice,方便进行管理。
可以再创建其他的产品。生成三件套。
产品信息参考:
https://help.aliyun.com/document_detail/69123.htm
设备信息参考:
https://help.aliyun.com/document_detail/69470.html
设备的登陆验证,采用一型一密,一个型号放一个密码:
https://help.aliyun.com/document_detail/73742.htm
然后连接使用 websocket 进行通信,这样可以复用https 加密传输。
也可以解决部分场景,不能访问非80 443 端口的情况。
https://help.aliyun.com/document_detail/63656.html
4,数据存储目前使用mysql,消息存储到influxdb中
数据存储使用mysql,进行开发。因为基本上存储的就是产品,设备信息。
这些数据量并不大。
消息数据上报的量比较大,使用mysql的表分区,按月也可以存储下。
后续可以放到ElasticSearch上,可以放到TiDB,或者 influxdb 中。
https://www.influxdata.com/
https://github.com/influxdata/influxdb
5,规则引擎使用 ekuiper
https://github.com/lf-edge/ekuiper
使用LF Edge eKuiper 是一个轻量级的物联网数据分析和流处理引擎,运行在资源受限的边缘设备上。
也可以在服务端上使用。集成到IOT的系统中来。
6, 总结和其他的想法
有时间就做一点,慢慢的把系统和平台完善起来。
第一步支持使用docker-compose 快速部署。当然可以分开在服务器上进行部署。
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/129225780