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

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

3天内不再提示

浅析基于stm32f103与涂鸦智能的智能蜜蜂养殖系统

Q4MP_gh_c472c21 来源:21IC电子网论坛 作者:用户18785275440 2021-04-13 11:47 次阅读

初中有幸与蜜蜂结缘,但是由于要读书,或者平时没在家,而蜜蜂对生成环境计较苛刻,喜欢安静,干燥,并且在黑暗的环境中,如果管理不好就会造成蜜蜂逃的逃,跑的跑,不仅没有产量反而蜜蜂都跑完了,目前就在想有没有可以远程监控蜂箱的方法。

我的方案使采用stm32f103c8t6作为主控,然后用涂鸦的三明治开发板VWXR2接入涂鸦云。

C:UsersdellDesktop涂鸦

如果是新用户先注册一个账号

C:UsersdellDesktop涂鸦涂鸦新建文件夹

注册成功后登陆,然后点击创建产品,流程我上传来,产品创建成功后,下载全部文件,但我发现我做的蜂箱智能养殖系统,系统的功能和我的不符合,这时需要进入自定功能

C:UsersdellDesktop涂鸦新建功能点

还有就是设备面板,如果不符合自己的要求,可以自定义

72d4be60-9b7a-11eb-8b86-12bb97331649.png

在开发途中,如果又不懂的,可以点击右上角的文档,进入涂鸦开发者,里面有特别详细的讲解,并且b站上也有视屏讲解,可谓是非常的仔细,非常适合初学者

73142d66-9b7a-11eb-8b86-12bb97331649.png

接下就是移植sdk

在原有的工程文件添加 sdk文件,并且把.c和.h文件加入

C:UsersdellDesktop涂鸦sdk

点击编译,并按照工程报错进行相应的更改,涂鸦在这里也是做的非常详细,只要双击错误,就会跳到错误那里,然后涂鸦在报错那里有中文提示

C:UsersdellDesktop涂鸦错误

后面的就接着操作,值得注意的是,改完过后会遇到

。.USERstm32f10x.h(522): error: #40: expected an identifier

typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;

。.USERstm32f10x.h(522): error: #40: expected an identifier

typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;

。.USERstm32f10x.h(525): error: #40: expected an identifier

typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;

。.USERstm32f10x.h(525): error: #40: expected an identifier

这时只需在WiFi.h中添加头文件 #include “stm32f1xx.h” 来解决

C:UsersdellDesktop涂鸦错误一

73395f1e-9b7a-11eb-8b86-12bb97331649.png

73452a42-9b7a-11eb-8b86-12bb97331649.png

添加完成后,只需打开自己所需的功能点

C:UsersdellDesktop涂鸦功能点

然后在主函数中调用wifi_uart_service();并且初始化wifi_protocol_init();,然后就是配网操作,这里可以用按键,首先调用重置函数,然后调用配网模式选择,根据自己的需求选择模式,下载程序,利用涂鸦小助手进行配网,小助手在下载的文件中有,配网成功后,只需把刚才调用的两个函数屏蔽就可以,这样不用按键也行,不过大家尽量使用按键,方便。

C:UsersdellDesktop涂鸦配网

接下来就是写自己所需功能的函数了,采用超声波检测蜂箱是否有巢虫,具体思想是,蜂箱的长度固定,我只需检测蜂箱底部的长度即可,只要检测的蜂箱长度小于蜂箱的实际长度,便可认为蜂箱有巢虫。当检测蜂箱有巢虫时,并用LED灯进行报警。

然后蜂箱盖检测,检测蜜蜂是否处于黑暗的环境,采用光明电阻检测,当光敏电阻的值低于2600时,并用ledC13作为警报,可认为蜂箱的环境不是黑暗密闭的。接下来就是蜂箱内的温室度,这是一个很重要的组成部分,我采用的dht11,通过mcu读取,将温湿度实时上传客户端。

C:UsersdellDesktop涂鸦全图

#include “dect.h”#include “adc.h”#include “dht11.h”#include “wifi.h”#include “led.h”#include “UltrasonicWave.h”

void Detect_Read(void){ Dht11_read(); get_voit_d(); get_voit_g(); UltrasonicWave_StartMeasure(); chaoshengbo(); }//采集光敏电阻转换为亮度值 A1引脚void get_voit_d(void){ float light; light =Get_Adc(1) ; if(light《2600) { mcu_dp_enum_update(DPID_COVER_STATE,0); //当前蜂箱盖状态枚举型数据上报; GPIOC -》BRR =GPIO_Pin_13; } else { mcu_dp_enum_update(DPID_COVER_STATE,1); //当前蜂箱盖状态枚举型数据上报; GPIOC -》BSRR =GPIO_Pin_13; } // printf (“%f

”,light);}

//采集电源电压 A0引脚void get_voit_g(void ){ float voit; voit=Get_Adc(0) /4096.0*3.3; voit=voit/3.3*100; mcu_dp_value_update(DPID_BATTERY_PERCENTAGE,voit); //当前电池电量VALUE型数据上报;// printf (“%f

”,voit);}

/**********************超声波距离计算***************************/void chaoshengbo(void){ float juli; juli=TIM_GetCounter(TIM1)*5*34/200.0; if(juli《8&&juli!=0) { mcu_dp_bool_update(DPID_CHECK,1); // 当前巢虫检测 BOOL型数据上报; GPIOB -》BRR =GPIO_Pin_4; } else { mcu_dp_bool_update(DPID_CHECK,0); // 当前巢虫检测 BOOL型数据上报; GPIOB -》BSRR =GPIO_Pin_4; } }void Dht11_read(void){ u8 temperature; u8 humidity; DHT11_Read_Data(&temperature,&humidity); mcu_dp_value_update(DPID_NOW_TEMP,temperature ); //当前温度检测VALUE型数据上报; mcu_dp_value_update(DPID_HUM,humidity); //当前湿度检测VALUE型数据上报; // printf(“temperature=%d

”,temperature);// printf(“humidity=%d

”,humidity); }

#include “sys.h”#include “usart.h”#include “usart2.h” #include “led.h”#include “delay.h”#include “wifi.h”#include “adc.h”#include “dht11.h”#include “dect.h”#include “timer.h”#include “UltrasonicWave.h”int main(void){ delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2 DHT11_Init(); uart_init(9600);//用于WiFi模块通信 uart2_init(115200);//用于串口通信 LED_Init();//用于报警interwetten与威廉的赔率体系 Adc_Init(); Timerx_Init(5000,7199); wifi_protocol_init(); UltrasonicWave_Configuration();// mcu_reset_wifi();// delay_ms (10);// mcu_set_wifi_mode(SMART_CONFIG ); while(1) { wifi_uart_service(); Detect_Read(); } }
编辑:lyn

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

    关注

    33

    文章

    477

    浏览量

    63669
  • 涂鸦智能
    +关注

    关注

    7

    文章

    206

    浏览量

    19478

原文标题:基于stm32f103与涂鸦智能的智能蜜蜂养殖系统

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32F103x8/STM32F103xB规格书

    电子发烧友网站提供《STM32F103x8/STM32F103xB规格书.pdf》资料免费下载
    发表于 12-06 15:43 0次下载

    畜禽养殖环境智能监控系统

    在现代农业的发展浪潮中,畜禽养殖业的智能化转型已成为不可逆转的趋势。其中,畜禽养殖环境智能监控系统作为提升
    的头像 发表于 11-20 17:14 197次阅读

    STM32F103×8/STM32F103×B MCU手册

    1. Q: STM32F103C8T6如何正确配置时钟系统?A: STM32F103C8T6的时钟系统配置通常涉及HSE(高速外部时钟)、HSI(高速内部时钟)、PLL(相位锁定环)等
    发表于 11-18 15:14 0次下载

    智能养殖监控系统方案

    随着科技的飞速发展,智能养殖作为一种新型的养殖模式,正逐渐改变着传统养殖业的格局。智能养殖通过引
    的头像 发表于 08-08 09:44 336次阅读
    <b class='flag-5'>智能</b><b class='flag-5'>养殖</b>监控<b class='flag-5'>系统</b>方案

    STM32F103无法下载程序的原因?

    STM32F103无法下载程序
    发表于 07-09 06:24

    如何使用STM32F103控制LTC2662?

    使用STM32F103控制LTC2662
    发表于 07-04 07:46

    STM32F103xC,STM32F103xD,STM32F103xE中文资料

    电子发烧友网站提供《STM32F103xC,STM32F103xD,STM32F103xE中文资料.pdf》资料免费下载
    发表于 06-17 14:12 4次下载

    如何使用STM32F103硬件SPI驱动AD5313?

    使用STM32F103硬件SPI驱动AD5313
    发表于 06-04 07:17

    stm32f302和stm32f103的ADC区别是什么?

    请问stm32f302和stm32f103的ADC除了stm32f103有2个ADC(ADC1和ADC2),stm32f302只有1个ADC外,在使用ADC+DMA采样多通道的模拟信号
    发表于 05-15 08:03

    智能养殖监控系统组成与功能

    随着科技的飞速发展,智能养殖作为一种新型的养殖模式,正逐渐改变着传统养殖业的格局。智能养殖通过引
    的头像 发表于 05-13 17:44 356次阅读

    请问STM32F103 USB HID可以增加端点吗?

    STM32F103 USB HID可以增加端点吗?
    发表于 04-07 06:52

    stm32f103从上电到系统稳定需要多久呢?

    stm32f103从上电到系统稳定需要多久呢,有大佬知道吗,datasheet里没找到这个,谢谢大佬们解答
    发表于 03-25 08:19

    STM32F103如何使用BOOT下载程序?

    STM32F103如何使用BOOT下载程序
    发表于 03-15 07:21

    ARM系列STM32F103芯片的解密方法

    本文介绍ARM系列STM32F103芯片的解密方法,其内核是Cortex-M3,内存从16K-512K都有。
    发表于 02-28 11:20 1707次阅读

    stm32f103 flash模拟eeprom

    STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,该系列芯片具有高性能和丰富的外设接口,广泛应用于工业控制、消费电子、汽车电子等领域。其中
    的头像 发表于 01-09 11:21 2053次阅读