物联网云平台远程控制源码,响应式布局,MQTT协议 Spring Boot

物联网云平台远程控制源码,响应式布局,MQTT协议 Spring Boot,第1张

使用Java语言;数据库:Mysql;经典技术组合(MQTT、Spring Boot、Shiro、MyBatis、Druid、Ehcache、Thymeleaf、Bootstrap、Swagger)开发,支持多数据源,支持代码一键生成。


功能模块:

设备管理、开关管理、计划管理、传感器管理、传感器数据展示、报警规则管理、设备日志、用户管理、角色管理、部门管理、岗位管理、菜单管理、字典管理、参数管理、通知公告、 *** 作日志、登录日志、在线用户、定时任务、代码生成、系统接口、服务监控、缓存监控、在线构建器、连接池监视等。

功能特点:

1、硬件使用 ESP8266,基于MQTT协议,自建物联网云平台。

2、支持云固件升级、设备远程重启。

3、支持音频播放、开关、普通灯、调色灯等各种用电设备控制。

4、单个模块可控制8路用电设备开关,可对模块信息、开关信息、计划任务、报警规则等维护管理。

5、云平台可对各类传感器管理,对传感器数据有多种展示方式。可设置阈值报警规则,符合报警规则的可执行自定义的动作。

6、模块具有一键配网功能,变更网络时无需重新烧写程序,方便快捷。

7、控制端可使用任意网络(2G/3G/4G/5G/WiFi/等)控制灯、热水器、电视、电机、窗帘、监控等各种用电设备,不受任何地区限制。

8、可云端存储模块各路开关状态,模块断电或重启后可自动同步云端模块各路开关状态,具有开关状态记录功能。

9、可记录设备所有 *** 作记录,模块、用户上下线记录等,并具有多种类型的数据统计展示。

10、控制设备命令下达后有状态反馈,可确保设备控制命令执行成功,且延时低。

11、具有心跳检测功能,模块掉线或模块重启后模块可自动重连MQTT服务,具有模块上下线提醒功能(平台消息提醒、邮件提醒)。

12、具有定时功能,可指定某一时刻执行、周期执行、延时执行、自定义Cron表达式执行等 *** 作。

13、可多模块接入云平台,可统一管理、控制模块各路设备开关。

14、云平台可对所有用户管理,每个用户可配置不同角色、不同权限,具有权限分配功能。

15、前端采用完全响应式布局,支持电脑、平板、手机等所有主流设备。

17、具有代码一键生成功能(包括控制器、模型、视图、菜单等),方便快速开发。

18、支持多数据源,简单配置即可实现切换。

19、支持菜单、按钮及数据权限分配,亦可自定义数据权限。

20、具有完善的XSS防范及脚本过滤,彻底杜绝XSS攻击。

21、Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。

22、支持服务监控、数据监控、缓存监控等功能。

手机软件商店下载天猫精灵。
天猫精灵的配网十分简单,先下载天猫精灵APP并注册登录,然后根据APP提示步骤 *** 作即可。
天猫精灵语音管家是基于阿里达摩院人工智能算法,阿里云大数据及物联网平台,结合阿里商业生态及产品生态研发的天猫精灵系列产品。

1、专业术语

AP(Access Point): 无线接入点,是一个无线网络的创建者,是网络的中心节点。简单来讲就像是无线路由器一样,设备打开后进入AP模式,在手机的网络列表里面,可以搜索到类似TPLink_XXX的名字。

STA(Station): 任何一个接入无线的设备都可以成为一个站点,也就是平时接入路由器的设备。

SSID(Service Set Identifer): 每个无线AP都应该有一个标示用于用户识别,SSID就是这个用于用户标识的名字,也就是我们经常说到的wifi名。

BSSID(Service Set Identifer): 每一个网络设备都有其用于识别的物理地址,称作MAC地址,一般情况下出厂会有一个默认值,可更改,也有其固定的命名格式,也是设备识别的标识符。BSSID是针对设备说的,对于STA的设备来说,拿到AP接入点的 MAC地址 就是这个BSSID

ESSID(Service Set Identifer): 是一个比较抽象的概念,它实际上就和SSID相同(本质也是一串字符),只是能如果有好几个无线路由器都叫这个名字,那么我们就相当于把这个SSID扩大了,所以这几个无线路由器共同的这个名字就叫ESSID。

举个例子,如果在一台路由器上释放的WiFi信号叫某个名字如"Feng",这个名字“Feng”就成为SSID;如果在好几个路由器上都释放了这个WIFI信号,那么大家都叫“Feng”,这个时候大家都遵循的这个名字就是ESSID。

总结一下:

BSSID就是具体的某个连锁店编号或地址

SSID就是连锁店的名字或照片

ESSID就是连锁店的总公司或招牌或品牌

然后一般SSID和ESSID都是相同的

2、配网两大技术

物联网时代技术开始规模化服务民众,方便快捷显得尤为重要,WIFI直连便是一个典型案例。目前主流的WIFI配置模式有以下两种:

21、AP配网

设备热点配网,智能硬件处于AP模式(类似路由器,组成局域网),手机用于STA模式

手机连接到处于AP模式的智能硬件后组成局域网,手机发送需要连接路由的ssid和pwd以及自定义的一些信息至智能硬件,智能硬件接收后,找到对应的路由器主动去连接路由器,完成配网。

22、一键(smartConfig)配网

又叫智能配网、快速配网、简单配网。智能硬件处于混杂模式下,监听网络中的所有报文,抓取空口包。手机APP按照一定的协议格式将ssid和pwd及自定义的一些信息编码,以UDP报文格式通过广播包或组播包发送,智能硬件接收到UDP报文后解码,得到正确的ssid和pwd及自定义信息,然后找到对应的路由器主动去连接路由器,完成配网。

23、优劣势对比

231、smartConfig

优势:

相对于AP配网, 简单易 *** 作 ,更加贴近市场

相对于AP配网, 能明确的知道硬件设备端是否连接了路由器 。可以通过设备端连接路由器后告知APP端已经连接路由器你可以停止发送广播包了。

劣势:

smartConfig需要路由器的参与,需要考虑到 路由器的兼容性 问题,所以配网成功率有所限制,比如路由器的信道,bgn模式(速率)、品牌、以及24G/5G、24G/5G同名路由器、同一场景下多个wifi同名等等的一系列兼容性问题。因为不管是组播还是广播方式,都是一种UDP报文,需要靠路由器转发,设备端监听空口包。

232、AP配网

优势:

AP配网是局域网直连模式,这种配网没你有路由器参与,所以没有路由器兼容性问题,所以 配网成功率相比一键配网要高 ,目前国内智能设备生态链做的最好的企业也是一直沿用AP配网方式,配网成功率相对市场同类产品要高一些。

劣势:

AP配网 相对复杂,需要涉及到手机的兼容性、还需要手动切换WIFI ,如需要手机先连接上设备的AP热点,用户需要先进入WIFI列表页面然后手动切换到设备的AP热点,连接成功 *** 作上云有需要切换到路由器的热点,有的手机也不能自动切换热点,比如苹果iOS110系统以下的手机,无法自动切换热点,需要用户进入WIFI列表页面,选择新热点。过于复杂,这是设备热点配网没有普及的原因之一,因为没有一键配网方便

AP配网是局域网模式,所以 无法判断是否连上路由器 ,需要借助设备上云来判断。

3、配网流程

31、一键配网实现过程

此处大致介绍一下流程,当然实际为增加成功率考虑到安全性或者业务不同,肯定比这复杂丰富的多。比如为了安全性,会对定义的UDP广播协议采用自定义的一种安全性定义,增加校验增加加密等。比如为了增加成功率会才有一定的优化策略等等。

详细可参考:

微信wifi airkiss一键配网 Demo和关键点

自定义组播配网 待更新

Step1:初始化硬件设备,使设备进入混杂模式;

Step2:手机连接路由器WIFI(获取路由器名称);

Step3:获取WIFI信息,WiFi 名字和密码; iOS 获取系统wifi列表方法

android可以直接获取到所有路由器WIFI 信息,没必要连接要发送的WIFI,所以可以直接使用输入;但iOS90之前没有接口获取WiFi List,iOS90有获取WiFi List的接口,但是需要苹果授权,需要申请比较复杂。所以现在市面上比较通用的方法还是直接获取当前连接的wifi

Step4:通过组播或广播方式发送WiFi的ssid和pwd或其他的信息比如bssis,userData等

此处一般会APP和设备端会定义一套完成的UDP报文协议协议数据除了WiFi的ssid和pwd,一般会增加一些用户的其他信息UDP报文协议为了安全考虑,一般会想办法增加一些复杂度,也会增加加密方法目前报文协议大致就两种:长度编码和MAC地址编码比如微信的airkiss就是通过长度编码的广播方式

Step4:设备端通过广播方式回发设备端相关信息,比如设备id,token

手机端能接收到设备端回发的信息,说明手机端发送的WIFI信息是正确的且设备端已连接上路由器

Step5:查询设备上云状态,注册用户

32、AP配网实现过程

此处大致介绍一下流程,当然实际为增加成功率考虑到安全性或者业务不同,肯定比这复杂丰富的多,比如传输ssid和pasword,有的厂商使用>物联网云平台需具备以下功能。
(1)业务受理、开通、计费功能
要成为物联网业务的服务提供商,需要建立一套面向客户、传感器厂商、第三方行业应用提供商的运营服务体系,包括组织、流程、产品、支撑系统,其中支撑系统应具备业务受理、开通、计费等功能,能够提供物联网产品的快速开通服务。
(2)信息采集、存储、计算、展示功能
物联网云平台需要支持通过无线或有线网络采集传感网络节点上的物品感知信息,进行格式转换、保存和分析计算。相比互联网相对静态的数据,在物联网环境下,将更多地涉及基于时间和空间特征、动态的超大规模数据计算,并且不同行业的计算模型不同。这些应用所产生的海量数据对物联网运营平台的采集、存储、计算能力都提出了巨大的挑战。
(3)行业的灵活拓展应用模式
不同行业的业务规则和流程不同,其应用的功能和计算需求也有差别,例如在大气环保监控应用中,需要根据大气环境监测设备上采集到的降尘、一氧化碳、二氧化硫等数据,按一定的指标计算规则进行分析计算,得出分析结果,展现到监控中心计算机或监控人员手机上;而在电力抄表应用中,对于采集到的用户电表读数,将会用于计算当月用电量和电费,生成电费账单,进而支持收费销账。
因此物联网云平台不可能是一个封闭自运行的应用系统,需要具备第三方行业应用的集成能力即要能提供给第三方合作开发者灵活拓展的云端应用开发API接口,从而能够满足不同行业应用的差异化功能要求。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13208352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-20
下一篇 2023-06-20

发表评论

登录后才能评论

评论列表(0条)

保存