0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【IoT毕业设计】STM32开发板+机智云IoT+实现智能鸽笼控制

机智云 2022-04-20 16:24 次阅读

摘要:在赛鸽养殖中,饲养者因为工作生活繁忙等原因将无法按时喂养鸽子,同时赛鸽的养殖往往需要直接接触鸽子羽毛排泄物等,卫生问题尤为突出,选育优秀乳鸽的赛鸽计时设备价格高昂。为了解决上述问题,让人员可以及时了解鸽舍的情况,提出了一种利用物联网技术饲养选育赛鸽的方法。


基于机智云物联网平台的互联鸽笼控制系统,采用STM32L476RG为主控芯片,esp8266WiFi模块与云端的通信,将采集到的温湿度、归巢时间、告警信号等发送到手机App端,同时在鸽子归巢时通过拨打人员电话,在断网的情况下可以进行按键操作。实验表明,通过物联网控制的方式能够对赛鸽进行有效的饲养选育。

引言


随着赛鸽竞技运动的不断发展,越来越多的普通家庭开始饲养赛鸽,由于很多业余赛鸽爱好者平常无法及时饲养赛鸽导致赛鸽大量死亡,在喂养赛鸽时需要进入鸽笼中与鸽子的粪便和羽毛等直接接触,卫生问题令人堪忧。在优秀乳鸽的选择上,通常采用给鸽子佩戴高昂的赛鸽计时装置。此外,鸽舍内的温湿度直接影响着赛鸽的健康,需要及时对鸽舍内的温湿度进行调节。


研究可知,采用互联网技术和STM32实现设备的智能化管理成为目前学界的一个热点方向[1-2]。基于此,本文提出了一种利用物联网技术对鸽舍内的装置进行控制的方法,该系统以STM32L476RG为主控芯片,利用机智云物联网平台进行数据的传输交换,设计了专为赛鸽进笼检测的装置,将WiFi模块与SIM800C通信模块相结合达到赛鸽归巢时间的计时与通知,采用DHT11模块和风扇模块组成温湿度的调节系统,在手机App端可以实时查看温湿度变动和控制设备状态,同时还能在按键模块上对设备进行操作,在电脑端可以登录机智云官网查看数据点历史记录。


1总体方案设计

本文设计了一种基于机智云Aiot开发平台的多功能鸽笼控制系统,系统主要由温湿度传感器步进电机光电传感器模块、WiFi模块、控制器、继电器模块、风扇构成。用户通过手机App软件控制鸽笼门的开关,手动和自动地喂食、喂水,同时通过温湿度传感器模块监控鸽舍内的温湿度的情况,将鸽笼内的环境数据上传至机智云平台。当温湿度超过设定值时,App页面端会产生告警标志。


如果用户需要对鸽子进行训飞计时,文中为此专门研发了一种可安放的进笼检测装置,当进行单鸽训飞时,只要将鸽笼门打开将装置摆放在鸽笼门口就可以进行归巢时间的检测,将鸽子归巢的时间传至手机App端,并且通过GSM模块给训飞人员拨打电话。为了防止断网导致鸽笼设备无法正常工作,训飞人员可以通过机智云网站方便地查看鸽舍内部的历史数据。此外,本文中还设计了按键模块,可以对开关鸽笼门和喂水、喂食进行按键操作。综上可得互联鸽笼的系统结构如图1所示。


poYBAGJfwseAY2k9AAFDlCwXGfE064.png

图1互联鸽笼系统结构图


2系统的硬件设计

2.1喂食喂水系统

喂食喂水系统采用手动和定时自动、远程和近程的方式相结合,可以通过手机App远程控制定时喂食和手动喂食的方式。为了防止断网而使喂食喂水系统受到波及,在μC/OS-ΙΙ操作系统按键模块中分为开关粮食、开关水阀、开关鸽笼门五个,可以在无网的情况下有效保证近距离饲养鸽子的基本条件。对此可做研究分述如下。


2.1.1喂食系统

喂食系统的食物出口采用了蝴蝶阀状开关加上5V步进电机的控制方式。由步进电机驱动蝴蝶阀门转动一定的角度使得粮食从储粮盒中落入食槽,存储盒采用漏斗形状,方便与粮食出口控制装置相结合。喂食系统的结构示意图如图2所示。


pYYBAGJfws2AG1zgAABtEPlYUQk780.png

图2喂食系统结构图


该装置采用型号为24BYJ485V驱动的步进电机,单组脉冲产生的步进角ω有如下的关系:

poYBAGJfwtaAZ83kAAAeFF35OTs868.png

控制粮食蝴蝶阀需要转动的角度为90°,故而需要的脉冲个数N为:

poYBAGJfwtyAd0luAAAvXwOJPyY373.png


自动喂食则是通过STM32RTC实时时钟中断完成,根据实际情况每天喂两次,将实时时钟中断设定为12h中断一次,进行一次蝴蝶阀的开关动作。


2.1.2喂水系统

喂水系统由5V继电器和12V的电磁阀构成。电磁阀连接塑料水管上端续接到一个小型水箱,下端放置喝水水槽,继电器的控制端口连接至控制器的PA2口。电磁阀的供电电源采用220VAC转12VDC电源电路,由微控制器控制电源电路输出线路的通断来调控整个喂水系统。


2.2温湿度检测调节系统

高温高湿影响鸽子的热调节,加剧了高温的不良反应,破坏鸽子的热平衡。高温的时候,鸽子体内靠蒸发散热,而蒸发散热正比于鸽子体内蒸发面皮肤和呼吸道水汽压与空气水汽压之差,舍内空气湿度大,空气水汽压升高,鸽子蒸发面水汽压与空气水汽压之差变小,不利于鸽子的蒸发散热,加重集体热调节负担,热反应更加严重;高温高湿,鸽子体内的抵抗力下降,有利于传染病的发生。良好的鸽舍温湿度应该为温度≤40℃,湿度≤70%。


本此研究中采用了DHT11温湿度检测模块,DHT11模块包含一个电阻式感湿元件和一个NTC测温元件,可同时对温度和湿度进行测量,温度测量范围为0℃~50℃,湿度测量范围为20%RH~90%RH,采用IIC通信方式能很好地与微控制器进行通信,满足系统对温湿度检测的设计要求[2]。温湿度的调节采用排风风扇的方式,排风扇运用5V电压驱动控制端接入PA2,当温湿度超过设定的值时,PA2口输出高电平,排风扇开启;当温湿度小于设定值时,输出低电平,排风扇关闭。同时在手机App端就可以实时查看当前的温湿度的情况。


2.3通信模块

通信模块的设计主要采用ATK-ESP8266WiFi模块和SIM800CGSM模块,初始化STM32L476的2个串口UART1和UART2,分别连接2个模块。ATK-ESP8266WiFi模块是一款高性能的UART-WiFi模块,串口兼容3.3V和5V单片机,串口通过简单的配置就可以进行WiFi数据的传输,采用WiFi模块将数据传送到云端的同时,并与WiFi模块中下载的机智云GAgent通信协议发生交互,可进行云端的数据交换和设备的控制[3-4]。


SIM800CGSM模块是一款高性能的工业级GSM/GPRS模块,可以低功耗实现语音、短信、彩信、蓝牙传输等功能,支持5~24V的超宽工作范围,可以很方便地与单片机相连接。在进行单鸽的训飞计时的过程中,鸽子通过时间检测装置时,微控制器将通过AT指令与模块通过拨打人员的电话,及时告知鸽子已经飞回鸽舍。


2.4进笼检测装置

进笼检测装置主要用于检测单鸽归巢时间。装置是前后相通、上方插入活络门的盒型装置,旁边安放有光电传感模块,当要对鸽子进行归巢时间计时的时候,通过手机App或者按键将由步进电机控制的鸽笼小门开启,同时将检测装置放置在鸽子的进出门口,由于进笼检测装置采用活络门的方式,光电感应模块放置在活络门的前方,有效防止鸽舍内的鸽子对进笼检测装置的干扰。


当鸽子进入检测装置时,光电传感模块将向微控制器发送一个低电平,微控制器就将此时的RTC实时时钟数据发送到手机App端,同时通过AT指令拨打人员电话。如图3所示,光电感应模块放置在活络门挡杆的前面,系统设计的活络门结构使得鸽子进去之后就无法再出来,防止其它鸽子对检测装置产生干扰。这里,即给出了光电感应模块电路设计如图4所示。



pYYBAGJfwuSAKVZzAAGOk5ut7n8632.png

图3进笼检测装置


poYBAGJfwuyABFePAACHjMRyMyM373.png

图4光电感应模块电路


3系统软件设计

3.1软件设计方法

本文设计的基于云平台的互联鸽笼控制系统要完成的远程控制和数据的传输的功能,选用了机智云AIoT开发平台。首先需要在机智云平台的开发中心建立项目,同时在项目中心添加数据点,数据点的作用是对系统的某种功能进行抽象化,采用不同的数据类型表示,例如简单的设备的“开关”,其功能为开启和关闭,将这个功能抽象为布尔类型性的数据点,0表示关闭,1表示开启[5-7]。


数据点是机智云中重要的属性,通过机智云与设备相联系的第一步就是需要将整个系统的功能进行完整的罗列,并通过机智云平台将所描述的功能通过数据点的方式进行表示。后续通过机智云平台会根据创建好的数据点生成用于开发的MCU协议,在生成的协议的基础上进行μC/OS-ΙΙ操作系统下的程序设计开发。


3.2数据点的建立

根据系统的设计要求,在机智云端建立好数据点,在手机App端可供操作的功能具体为:开关笼门、开关水阀、开关粮食、自动喂食、开关灯、温湿度的显示与告警和飞回时间的显示。因此按照上述的功能进行云端的数据点的设置,详见表1。


表1数据点设置

poYBAGJfwvOAHBE_AACppR8r1vU201.png

由表1可知,对于笼门开关、粮食开关、水阀开关、灯开关类型的数据点为布尔类型,对于温湿度、飞回时间的显示采用数值类型数据点,温湿度告警采用告警类型数据点。


在机智云平台对相应的数据点做出设置,就可在机智云端生成相应的数据点的端口定义文件,将生成的端口定义文件添加到所创建的程序中,即可完成云端数据点与手机App端的联系。在机智云端下载完毕的文件中有与App端相联系的数据点信息,当与机智云端有数据交换时,机智云协议文件中的相应的标志变量随即将发生改变,如通过自动喂食开关量由0x00到0x01的变化,并利用判定语句完成对RTC实时时钟中断标志位的设置。


3.3μC/OS-Ⅱ操作系统的移植

本系统的程序包括多项任务操作,诸如:温湿度检测与上传、按键模块的扫描、手机App端的控制、光电模块信号的检测,AT指令的传输等。嵌入式操作系统具有高实时性,并且支持多任务的管理,对程序的开发也更加便捷,提高系统的稳定性与可靠性。UC/OS操作系统免费,且可以很方便地移植到STM32。移植过的要点是需要将UC/OS操作系统的所有文件添加到Keil5工程中,同时修改os_cpu.h、os_cpu_a.asm、os_cpu_c.c三个程序文件[8]。


其中,os_cpu.h文件包括了数据类型的定义以及与处理器相关的代码和函数原型的**,需要修改数据代码的类型,使得编译器和处理器以及编译器数据类型做到了相互通用;os_cpu_a.asm需要使用汇编语言将文件中的部分函数进行编写,主要是进行任务间的切换;os_cpu_c.c定义了用户的钩子函数,同时需要把文件中的相关系统时钟中断函数的部分注释掉,因为系统时钟在主程序中已经给出了定义。


3.4μC/OS-Ⅱ操作系统下的任务建立

本系统分为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所示。


poYBAGJfwvuAD_S5AAGj-n496Sw041.png

图5软件整体工作模式


4系统测试


由于本文所讨论的是对鸽舍内各个设备进行控制,故而鸽笼的大小对于系统的控制并没有影响,为了模拟鸽舍控制系统的运行效果,对实际鸽舍进行缩微化设计,具体如图6所示。


对缩小型的鸽舍进行控制,图6中鸽笼大门可从右边全部打开从事清扫等工作,平常对鸽子的放飞只采用鸽笼小门,利用步进电机控制笼门的上扬下降,并且小门可放置进笼检测装置,温湿度采用模拟加湿加热的方式。


第一次上电连接时,选用机智云协议中的airlink连接方式,同时手机App端启动WiFi搜索,将会搜到最近的可连接的设备[9]。机智云协议自带有WiFi通信方式和GPRS通信方式,手机端可以选择连接WiFi和GPRS,方便人员进行远程操控,通过微控制器的复位键可以将App数据清零。图7显示了鸽笼飞到时间的显示为6月5日12时。图8又展现了手机App发送的温湿度的告警情况。


pYYBAGJfwwKANvLbAAGWjOTY31g990.png

图6 鸽舍模拟实物图

pYYBAGJfwwmAGJNaAACEHTkdr_A268.png

图7 手机APP的鸽子归巢时间显示

pYYBAGJfwxCAfltLAACIuFMuNfc029.png

图8手机APP端温湿度告警


同时,用户还可以通过电脑登录机智云官网的设备日志中查看各个数据点的历史值。

5 结束语

本文研究和设计了一种基于物联网云平台的互联鸽笼控制系统,可以通过手机App与近距离的按键方式对鸽笼内的设备进行控制,同时采用SIM800C模块与WiFi模块相结合的方式,对单鸽的归巢时间进行计时和通知,手机App端可以实时地看到鸽舍内的温湿度情况与发出警报,本系统解决了长期以来喂养赛鸽需要频繁与鸽子直接接触所带来的卫生问题,同时采用物联网的方式饲养赛鸽实现远程饲养,减少了人力,避免了更多爱好者无暇饲养鸽子所面对的困扰。


虽然市场上有专门的赛鸽计时器,但是其功能单一且市值不菲,互联鸽笼控制系统采用光电模块代替了专用赛鸽计时器,价格低廉、且效果较好。在物联网平台的选择上采用了机智云平台,机智云平台对数据点历史记录进行了云端的存储,用户只要登录电脑就可查看。


经过实验测试,该系统性能稳定可靠。然而,本系统的实验环境只是采用模型化模拟的方式,虽然运用于实际环境中具有相同功能,但是与实际的鸽舍运用还是存在一定的差别,亟需后续的改进与进一步完善。例如,在实际的规模化的赛鸽养殖中,单鸽的计时上传远不能满足要求,需要采用模式识别等的方式对多只赛鸽归巢的时间进行上传,所以本系统只是适用于在小型家庭化的赛鸽养殖中使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2265

    文章

    10859

    浏览量

    354545
收藏 人收藏

    评论

    相关推荐

    正点原子的stm32开发板能用stlink吗

    在嵌入式开发领域,STM32系列微控制器因其高性能、低成本和广泛的应用场景而广受欢迎。正点原子(ZYBO)作为国内知名的嵌入式开发板供应商,提供了多种基于
    的头像 发表于 11-13 09:21 207次阅读

    告别繁琐的平台开发IoT_CLOUD之 百度

    ​众所周知,市面上有很多云平台,并且每家平台都有自己的协议,工程师要移植不同的SDK代码或基于各家的手册文档对接不同的协议,看着都头大!!! 为解决繁琐的平台开发困扰, IoT
    的头像 发表于 10-31 07:23 124次阅读
    告别繁琐的<b class='flag-5'>云</b>平台<b class='flag-5'>开发</b>!<b class='flag-5'>IoT</b>_CLOUD之 百度<b class='flag-5'>云</b>

    告别繁琐的平台开发IoT_CLOUD之百度

    文档对接不同的协议,看着都头大!!! 为解决繁琐的平台开发困扰, 合宙IoT_CLOUD应运而生,一库打通所有平台! 本文将以Air780E+LuatOS作为示例,教你使用合宙
    的头像 发表于 10-21 07:05 613次阅读
    告别繁琐的<b class='flag-5'>云</b>平台<b class='flag-5'>开发</b>!<b class='flag-5'>IoT</b>_CLOUD之百度<b class='flag-5'>云</b>

    基于机智移植STM32L496G代码移植

    前言最近我拿到了STM32L496AGMCU,发现其扩展版可以连接ESP-01S。我想尝试将开发板连接到我们的机智上,并根据机智
    的头像 发表于 09-20 08:05 300次阅读
    基于<b class='flag-5'>机智</b><b class='flag-5'>云</b>移植<b class='flag-5'>STM32</b>L496G代码移植

    【有奖直播】STM32最小系统与ESP01S接入机智实战指南

    直播亮点1、零门槛接入机智平台:无需复杂准备,快速实现智能化转型,轻松上手。2、手机App控制实现
    的头像 发表于 09-05 08:03 196次阅读
    【有奖直播】<b class='flag-5'>STM32</b>最小系统<b class='flag-5'>板</b>与ESP01S接入<b class='flag-5'>机智</b><b class='flag-5'>云</b>实战指南

    机智ESP8266开发板RGB彩灯控件

    随着智能家居技术的迅猛发展,RGB彩灯控件正逐渐成为现代家庭不可或缺的一部分。在这一潮流中,机智(Gizwits)的ESP8266开发板RGB彩灯控件以其先进的物联网技术和多样化的灯
    的头像 发表于 08-09 08:10 336次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b>ESP8266<b class='flag-5'>开发板</b>RGB彩灯控件

    盘点那些硬件+项目学习套件:阿里HaaS EDU物联网开发板及入门常见问题解答

    ​华清远见20岁了~过去3年里,华清远见研发中心针对个人开发板业务,打造了多款硬件+项目学习套件,涉及STM32单片机、嵌入式、物联网、人工智能、鸿蒙、ESP32、阿里
    的头像 发表于 07-31 16:28 611次阅读
    盘点那些硬件+项目学习套件:阿里<b class='flag-5'>云</b>HaaS EDU物联网<b class='flag-5'>开发板</b>及入门常见问题解答

    STM32项目分享:智能家居(机智)系统

    STM32项目分享:智能家居(机智)系统
    的头像 发表于 07-28 08:10 1452次阅读
    <b class='flag-5'>STM32</b>项目分享:<b class='flag-5'>智能</b>家居(<b class='flag-5'>机智</b><b class='flag-5'>云</b>)系统

    STM32F103 + ESP8266与机智开发常见问题集锦:入门者必读!

    关于ESP8266模块的选择针对初学者,强烈建议选择带有串口的ESP8266开发板!这可以避免像我曾经遇到的烧录固件失败等问题。推荐直接购买已预装机智固件的模块,或者带有串口下载功能的模块,例如
    的头像 发表于 07-18 08:11 389次阅读
    <b class='flag-5'>STM32</b>F103 + ESP8266与<b class='flag-5'>机智</b><b class='flag-5'>云</b><b class='flag-5'>开发</b>常见问题集锦:入门者必读!

    机智助力小程序开发:连接智能硬件与智能生活

    随着智能硬件的普及和小程序的兴起,人们的生活越来越依赖于智能化的解决方案。作为物联网领域的领先者,机智为小程序开发者提供了丰富的支持和功能
    的头像 发表于 06-15 08:10 361次阅读
    <b class='flag-5'>机智</b><b class='flag-5'>云</b>助力小程序<b class='flag-5'>开发</b>:连接<b class='flag-5'>智能</b>硬件与<b class='flag-5'>智能</b>生活

    基于 STM32机智智能门锁的实现

    关键词:智能门锁、STM32机智、APP目录1、功能实现2、软、硬件系统设计3、系统调试4、结论1功能
    的头像 发表于 03-23 08:09 1500次阅读
    基于 <b class='flag-5'>STM32</b> 和<b class='flag-5'>机智</b><b class='flag-5'>云</b><b class='flag-5'>智能</b>门锁的<b class='flag-5'>实现</b>

    【涂鸦T2-U开发板试用体验】涂鸦T2-U开发板初体验

    :通过Wi-Fi配网、闪电配网等配网方式,连接涂鸦,可助力开发者快速实现对设备的智能控制; 通过Wi-Fi可接收具备涂鸦特色的Wi-Fi
    发表于 12-22 10:59

    STM32+Linux开发板应用手册

    STM32 WIFI Linux 安卓智能控制开发板应用手册
    发表于 12-21 11:04 3次下载

    【涂鸦T2-U开发板试用体验】开发者注册&amp;产品固件下载

    本帖最后由 jf_09644657 于 2023-12-18 09:33 编辑 非常感谢涂鸦智能提供的T2-U开发板使用机会。本期通过注册开发者获取开发固件及其他
    发表于 12-17 23:03

    【涂鸦T2-U开发板试用体验】+开发板的驱动配置吗?怎么配置?驱动下载链接在哪?

    测 App 的自动化测试中,确保设备已经成功配网怎么理解?是开发板的驱动配置吗?怎么配置?驱动下载链接在哪? 涂鸦测参考的是:https://iot.tuya.com/pmg/st
    发表于 12-17 19:30