【fly-iot飞凡物联】(2):如何从0打造自己的物联网平台,使用开源的技术栈搭建一个高性能的物联网平台,目前在设计阶段。

前言


本文的原文连接是:
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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/freewebsys/article/details/129225780