一种基于物联网的自定义协议多功能金鱼饲养系统的制作方法

文档序号:17625144发布日期:2019-05-10 23:34阅读:343来源:国知局
一种基于物联网的自定义协议多功能金鱼饲养系统的制作方法

本发明涉及金鱼饲养物联网技术领域,具体为一种基于物联网的自定义协议多功能金鱼饲养系统。



背景技术:

金鱼作为一种观赏性动物,受到大众喜爱,被广泛养殖于家中。其中发明一种有效的金鱼养殖系统显得颇为重要,at89c51单片机是一款功能多样的芯片,具有联机串行及并行通信的功能,采用c/s架构和流媒体技术(rtmp协议),在tcp协议的基础上实现应用层的私有协议,与远程控制与单片机结合,成功解决了传统金鱼养殖的局限性。



技术实现要素:

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种基于物联网的自定义协议多功能金鱼饲养系统,解决了传统金鱼养殖的局限性的问题。

(二)技术方案

为实现上述目的,本发明提供如下技术方案:一种基于物联网的自定义协议多功能金鱼饲养系统,包括氧浓度检测模块、通信模块、手机客户端模块,其特征在于:所述氧浓度检测模块包括氧浓度检测器,所述通信模块包括了at89c51单片机、服务器、传送层和手机客户端,所述at89c51单片机通过gps数据无线与手机客户端模块电性连接,所述手机客户端模块设置有远程控制模块和观测功能模块,所述远程控制模块通过gps数据无线与远程控制继电器和电磁阀电连接,所述手机客户端通过gps数据无线与服务器电性连接,所述at89c51单片机与水位传感器通过数据线电性连接,所述at89c51单片机的传输端通过控制线与摄像头电性连接,所述摄像头通过流媒体服务器载体与手机客户端电性连接,所述手机客户端模块设置有服务端。

优选的,所述服务端包括传输层,服务层和dao层,所述dao层的数据端与database相互连接,所述dao层的数据端与服务层通过数据线相互连接,所述服务层的控制端与传递层连接,所述传递层与服务层之间设置有任务列队,所述传送层分别通过数据线与序列化模块、token池和连接池连接。

优选的,所述传送层包括多个client、mainreator、acceptor、threadpool、decodecomputeencode、多个read、多个decodecomputeencode、subreactor和send模块。

优选的,所述服务层包括任务列队模块,所述任务列队模块与任务提取模块连接,所述任务提取模块与worker线程池电连,所述worker线程池通过数据线与分发器电性连接,所述分发器设置有多个服务。

优选的,所述客户端包括传输层,所述传输层与服务层相互连通,所述服务层的控制端分别与stagecontroller和controller数据连通,所述stagecontroller和controller均与stage控制端电性连接,所述stagecontroller设置有stagepool,所述controller设置有controllerpool。

优选的,所述手机客户端模块采用了c/s架构设置,该系统基于netty框架实现异步事物性io设置。

优选的,所述通信模块中采用自定义协议;

协议格式:

类型(1字节)+编码(1字节)+发送方编号(4字节)+接收方编号(四字节)

类型:

1request:由客服端、设备发送到服务器

2response:由服务器端响应request发送到客户端设备

3notice:由服务器端发送到客户端、设备。

编码:

request:

1.请求注册

2.心跳

3.请求供氧

4.供氧

5.喂食

6.换水

7.请求监控

response:

1.请求成功

2.请求失败

notice:

1.应供氧

2.供氧

3.喂食

4.换水

5.打开摄像头,开始推流

指令:

(1)、客户端、设备注册

客户端、设备发送:1+1+设备客户端编号+服务器编号;

服务器返回:成功2+1+服务器编号+设备编号;

失败2+2+服务器编号+设备编号;

(2)、维持在线(5分钟发一次心跳)

客户端、设备发送:1+2+设备客户端编号+服务器编号;

服务器返回:成功2+1+服务器编号+设备编号;

失败2+2+服务器编号+设备编号;

(3)、设备提示供氧

设备发送:1+3+设备编号+客户端编号;

服务器返回:成功2+1+服务器编号+设备编号;

失败2+2+服务器编号+设备编号;

服务器发送到客户端:3+1+服务器编号+设备编号

(4)、开始供氧:

客户端发送:1+4+客户端编号+设备编号;

服务器返回:成功2+1+服务器编号+客户端编号;

失败2+2+服务器编号+客户端编号;

服务器发送到设备:3+2+服务器编号+客户端编号

(5)、开始喂食:

客户端发送:1+5+客户端编号+设备编号;

服务器返回:成功2+1+服务器编号+客户端编号;

失败2+2+服务器编号+客户端编号;

服务器发送到设备:3+3+服务器编号+客户端编号

(6)、开始换水:

客户端发送:1+6+客户端编号+设备编号;

服务器返回:成功2+1+服务器编号+客户端编号;

失败2+2+服务器编号+客户端编号;

服务器发送到设备:3+4+服务器编号+客户端编号

(7)、开始监控:

客户端发送:1+7+客户端编号+设备编号;

服务器返回:成功2+1+服务器编号+客户端编号;

失败2+2+服务器编号+客户端编号;

服务器发送到设备:3+5+服务器编号+客户端编号。

(三)有益效果

本发明提供了一种基于物联网的自定义协议多功能金鱼饲养系统。具备以下有益效果:

(1)、该基于物联网的自定义协议多功能金鱼饲养系统,可通过氧浓度检测器检测到水解氧浓度,当小于at89c51单片机预存的水解氧浓度范围最小值时,单片机会自动向用户手机发送信息,用户可根据信息,选择是否启动供氧仪供氧及供氧时间的长短,其中手机客户端模块有远程控制和观测功能,通过at89c51单片机发送相应的指令,可以做到合理进水和出水,喂食器与单片机相连,可自动给金鱼喂食,而且at89c51单片机连有监控摄像头,并流媒体服务器为载体,使其手机客户端对金鱼的活动画面进行实时远观测。

附图说明

图1为本发明自定义协议的原理运行图;

图2为本发明服务端设计原理图;

图3为本发明传送层运行详图;

图4为本发明服务层运行详图;

图5为本发明客户端设计图;

图6为本发明结构实物设计图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-6所示,本发明提供一种技术方案:一种基于物联网的自定义协议多功能金鱼饲养系统;

如图1为本发明系统自定义协议原理图,金鱼饲养系统软件部分,采用了c/s架构,整个系统基于netty框架实现异步事物性io,以得到更大的负载量,金鱼饲养系统软件部分实现远程控制系统供氧、投食、换水,在tcp协议的基础上实现应用层的私有协议,也基于流媒体技术(rtmp协议)实现了视频实时监控;

如图2为服务端设计图,整个服务端主要是由传输层,服务层,dao层构成,同时维护着连接池、token池和一个任务队列,序列化模块主要供传输层调用;

如图3为传送层,传送层:实现与设备、客户端的通讯,指令的接收、发送、解码、编码,这一层主要作用是消息的接收与发送,io的方式是异步的事务性io,实现是基于netty的框架,首先介绍一下这一层的线程模型:如图这是一种典型的reactor线程的模型,首先有一个主要的mainreator线程池负责的是处理client的的请求连接,在本项目中因为只监控一个端口所以为单线程,另外的一个子线程池subreator是负责任务的处理,本项目中设置的为cpu的核心数,该模型的主要优点就是异步型,对于金鱼饲养系统这个连接多但活跃性不强的项目中可以有更大的并发量,在每一个客户端连接的channel的输入输出中都采用了pipeline的形式,更具需要注册一系列的handle,只是一种责任链的模式,在本项目中主要是解码、处理、编码的handle,解码就是对序列化的对象从新的解码为对象,编码就是对象的序列化,处理是将解码完成的一个对象封装为任务对象,并且加入到任务队列当中,在用户完成登入后还会将一个心跳的检测handle注册到pipeline中完成对长连接心跳功能的实现,在完成登入之后就将channel加入到连接池中,也将相应的token加入到token池中;

如图4为服务层,先是由一个任务的提取线程不断的从任务队列中得到到任务,然后将任务提交给工作的线程池完成任务,每一个线程用一个分发器的类判断是哪一种任务,然后将选择具体的任务服务类完成任务,这一层是主要的业务逻辑承担者,也驱动dao层完成各种数据库操作,dao层这一层的功能较为单一,就是实现对数据库的一些增删改查,封装操作对上一层提供接口;

图5为客户端设计,客户端的设计是一个典型的mvc的模式,stage层就是ui层负责数据的显示和用户的交互,stagecontroller是对stage的添加、显示、与stagepool这个池交互,controller负责ui层与服务层数据的传递,负责与controllerpool这个池交互,服务层是提供各种服务的业务逻辑层,传输层是接收、传递数据,stagecontroller是对多个stage的一个管理类,负责新建stage,将其加入stagepool中,在需要时取出,不需要时隐藏,controllerpool是相对应stage的controller对象的一个池,需要时则将其取出;

如图6所示为鱼缸实物图,氧浓度检测器,其用来检测鱼缸中水解氧浓度;所述的通信模块包括了at89c51单片机,服务器,手机客户端,若氧浓度检测器检测到水解氧浓度小于单片机预存的水解氧浓度范围最小值时,单片机会自动向用户手机发送信息,用户可根据信息,选择是否启动供氧仪供氧及供氧时间的长短;所述手机客户端模块有远程控制和观测功能,远程控制继电器和电磁阀,结合水位传感器反馈信息,给单片机发送相应的指令,可以做到合理进水和出水;喂食器与单片机相连,可自动给金鱼喂食;其中与单片机相连的摄像头,以流媒体服务器为载体,通过手机客户端对金鱼的活动画面进行远观测,同时本说明书中未作详细描述的内容均属于本领域专业技术人员公知的现有技术。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1