初中有幸與蜜蜂結(jié)緣,但是由于要讀書,或者平時沒在家,而蜜蜂對生成環(huán)境計較苛刻,喜歡安靜,干燥,并且在黑暗的環(huán)境中,如果管理不好就會造成蜜蜂逃的逃,跑的跑,不僅沒有產(chǎn)量反而蜜蜂都跑完了,目前就在想有沒有可以遠(yuǎn)程監(jiān)控蜂箱的方法。
我的方案使采用stm32f103c8t6作為主控,然后用涂鴉的三明治開發(fā)板VWXR2接入涂鴉云。
C:UsersdellDesktop涂鴉
如果是新用戶先注冊一個賬號
C:UsersdellDesktop涂鴉涂鴉新建文件夾
注冊成功后登陸,然后點(diǎn)擊創(chuàng)建產(chǎn)品,流程我上傳來,產(chǎn)品創(chuàng)建成功后,下載全部文件,但我發(fā)現(xiàn)我做的蜂箱智能養(yǎng)殖系統(tǒng),系統(tǒng)的功能和我的不符合,這時需要進(jìn)入自定功能
C:UsersdellDesktop涂鴉新建功能點(diǎn)
還有就是設(shè)備面板,如果不符合自己的要求,可以自定義
在開發(fā)途中,如果又不懂的,可以點(diǎn)擊右上角的文檔,進(jìn)入涂鴉開發(fā)者,里面有特別詳細(xì)的講解,并且b站上也有視屏講解,可謂是非常的仔細(xì),非常適合初學(xué)者
接下就是移植sdk
在原有的工程文件添加 sdk文件,并且把.c和.h文件加入
C:UsersdellDesktop涂鴉sdk
點(diǎn)擊編譯,并按照工程報錯進(jìn)行相應(yīng)的更改,涂鴉在這里也是做的非常詳細(xì),只要雙擊錯誤,就會跳到錯誤那里,然后涂鴉在報錯那里有中文提示
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涂鴉錯誤一
添加完成后,只需打開自己所需的功能點(diǎn)
C:UsersdellDesktop涂鴉功能點(diǎn)
然后在主函數(shù)中調(diào)用wifi_uart_service();并且初始化wifi_protocol_init();,然后就是配網(wǎng)操作,這里可以用按鍵,首先調(diào)用重置函數(shù),然后調(diào)用配網(wǎng)模式選擇,根據(jù)自己的需求選擇模式,下載程序,利用涂鴉小助手進(jìn)行配網(wǎng),小助手在下載的文件中有,配網(wǎng)成功后,只需把剛才調(diào)用的兩個函數(shù)屏蔽就可以,這樣不用按鍵也行,不過大家盡量使用按鍵,方便。
C:UsersdellDesktop涂鴉配網(wǎng)
接下來就是寫自己所需功能的函數(shù)了,采用超聲波檢測蜂箱是否有巢蟲,具體思想是,蜂箱的長度固定,我只需檢測蜂箱底部的長度即可,只要檢測的蜂箱長度小于蜂箱的實際長度,便可認(rèn)為蜂箱有巢蟲。當(dāng)檢測蜂箱有巢蟲時,并用LED燈進(jìn)行報警。
然后蜂箱蓋檢測,檢測蜜蜂是否處于黑暗的環(huán)境,采用光明電阻檢測,當(dāng)光敏電阻的值低于2600時,并用ledC13作為警報,可認(rèn)為蜂箱的環(huán)境不是黑暗密閉的。接下來就是蜂箱內(nèi)的溫室度,這是一個很重要的組成部分,我采用的dht11,通過mcu讀取,將溫濕度實時上傳客戶端。
C:UsersdellDesktop涂鴉全圖
#include “dect.h”#include “adc.h”#include “dht11.h”#include “wifi.h”#include “l(fā)ed.h”#include “UltrasonicWave.h”
void Detect_Read(void){ Dht11_read(); get_voit_d(); get_voit_g(); UltrasonicWave_StartMeasure(); chaoshengbo(); }//采集光敏電阻轉(zhuǎn)換為亮度值 A1引腳void get_voit_d(void){ float light; light =Get_Adc(1) ; if(light《2600) { mcu_dp_enum_update(DPID_COVER_STATE,0); //當(dāng)前蜂箱蓋狀態(tài)枚舉型數(shù)據(jù)上報; GPIOC -》BRR =GPIO_Pin_13; } else { mcu_dp_enum_update(DPID_COVER_STATE,1); //當(dāng)前蜂箱蓋狀態(tài)枚舉型數(shù)據(jù)上報; 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); //當(dāng)前電池電量VALUE型數(shù)據(jù)上報;// 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); // 當(dāng)前巢蟲檢測 BOOL型數(shù)據(jù)上報; GPIOB -》BRR =GPIO_Pin_4; } else { mcu_dp_bool_update(DPID_CHECK,0); // 當(dāng)前巢蟲檢測 BOOL型數(shù)據(jù)上報; 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 ); //當(dāng)前溫度檢測VALUE型數(shù)據(jù)上報; mcu_dp_value_update(DPID_HUM,humidity); //當(dāng)前濕度檢測VALUE型數(shù)據(jù)上報; // printf(“temperature=%d
”,temperature);// printf(“humidity=%d
”,humidity); }
#include “sys.h”#include “usart.h”#include “usart2.h” #include “l(fā)ed.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(); //延時函數(shù)初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級分組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(); } }
編輯:lyn
-
STM32F103
+關(guān)注
關(guān)注
33文章
477瀏覽量
63701 -
涂鴉智能
+關(guān)注
關(guān)注
7文章
212瀏覽量
19490
原文標(biāo)題:基于stm32f103與涂鴉智能的智能蜜蜂養(yǎng)殖系統(tǒng)
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論