搜索
12下一页
返回列表 发新帖本帖赏金 10.00元(功能说明)我要提问

[STM32F1] 基于stm32f103与涂鸦智能的智能蜜蜂养殖系统

[复制链接]
832|25
 楼主 | 2021-4-5 22:07 | 显示全部楼层 |阅读模式
本帖最后由 18785275440 于 2021-4-6 21:42 编辑

#申请原创#
  初中有幸与蜜蜂结缘,但是由于要读书,或者平时没在家,而蜜蜂对生成环境计较苛刻,喜欢安静,干燥,并且在黑暗的环境中,如果管理不好就会造成蜜蜂逃的逃,跑的跑,不仅没有产量反而蜜蜂都跑完了,目前就在想有没有可以远程监控蜂箱的方法。
   我的方案使采用stm32f103c8t6作为主控,然后用涂鸦的三明治开发板VWXR2接入涂鸦云。
捕获.PNG
    C:\Users\dell\Desktop\涂鸦
如果是新用户先注册一个账号

C:\Users\dell\Desktop\涂鸦\涂鸦新建文件夹
注册成功后登陆,然后点击创建产品,流程我上传来,产品创建成功后,下载全部文件,但我发现我做的蜂箱智能养殖系统,系统的功能和我的不符合,这时需要进入自定功能
C:\Users\dell\Desktop\涂鸦\新建功能点
还有就是设备面板,如果不符合自己的要求,可以自定义
捕获.PNG
在开发途中,如果又不懂的,可以点击右上角的文档,进入涂鸦开发者,里面有特别详细的讲解,并且b站上也有视屏讲解,可谓是非常的仔细,非常适合初学者
捕获.PNG
接下就是移植sdk
在原有的工程文件添加 sdk文件,并且把.c和.h文件加入
C:\Users\dell\Desktop\涂鸦\sdk
点击编译,并按照工程报错进行相应的更改,涂鸦在这里也是做的非常详细,只要双击错误,就会跳到错误那里,然后涂鸦在报错那里有中文提示
C:\Users\dell\Desktop\涂鸦\错误
后面的就接着操作,值得注意的是,改完过后会遇到
..\USER\stm32f10x.h(522): error:  #40: expected an identifier
  typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
..\USER\stm32f10x.h(522): error:  #40: expected an identifier
  typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
..\USER\stm32f10x.h(525): error:  #40: expected an identifier
  typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
..\USER\stm32f10x.h(525): error:  #40: expected an identifier
这时只需在WiFi.h中添加头文件 #include "stm32f1xx.h" 来解决
C:\Users\dell\Desktop\涂鸦\错误一
捕获1.PNG 捕获.PNG
添加完成后,只需打开自己所需的功能点
C:\Users\dell\Desktop\涂鸦\功能点
然后在主函数中调用wifi_uart_service();并且初始化wifi_protocol_init();,然后就是配网操作,这里可以用按键,首先调用重置函数,然后调用配网模式选择,根据自己的需求选择模式,下载程序,利用涂鸦小助手进行配网,小助手在下载的文件中有,配网成功后,只需把刚才调用的两个函数屏蔽就可以,这样不用按键也行,不过大家尽量使用按键,方便
C:\Users\dell\Desktop\涂鸦\配网
接下来就是写自己所需功能的函数了,采用超声波检测蜂箱是否有巢虫,具体思想是,蜂箱的长度固定,我只需检测蜂箱底部的长度即可,只要检测的蜂箱长度小于蜂箱的实际长度,便可认为蜂箱有巢虫。当检测蜂箱有巢虫时,并用LED灯进行报警,
然后蜂箱盖检测,检测蜜蜂是否处于黑暗的环境,采用光明电阻检测,当光敏电阻的值低于2600时,并用ledC13作为警报,可认为蜂箱的环境不是黑暗密闭的,
接下来就是蜂箱内的温室度,这是一个很重要的组成部分,我采用的dht11,通过mcu读取,将温湿度实时上传客户端,
C:\Users\dell\Desktop\涂鸦\全图
  1. #include "dect.h"
  2. #include "adc.h"
  3. #include "dht11.h"
  4. #include "wifi.h"
  5. #include "led.h"
  6. #include "UltrasonicWave.h"

  7. void Detect_Read(void)
  8.          
  9. {
  10.         
  11.           Dht11_read();
  12.           get_voit_d();
  13.           get_voit_g();
  14.           UltrasonicWave_StartMeasure();
  15.           chaoshengbo();
  16.          
  17.          
  18. }
  19. //采集光敏电阻转换为亮度值 A1引脚
  20. void get_voit_d(void)
  21. {
  22.          float  light;
  23.          
  24.          light =Get_Adc(1) ;
  25.          if(light<2600)
  26.          {
  27.          mcu_dp_enum_update(DPID_COVER_STATE,0); //当前蜂箱盖状态枚举型数据上报;
  28.         GPIOC ->BRR =GPIO_Pin_13;         
  29.          }
  30.          else
  31.          {
  32.      mcu_dp_enum_update(DPID_COVER_STATE,1); //当前蜂箱盖状态枚举型数据上报;
  33.         GPIOC ->BSRR =GPIO_Pin_13;
  34.          }                 
  35. //         printf ("%f\r\n",light);
  36. }



  37. //采集电源电压 A0引脚
  38. void get_voit_g(void )
  39.         
  40. {
  41.         
  42.         float voit;
  43.         voit=Get_Adc(0) /4096.0*3.3;
  44.         voit=voit/3.3*100;
  45.         mcu_dp_value_update(DPID_BATTERY_PERCENTAGE,voit); //当前电池电量VALUE型数据上报;
  46. //        printf ("%f\r\n",voit);
  47. }

  48. /**********************超声波距离计算***************************/
  49. void chaoshengbo(void)
  50. {  
  51.          float juli;
  52.       juli=TIM_GetCounter(TIM1)*5*34/200.0;
  53.         if(juli<8&&juli!=0)        
  54.         {
  55.         mcu_dp_bool_update(DPID_CHECK,1); // 当前巢虫检测 BOOL型数据上报;
  56.         GPIOB ->BRR =GPIO_Pin_4;        
  57.         }               
  58.      else
  59.         {               
  60.      mcu_dp_bool_update(DPID_CHECK,0); // 当前巢虫检测 BOOL型数据上报;
  61.      GPIOB ->BSRR =GPIO_Pin_4;
  62.         }               
  63. }
  64. void Dht11_read(void)

  65. {
  66.         u8 temperature;              
  67.         u8 humidity;
  68.         DHT11_Read_Data(&temperature,&humidity);
  69.      mcu_dp_value_update(DPID_NOW_TEMP,temperature ); //当前温度检测VALUE型数据上报;
  70.      mcu_dp_value_update(DPID_HUM,humidity); //当前湿度检测VALUE型数据上报;        
  71. //        printf("temperature=%d\r\n",temperature);
  72. //     printf("humidity=%d\r\n",humidity);
  73.         
  74.         
  75.         
  76. }
复制代码
  1. #include "sys.h"
  2. #include "usart.h"
  3. #include "usart2.h"        
  4. #include "led.h"
  5. #include "delay.h"
  6. #include "wifi.h"
  7. #include "adc.h"
  8. #include "dht11.h"
  9. #include "dect.h"
  10. #include "timer.h"
  11. #include "UltrasonicWave.h"
  12. int main(void)
  13. {        
  14.         
  15.         delay_init();                     //延时函数初始化        
  16.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
  17.      DHT11_Init();
  18.         uart_init(9600);//用于WiFi模块通信
  19.      uart2_init(115200);//用于串口通信
  20.         LED_Init();//用于报警模拟
  21.      Adc_Init();
  22.         Timerx_Init(5000,7199);
  23.      wifi_protocol_init();
  24.         UltrasonicWave_Configuration();
  25. //        mcu_reset_wifi();
  26. //        delay_ms (10);
  27. //        mcu_set_wifi_mode(SMART_CONFIG );
  28.         
  29.         while(1)
  30.         {
  31.                 wifi_uart_service();
  32.                 Detect_Read();
  33.         }         
  34. }
复制代码

源码连接gihub
https://github.com/18785275440/tuya-mcu-sdk.git

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 10.00 元 2021-04-08
理由:恭喜通过原创文章审核!请多多加油哦!

| 2021-4-6 09:22 | 显示全部楼层
想法不错,但是这个到底是干嘛的说的不清楚,怎么检测潮虫的,数据的上下发怎么处理的,最好可以详细点

使用特权

评论回复

评论

18785275440 2021-4-6 21:36 回复TA
哈哈,昨天时间不够,在上课,我有时间就改细一点 
| 2021-4-6 09:56 | 显示全部楼层
本帖最后由 YDCMAN 于 2021-4-6 10:02 编辑

,这个项目有个高中生也在做,需求来源于一个偶然,,不要问我怎么知道的?

使用特权

评论回复

评论

YDCMAN 2021-4-7 11:31 回复TA
@18785275440 :是的,深入研究都是学问,会遇到很多瓶颈,仅仅做展示就没必要了 
18785275440 2021-4-6 21:38 回复TA
其实我觉得做远程诱蜂和防盗系统才是最重要的,当然这部分我也要把他写详细 
| 2021-4-10 20:51 | 显示全部楼层
这个不错呢。   

使用特权

评论回复
| 2021-4-10 20:52 | 显示全部楼层
使用的什么通信协议呢   

使用特权

评论回复
| 2021-4-10 20:53 | 显示全部楼层
有相关的硬件资料吗

使用特权

评论回复
| 2021-4-10 20:53 | 显示全部楼层
               

使用特权

评论回复
| 2021-4-10 20:54 | 显示全部楼层
涂鸦云?   

使用特权

评论回复
| 2021-4-10 20:54 | 显示全部楼层
怎么做远程控制呢   

使用特权

评论回复
| 2021-4-10 20:54 | 显示全部楼层
通信 方式呢?

使用特权

评论回复
| 2021-4-10 20:55 | 显示全部楼层
stm32f4呢  ?

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
         

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
在哪里购买的模块呢   

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
涂鸦云跟机智云有什么不同呢   

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
整体的设计架构呢   

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
是MQTT吗?      

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
谢谢楼主分享。     

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
远程控制的效果怎么样  

使用特权

评论回复
| 2021-4-10 20:56 | 显示全部楼层
远程控制吗?   

使用特权

评论回复
| 2021-4-10 20:57 | 显示全部楼层
可以免费申请吗?   

使用特权

评论回复
扫描二维码,随时随地手机跟帖
12下一页
返回列表 发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表