摘要
本智能鸽笼控制系统由贵州大学电气工程专业的刘磊、王民慧设计开发完成,基于STM32+机智云AIoT云平台设计专为赛鸽进笼检测的装置,利用机智云平台进行数据的传输交换,通过 WiFi 模块与云端的通信,将采集到的温湿度、归巢时间、告警信号等发送到手机 APP 端,同时在鸽子归巢时通过拨打人员电话,在断网的情况下可以进行按键操作,最终以物联网控制的方式能够对赛鸽进行有效的饲养选育。
正文内容
在赛鸽养殖中,饲养者因为工作生活繁忙等原因将无法按时喂养鸽子,同时赛鸽的养殖往往需要直接接触鸽子羽毛排泄物等,卫生问题尤为突出。在优秀乳鸽的选择上,通常采用给鸽子佩戴高昂的赛鸽计时装置,此外鸽舍内的温湿度直接影响着赛鸽的健康,需要及时对鸽舍内的温湿度进行调节。为此,本设计提出了一种利用物联网技术对鸽舍内的装置进行控制的方法,该系统以STM32L476RG为主控芯片,利用机智云AIoT平台进行数据的传输交换,设计了专为赛鸽进笼检测的装置,将WiFi模块与SIM800C通信模块相结合达到赛鸽归巢时间的计时与通知。采用DHT11模块和风扇模块组成温湿度的调节系统,在手机App端可以实时查看温湿度变动和控制设备状态,同时还能在按键模块上对设备进行操作,在电脑端可以登录机智云官网查看数据点历史记录。
系统整体方案设计
本文设计了一种基于机智云AIoT开发平台的多功能鸽笼控制系统,系统主要由温湿度传感器、步进电机、光电传感器模块、WiFi模块、控制器、继电器模块及排风风扇构成。用户通过手机APP端控制鸽笼门的开关,可实现手动和自动地喂食、喂水,同时通过温湿度传感器模块监控鸽舍内的温湿度的情况,将鸽笼内的环境数据上传至机智云平台。当温湿度超过设定值时,APP页面端会产生告警标志。考虑用户需要对鸽子进行训飞计时,为此专门研发了一种可安放的进笼检测装置。当进行单鸽训飞时,只要将鸽笼门打开将装置摆放在鸽笼门口就可以进行归巢时间的检测,将鸽子归巢的时间传至手机APP端,并且通过GSM模块给训飞人员拨打电话。为了防止断网导致鸽笼设备无法正常工作,训飞人员可以通过机智云网站方便地查看鸽舍内部的历史数据。此外本文中还设计了按键模块,可以对开关鸽笼门和喂水、喂食进行按键操作。互联鸽笼的系统结构如图1所示。
图1 鸽笼系统结构图
系统硬件设计
喂食喂水系统鸽笼喂食喂水系统采用手动和定时自动、远程和近程控制的方式相结合,通过手机APP远程控制定时喂食和手动喂食的两种饲养方式。为了防止断网而使喂食喂水系统受到波及,在操作系统按键模块中分为开关粮食、开关水阀、五个开关鸽笼门,可以在无网的情况下有效保证近距离饲养鸽子的基本条件。对此可做研究分述如下。
喂食系统
喂食系统的食物出口采用了蝴蝶阀状开关加上5V步进电机的控制方式。由步进电机驱动蝴蝶阀门转动一定的角度使得粮食从储粮盒中落入食槽,存储盒采用漏斗形状,方便与粮食出口控制装置相结合。喂食系统的结构示意图如图2所示。
图2 喂食系统结构图该装置采用型号为24BYJ485V驱动的步进电机,自动喂食则是通过STM32RTC实时时钟中断完成,根据实际情况每天喂两次,将实时时钟中断设定为12h中断一次,进行一次蝴蝶阀的开关动作。
喂水系统
喂水系统由5V继电器和12V的电磁阀构成。电磁阀连接塑料水管上端续接到一个小型水箱,下端放置喝水水槽,继电器的控制端口连接至控制器的PA2口。电磁阀的供电电源采用220VAC转12VDC的电源电路,由微控制器控制电源电路输出线路的通断来调控整个喂水系统。
温湿度检测调节系统高温高湿影响鸽子的热调节,加剧了高温的不良反应,破坏鸽子的热平衡。高温的时候,鸽子体内靠蒸发散热,而蒸发散热正比于鸽子体内蒸发面皮肤和呼吸道水汽压与空气水汽压之差,舍内空气湿度大,空气水汽压升高,鸽子蒸发面水汽压与空气水汽压之差变小,不利于鸽子的蒸发散热,从而加重集体热调节负担,热反应更加严重。高温高湿,鸽子体内的抵抗力下降,容易导出传染病的发生。良好的鸽舍温湿度应该为温度≤40℃、湿度≤70%。本设计采用了DHT11温湿度检测模块,同时对温度和湿度进行测量。温度测量范围为0℃~50℃,湿度测量范围为20%RH~90%RH,采用IIC通信方式能很好地与微控制器进行通信,满足系统对温湿度检测的设计要求。温湿度的调节采用排风风扇的方式,排风扇运用5V电压驱动控制端接入PA2,当温湿度超过设定的值时,PA2口输出高电平,排风扇开启;当温湿度小于设定值时,输出低电平,排风扇关闭。同时在手机APP端就可以实时查看当前的温湿度的情况。
通信模块通信模块的设计主要采用ATK-ESP8266WiFi模块和SIM800CGSM模块。ATK-ESP8266WiFi模块是一款高性能的UART-WiFi模块,采用WiFi模块将数据传送到云端的同时,并与WiFi模块中下载的机智云GAgent通信协议发生交互,可进行云端的数据交换和设备的控制。SIM800CGSM模块是一款高性能的工业级GSM/GPRS模块。在进行单鸽的训飞计时的过程中,鸽子通过时间检测装置时,微控制器将通过AT指令与模块通过拨打人员的电话,及时告知鸽子已经飞回鸽舍。
进笼检测装置进笼检测装置主要用于检测单鸽归巢时间。装置是前后相通、上方插入活络门的盒型装置,旁边安放有光电传感模块。当要对鸽子进行归巢时间计时的时候,通过手机APP或者按键将由步进电机控制的鸽笼小门开启,同时将检测装置放置在鸽子的进出门口。由于进笼检测装置采用活络门的方式,光电感应模块放置在活络门的前方,有效防止鸽舍内的鸽子对进笼检测装置的干扰。当鸽子进入检测装置时,光电传感模块将向微控制器发送一个低电平,微控制器就将此时的RTC实时时钟数据发送到手机APP端,同时通过AT指令拨打人员电话。
图3 进笼检测装置如图3所示,光电感应模块放置在活络门挡杆的前面,系统设计的活络门结构使得鸽子进去之后就无法再出来,防止其它鸽子对检测装置产生干扰。光电感应模块电路设计如图4所示。
图4 光电感应模块电路
系统软件设计
软件设计方法基于云平台的互联鸽笼控制系统要完成的远程控制和数据的传输的功能,选用了机智云AIoT开发平台。首先需要在机智云平台的开发中心建立项目,同时在项目中心添加数据点,数据点的作用是对系统的某种功能进行抽象化,采用不同的数据类型表示。例如简单的设备的“开关”,其功能为开启和关闭,将这个功能抽象为布尔类型性的数据点,0表示关闭,1表示开启。数据点是机智云中重要的属性通,过机智云与设备相联系的第一步就是需要将整个系统的功能进行完整的罗列,并通过机智云平台将所描述的功能通过数据点的方式进行表示。后续通过机智云平台会根据创建好的数据点生成用于开发的MCU协议,在生成的协议的基础上进行操作系统下的程序设计开发。
数据点的建立根据系统的设计要求,在机智云端建立好数据点,在手机App端可供操作的功能具体为:开关笼门、开关水阀、开关粮食、自动喂食、开关灯、温湿度的显示与告警和飞回时间的显示。因此按照上述的功能进行云端的数据点的设置,详见表1。
表1 数据点设置由表1可知,对于笼门开关、粮食开关、水阀开关、灯开关类型的数据点为布尔类型,对于温湿度、飞回时间的显示采用数值类型数据点,温湿度告警采用告警类型数据点。在机智云平台对相应的数据点完成设置,就可在机智云端生成相应的数据点的端口定义文件,将生成的端口定义文件添加到所创建的程序中,即可完成云端数据点与手机APP端的联系。在机智云端下载完毕的文件中有与APP端相联系的数据点信息,当与机智云端有数据交换时,机智云协议文件中的相应的标志变量随即将发生改变,如通过自动喂食开关量由0x00到0x01的变化,并利用判定语句完成对RTC实时时钟中断标志位的设置。
操作系统的移植本系统的程序包括多项任务操作,包括温湿度检测与上传、按键模块的扫描、手机App端的控制、光电模块信号的检测,AT指令的传输等。嵌入式操作系统具有高实时性,并且支持多任务的管理,对程序的开发也更加便捷,提高系统的稳定性与可靠性。UC/OS操作系统免费,且可以很方便地移植到STM32。移植过的要点是需要将操作系统的所有文件添加到Keil5工程中,同时修改os_cpu.h、os_cpu_a.asm、os_cpu_c.c三个程序文件。其中os_cpu.h文件包括了数据类型的定义以及与处理器相关的代码和函数原型的声明,需要修改数据代码的类型,使得编译器和处理器以及编译器数据类型做到了相互通用;os_cpu_a.asm需要使用汇编语言将文件中的部分函数进行编写,主要是进行任务间的切换;os_cpu_c.c定义了用户的钩子函数,同时需要把文件中的相关系统时钟中断函数的部分注释掉,因为系统时钟在主程序中已经给出了定义。
操作系统下的任务建立
本系统分为6个任务,分别是温湿度检测上传任务、按键扫描任务、光电信号检测任务、App开关判定任务、归巢时间上传任务及拨打电话任务,任务的设计功能可表述如下:
(1)温湿度检测任务:将读取到的DHT11模块的温湿度数值上传到机智云端,当温湿度超过设定值时在手机App端将会呈现告警标志,同时通过消息邮箱的方式将温湿度数据传送给风扇控制程序,优先级定义为5。
(2)按键扫描任务:系统将笼门、粮食和水阀这6个开关接入到微控制器的6个I/O口,从而保证在断网的情况下也能提供鸽舍内的正常控制,优先级定义为4。
(3)光电信号检测任务:进行单鸽训飞计时时,鸽子进入检测装置后,光电信号模块向微控制器发送一个低电平,任务会通过信号量的方式将低电平消息传回、再拨打电话给任务巢,因此任务优先级定义为3。
(4)App开关执行任务:手机App端有多个开关,此任务将通过判定机智云通信协议中的标志变量是0或者1,执行相应的动作,优先级定义为6。
(5)拨打电话任务:等待光电信号检测任务传递的低电平消息后,通过AT指令与SIM800C通信拨打人员电话,优先级定义为7。
(6)风扇控制任务:接收温湿度检测单元传来的温湿度数据,判定温湿度是否超过设定值,用于控制风扇的关停,优先级定义为9。系统的软件整体流程如图5所示。
图5软件整体工作模式
系统测试
本系统实现对鸽舍内各个设备进行控制,为了模拟鸽舍控制系统的运行效果,对实际鸽舍进行缩微化设计,具体如图6所示。
图6 鸽舍模拟实物图对缩小型的鸽舍进行控制,图6中鸽笼大门可从右边全部打开从事清扫等工作,平常对鸽子的放飞只采用鸽笼小门,利用步进电机控制笼门的上扬下降,并且小门可放置进笼检测装置,温湿度采用模拟加湿加热的方式。第一次上电连接时,选用机智云协议中的Airlink连接方式,同时手机App端启动WiFi搜索,将会搜到最近的可连接的设备。机智云协议自带有WiFi通信方式和GPRS通信方式,手机端可以选择连接WiFi和GPRS,方便人员进行远程操控,通过微控制器的复位键可以将App数据清零。
图7 手机APP的鸽子归巢时间显示
图8手机APP端温湿度告警同时用户还可以通过电脑登录机智云官网的设备日志中查看各个数据点的历史值。
系统总结
基于机智云AIoT云平台的互联鸽笼控制系统,可通过手机APP与近距离的按键方式对鸽笼内的设备进行控制,同时采用SIM800C模块与WiFi模块相结合的方式,对单鸽的归巢时间进行计时和通知,手机APP端可以实时地看到鸽舍内的温湿度情况与发出警报。有效解决了长期以来喂养赛鸽需要频繁与鸽子直接接触所带来的卫生问题,同时采用物联网的方式饲养赛鸽实现远程饲养,减少了人力,避免了更多爱好者无暇饲养鸽子所面对的困扰。
互联鸽笼控制系统采用光电模块代替了专用赛鸽计时器,价格低廉、且效果较好。在物联网平台的选择上采用了机智云平台,云平台对数据点历史记录进行了云端的存储,用户只要登录电脑就可查看。
原文标题:IoT毕业设计 | STM32+机智云AIoT云平台实现智能鸽笼控制
文章出处:【微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
-
控制系统
+关注
关注
41文章
6490浏览量
110351 -
STM32
+关注
关注
2264文章
10852浏览量
354100 -
云平台
+关注
关注
1文章
1260浏览量
38814 -
机智云
+关注
关注
2文章
572浏览量
26353
原文标题:IoT毕业设计 | STM32+机智云AIoT云平台实现智能鸽笼控制
文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论