初中有幸与蜜蜂结缘,但是由于要读书,或者平时没在家,而蜜蜂对生成环境计较苛刻,喜欢安静,干燥,并且在黑暗的环境中,如果管理不好就会造成蜜蜂逃的逃,跑的跑,不仅没有产量反而蜜蜂都跑完了,目前就在想有没有可以远程监控蜂箱的方法。
我的方案使采用stm32f103c8t6作为主控,然后用涂鸦的三明治开发板VWXR2接入涂鸦云。
#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\r\n",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\r\n",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\r\n",temperature);
// printf("humidity=%d\r\n",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();//用于报警模拟
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();
}
}
---------------------
作者:18785275440
链接:https://bbs.21ic.com/icview-3122888-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。