一种多机通信系统技术方案

技术编号:27106090 阅读:18 留言:0更新日期:2021-01-25 18:55
本发明专利技术公开了一种多机通信系统,所述系统包括:云端服务器和ESP32模块,所述云端服务器与ESP32模块通过无线网络进行连接,云端服务器内设置有数据接收单元、数据存储单元、数据记录单元和数据回发单元,通过云端服务器实现数据的收集和处理,所述ESP32模块通过串口或I2C与多个终端设备进行连接,采集终端设备的数据,并向终端设备发送控制指令。本发明专利技术解决了现有智能终端无法集中控制的问题。了现有智能终端无法集中控制的问题。了现有智能终端无法集中控制的问题。

【技术实现步骤摘要】
一种多机通信系统


[0001]本专利技术涉及通信
,具体涉及一种多机通信系统。

技术介绍

[0002]Wi-Fi设备是当下家庭上网的基本配置。基于Wi-Fi的可联网智能设备已经具有许多的解决方案,但是目前主要缺点是国内市场上的智能设备很多,暂时还没有形成完整、成熟的技术规范。同时各个厂商并没有统一的标准接口协议可以遵循,不同品牌的设备使用不同控制方式。家庭中的各个智能设备不能连接至统一的控制端口,进行集中管控,实现智能化管理。

技术实现思路

[0003]为此,本专利技术提供一种多机通信系统,以解决现有智能终端无法集中控制的问题。
[0004]为了实现上述目的,本专利技术提供如下技术方案:
[0005]本专利技术公开了一种多机通信系统,所述系统包括:云端服务器和ESP32模块,所述云端服务器与ESP32模块通过无线网络进行连接,云端服务器内设置有数据接收单元、数据存储单元、数据记录单元和数据回发单元,通过云端服务器实现数据的收集和处理,所述ESP32模块通过串口或I2C与多个终端设备进行连接,采集终端设备的数据,并向终端设备发送控制指令。
[0006]进一步地,所述云端服务器的数据接收单元用于创建UDP连接、建立UDP数据接收和发送的接口,以便系统在后期使用;所述数据存储单元接收到数据后将处理的结果存储在建立的存储区域上,按照接受到数据的不同类型来分别存储不同的信息;所述数据记录单元对数据进行记录用于后续的维护和管理。
[0007]进一步地,所述数据记录单元记录的数据主要有两种,一种是使用MySQL数据库存储以后可能会用到的数据,另一种数据是日志文件,生成的简单的日志文件可以便于管理员查看服务器的运行状态。
[0008]进一步地,所述云端服务器先初始化UDP通信,建立一个空的用户列表,所述用户列表后期用来存储每一个控制终端的基本信息,阻塞等待UDP数据,在每次UDP通信时都建立一个线程并进行处理,每收到一次数据就创建一个线程专门处理该数据。
[0009]进一步地,所述用户列表每使用一个数组来存储数据,利用控制终端的列表书库数据库或者文件的形式保存用户列表,使用简单的数组来简化程序的编写难度。
[0010]进一步地,所述云端服务器创建用户列表后,等待UDP数据,监听UDP端口并等待数据,接收到数据后对数据进行初步的校准验证,初步校验其实就是判断第一个字节是不是0XFE。如果是就在下一步创建新的线程来处理接收到的数据,否则就返回上一步继续等待UDP数据。
[0011]进一步地,所述线程的创建和数据锁,如果系统检测收到一个数据就建立一个线程,在线程中处理接收到的数据。数据锁的主要功能是为用户提供列表服务,防止用户列表
在线程间由于同时读写的问题产生错误。
[0012]进一步地,所述云端服务器判断当前接收到的数据的发送方是否是在用户列表中存在,如果存在就进入下一步去判断接收方;不存在则在用户列表中加入该用户,在控制终端列表中加入控制终端前需要获取数据锁,加入控制终端的任务完成之后要释放该数据锁。
[0013]进一步地,所述云端服务器判断接收方是服务器还是控制终端,如果是发送给其他控制终端的则服务器起到数据中转和记录的作用;在数据中转之前要先判断接收方是否正确,即遍历控制终端列表中是否存在该终端机,存在则转发数据,转发完成结束线程;如果不存在记录错误就结束此线程,接收方式服务器则根据不同的数据进行处理。
[0014]进一步地,所述UDP通信遵循规则,每次进行通信的数据都是由若干个字节构成的,第一个字节用于初步校验,在服务器刚收到数据时就通过该字节是不是程序需要的数据,是需求的数据才将进入下一步,不是则直接丢弃该数据;第二个字节用来判断接收方,数据分为发送给服务器和转发给其他控制终端的数据;第三字节为0、1、2、3分别代表更改自己的描述信息、给服务器发送的信息、获取控制终端机列表、控制终端主动断开。
[0015]本专利技术具有如下优点:
[0016]本申请公开了一种多机通信系统,通过ESP32模块与多个终端设备进行连接,ESP32模块通过无线网络与云端服务器进行数据传输,使用ESP32的的无线功能连接到自己搭建的UDP服务器,在服务器上通过多线程的处理方式可以同时处理多个UDP连接,实现了客户机和服务器之间的通信以及客户机和客户机之间的通信。进而实现了系统最基本的功能。其次在于为通信过程规定了一定的数据格式,依照这个格式所有的设备都可以通过网络和服务器进行通信,服务器端只需要针对不同类型的设备和数据进行拓展就可以处理新的数据。实现对多个终端设备的集中控制。
附图说明
[0017]为了更清楚地说明本专利技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
[0018]本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本专利技术可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本专利技术所能产生的功效及所能达成的目的下,均应仍落在本专利技术所揭示的
技术实现思路
得能涵盖的范围内。
[0019]图1为本专利技术实施例提供的一种多机通信系统云端服务器工作流程图;
[0020]图2为本专利技术实施例提供的一种多机通信系统云端服务器对接收方进行判断的方法;
[0021]图3为本专利技术实施例提供的一种多机通信系统云端服务器UDP通信数据格式规则图;
[0022]图4为本专利技术实施例提供的一种多机通信系统的ESP32模块控制流程图
具体实施方式
[0023]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]实施例
[0025]本实施例公开了一种多机通信系统,所述系统包括:云端服务器和ESP32模块,所述云端服务器与ESP32模块通过无线网络进行连接,云端服务器内设置有数据接收单元、数据存储单元、数据记录单元和数据回发单元,通过云端服务器实现数据的收集和处理,所述ESP32模块通过串口或I2C与多个终端设备进行连接,采集终端设备的数据,并向终端设备发送控制指令。
[0026]ESP32模组既可以作为一个只负责通讯的模组,通过ESP32提供的如I2C,SPI以及串口等和控制模块建立通讯,做为控制模块的无线通信组件存在。但是ESP32本身可以做为一个控制器存在,它具有最高240M的主频以及4M的片上Flash基本可以处理大多数的非计算任务,而且ESP32模组还实现的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多机通信系统,其特征在于,所述系统包括:云端服务器和ESP32模块,所述云端服务器与ESP32模块通过无线网络进行连接,云端服务器内设置有数据接收单元、数据存储单元、数据记录单元和数据回发单元,通过云端服务器实现数据的收集和处理,所述ESP32模块通过串口或I2C与多个终端设备进行连接,采集终端设备的数据,并向终端设备发送控制指令。2.如权利要求1所述的一种多机通信系统,其特征在于,所述云端服务器的数据接收单元用于创建UDP连接、建立UDP数据接收和发送的接口,以便系统在后期使用;所述数据存储单元接收到数据后将处理的结果存储在建立的存储区域上,按照接受到数据的不同类型来分别存储不同的信息;所述数据记录单元对数据进行记录用于后续的维护和管理。3.如权利要求2所述的一种多机通信系统,其特征在于,所述数据记录单元记录的数据主要有两种,一种是使用MySQL数据库存储以后可能会用到的数据,另一种数据是日志文件,生成的简单的日志文件可以便于管理员查看服务器的运行状态。4.如权利要求1所述的一种多机通信系统,其特征在于,所述云端服务器先初始化UDP通信,建立一个空的用户列表,所述用户列表后期用来存储每一个控制终端的基本信息,阻塞等待UDP数据,在每次UDP通信时都建立一个线程并进行处理,每收到一次数据就创建一个线程专门处理该数据。5.如权利要求4所述的一种多机通信系统,其特征在于,所述用户列表每使用一个数组来存储数据,利用控制终端的列表书库数据库或者文件的形式保存用户列表,使用简单的数组来简化程序的编写难度。6.如权利要求4所述的一种多机通信系统,其特征在于,所述云端服务器创建用户列表后,等待UDP数据,监听UDP端口并等待数据,接收到数据...

【专利技术属性】
技术研发人员:蔺想红皮晓妹杜攀高
申请(专利权)人:西北师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1