摘要
本智能鴿籠控制系統(tǒng)由貴州大學電氣工程專業(yè)的劉磊、王民慧設計開發(fā)完成,基于STM32+機智云AIoT云平臺設計專為賽鴿進籠檢測的裝置,利用機智云平臺進行數據的傳輸交換,通過 WiFi 模塊與云端的通信,將采集到的溫濕度、歸巢時間、告警信號等發(fā)送到手機 APP 端,同時在鴿子歸巢時通過撥打人員電話,在斷網的情況下可以進行按鍵操作,最終以物聯網控制的方式能夠對賽鴿進行有效的飼養(yǎng)選育。
正文內容
在賽鴿養(yǎng)殖中,飼養(yǎng)者因為工作生活繁忙等原因將無法按時喂養(yǎng)鴿子,同時賽鴿的養(yǎng)殖往往需要直接接觸鴿子羽毛排泄物等,衛(wèi)生問題尤為突出。在優(yōu)秀乳鴿的選擇上,通常采用給鴿子佩戴高昂的賽鴿計時裝置,此外鴿舍內的溫濕度直接影響著賽鴿的健康,需要及時對鴿舍內的溫濕度進行調節(jié)。為此,本設計提出了一種利用物聯網技術對鴿舍內的裝置進行控制的方法,該系統(tǒng)以STM32L476RG為主控芯片,利用機智云AIoT平臺進行數據的傳輸交換,設計了專為賽鴿進籠檢測的裝置,將WiFi模塊與SIM800C通信模塊相結合達到賽鴿歸巢時間的計時與通知。采用DHT11模塊和風扇模塊組成溫濕度的調節(jié)系統(tǒng),在手機App端可以實時查看溫濕度變動和控制設備狀態(tài),同時還能在按鍵模塊上對設備進行操作,在電腦端可以登錄機智云官網查看數據點歷史記錄。
系統(tǒng)整體方案設計
本文設計了一種基于機智云AIoT開發(fā)平臺的多功能鴿籠控制系統(tǒng),系統(tǒng)主要由溫濕度傳感器、步進電機、光電傳感器模塊、WiFi模塊、控制器、繼電器模塊及排風風扇構成。用戶通過手機APP端控制鴿籠門的開關,可實現手動和自動地喂食、喂水,同時通過溫濕度傳感器模塊監(jiān)控鴿舍內的溫濕度的情況,將鴿籠內的環(huán)境數據上傳至機智云平臺。當溫濕度超過設定值時,APP頁面端會產生告警標志??紤]用戶需要對鴿子進行訓飛計時,為此專門研發(fā)了一種可安放的進籠檢測裝置。當進行單鴿訓飛時,只要將鴿籠門打開將裝置擺放在鴿籠門口就可以進行歸巢時間的檢測,將鴿子歸巢的時間傳至手機APP端,并且通過GSM模塊給訓飛人員撥打電話。為了防止斷網導致鴿籠設備無法正常工作,訓飛人員可以通過機智云網站方便地查看鴿舍內部的歷史數據。此外本文中還設計了按鍵模塊,可以對開關鴿籠門和喂水、喂食進行按鍵操作?;ヂ擑澔\的系統(tǒng)結構如圖1所示。
圖1 鴿籠系統(tǒng)結構圖
系統(tǒng)硬件設計
喂食喂水系統(tǒng)鴿籠喂食喂水系統(tǒng)采用手動和定時自動、遠程和近程控制的方式相結合,通過手機APP遠程控制定時喂食和手動喂食的兩種飼養(yǎng)方式。為了防止斷網而使喂食喂水系統(tǒng)受到波及,在操作系統(tǒng)按鍵模塊中分為開關糧食、開關水閥、五個開關鴿籠門,可以在無網的情況下有效保證近距離飼養(yǎng)鴿子的基本條件。對此可做研究分述如下。
喂食系統(tǒng)
喂食系統(tǒng)的食物出口采用了蝴蝶閥狀開關加上5V步進電機的控制方式。由步進電機驅動蝴蝶閥門轉動一定的角度使得糧食從儲糧盒中落入食槽,存儲盒采用漏斗形狀,方便與糧食出口控制裝置相結合。喂食系統(tǒng)的結構示意圖如圖2所示。
圖2 喂食系統(tǒng)結構圖該裝置采用型號為24BYJ485V驅動的步進電機,自動喂食則是通過STM32RTC實時時鐘中斷完成,根據實際情況每天喂兩次,將實時時鐘中斷設定為12h中斷一次,進行一次蝴蝶閥的開關動作。
喂水系統(tǒng)
喂水系統(tǒng)由5V繼電器和12V的電磁閥構成。電磁閥連接塑料水管上端續(xù)接到一個小型水箱,下端放置喝水水槽,繼電器的控制端口連接至控制器的PA2口。電磁閥的供電電源采用220VAC轉12VDC的電源電路,由微控制器控制電源電路輸出線路的通斷來調控整個喂水系統(tǒng)。
溫濕度檢測調節(jié)系統(tǒng)高溫高濕影響鴿子的熱調節(jié),加劇了高溫的不良反應,破壞鴿子的熱平衡。高溫的時候,鴿子體內靠蒸發(fā)散熱,而蒸發(fā)散熱正比于鴿子體內蒸發(fā)面皮膚和呼吸道水汽壓與空氣水汽壓之差,舍內空氣濕度大,空氣水汽壓升高,鴿子蒸發(fā)面水汽壓與空氣水汽壓之差變小,不利于鴿子的蒸發(fā)散熱,從而加重集體熱調節(jié)負擔,熱反應更加嚴重。高溫高濕,鴿子體內的抵抗力下降,容易導出傳染病的發(fā)生。良好的鴿舍溫濕度應該為溫度≤40℃、濕度≤70%。本設計采用了DHT11溫濕度檢測模塊,同時對溫度和濕度進行測量。溫度測量范圍為0℃~50℃,濕度測量范圍為20%RH~90%RH,采用IIC通信方式能很好地與微控制器進行通信,滿足系統(tǒng)對溫濕度檢測的設計要求。溫濕度的調節(jié)采用排風風扇的方式,排風扇運用5V電壓驅動控制端接入PA2,當溫濕度超過設定的值時,PA2口輸出高電平,排風扇開啟;當溫濕度小于設定值時,輸出低電平,排風扇關閉。同時在手機APP端就可以實時查看當前的溫濕度的情況。
通信模塊通信模塊的設計主要采用ATK-ESP8266WiFi模塊和SIM800CGSM模塊。ATK-ESP8266WiFi模塊是一款高性能的UART-WiFi模塊,采用WiFi模塊將數據傳送到云端的同時,并與WiFi模塊中下載的機智云GAgent通信協議發(fā)生交互,可進行云端的數據交換和設備的控制。SIM800CGSM模塊是一款高性能的工業(yè)級GSM/GPRS模塊。在進行單鴿的訓飛計時的過程中,鴿子通過時間檢測裝置時,微控制器將通過AT指令與模塊通過撥打人員的電話,及時告知鴿子已經飛回鴿舍。
進籠檢測裝置進籠檢測裝置主要用于檢測單鴿歸巢時間。裝置是前后相通、上方插入活絡門的盒型裝置,旁邊安放有光電傳感模塊。當要對鴿子進行歸巢時間計時的時候,通過手機APP或者按鍵將由步進電機控制的鴿籠小門開啟,同時將檢測裝置放置在鴿子的進出門口。由于進籠檢測裝置采用活絡門的方式,光電感應模塊放置在活絡門的前方,有效防止鴿舍內的鴿子對進籠檢測裝置的干擾。當鴿子進入檢測裝置時,光電傳感模塊將向微控制器發(fā)送一個低電平,微控制器就將此時的RTC實時時鐘數據發(fā)送到手機APP端,同時通過AT指令撥打人員電話。
圖3 進籠檢測裝置如圖3所示,光電感應模塊放置在活絡門擋桿的前面,系統(tǒng)設計的活絡門結構使得鴿子進去之后就無法再出來,防止其它鴿子對檢測裝置產生干擾。光電感應模塊電路設計如圖4所示。
圖4 光電感應模塊電路
系統(tǒng)軟件設計
軟件設計方法基于云平臺的互聯鴿籠控制系統(tǒng)要完成的遠程控制和數據的傳輸的功能,選用了機智云AIoT開發(fā)平臺。首先需要在機智云平臺的開發(fā)中心建立項目,同時在項目中心添加數據點,數據點的作用是對系統(tǒng)的某種功能進行抽象化,采用不同的數據類型表示。例如簡單的設備的“開關”,其功能為開啟和關閉,將這個功能抽象為布爾類型性的數據點,0表示關閉,1表示開啟。數據點是機智云中重要的屬性通,過機智云與設備相聯系的第一步就是需要將整個系統(tǒng)的功能進行完整的羅列,并通過機智云平臺將所描述的功能通過數據點的方式進行表示。后續(xù)通過機智云平臺會根據創(chuàng)建好的數據點生成用于開發(fā)的MCU協議,在生成的協議的基礎上進行操作系統(tǒng)下的程序設計開發(fā)。
數據點的建立根據系統(tǒng)的設計要求,在機智云端建立好數據點,在手機App端可供操作的功能具體為:開關籠門、開關水閥、開關糧食、自動喂食、開關燈、溫濕度的顯示與告警和飛回時間的顯示。因此按照上述的功能進行云端的數據點的設置,詳見表1。
表1 數據點設置由表1可知,對于籠門開關、糧食開關、水閥開關、燈開關類型的數據點為布爾類型,對于溫濕度、飛回時間的顯示采用數值類型數據點,溫濕度告警采用告警類型數據點。在機智云平臺對相應的數據點完成設置,就可在機智云端生成相應的數據點的端口定義文件,將生成的端口定義文件添加到所創(chuàng)建的程序中,即可完成云端數據點與手機APP端的聯系。在機智云端下載完畢的文件中有與APP端相聯系的數據點信息,當與機智云端有數據交換時,機智云協議文件中的相應的標志變量隨即將發(fā)生改變,如通過自動喂食開關量由0x00到0x01的變化,并利用判定語句完成對RTC實時時鐘中斷標志位的設置。
操作系統(tǒng)的移植本系統(tǒng)的程序包括多項任務操作,包括溫濕度檢測與上傳、按鍵模塊的掃描、手機App端的控制、光電模塊信號的檢測,AT指令的傳輸等。嵌入式操作系統(tǒng)具有高實時性,并且支持多任務的管理,對程序的開發(fā)也更加便捷,提高系統(tǒng)的穩(wěn)定性與可靠性。UC/OS操作系統(tǒng)免費,且可以很方便地移植到STM32。移植過的要點是需要將操作系統(tǒng)的所有文件添加到Keil5工程中,同時修改os_cpu.h、os_cpu_a.asm、os_cpu_c.c三個程序文件。其中os_cpu.h文件包括了數據類型的定義以及與處理器相關的代碼和函數原型的聲明,需要修改數據代碼的類型,使得編譯器和處理器以及編譯器數據類型做到了相互通用;os_cpu_a.asm需要使用匯編語言將文件中的部分函數進行編寫,主要是進行任務間的切換;os_cpu_c.c定義了用戶的鉤子函數,同時需要把文件中的相關系統(tǒng)時鐘中斷函數的部分注釋掉,因為系統(tǒng)時鐘在主程序中已經給出了定義。
操作系統(tǒng)下的任務建立
本系統(tǒng)分為6個任務,分別是溫濕度檢測上傳任務、按鍵掃描任務、光電信號檢測任務、App開關判定任務、歸巢時間上傳任務及撥打電話任務,任務的設計功能可表述如下:
(1)溫濕度檢測任務:將讀取到的DHT11模塊的溫濕度數值上傳到機智云端,當溫濕度超過設定值時在手機App端將會呈現告警標志,同時通過消息郵箱的方式將溫濕度數據傳送給風扇控制程序,優(yōu)先級定義為5。
(2)按鍵掃描任務:系統(tǒng)將籠門、糧食和水閥這6個開關接入到微控制器的6個I/O口,從而保證在斷網的情況下也能提供鴿舍內的正常控制,優(yōu)先級定義為4。
(3)光電信號檢測任務:進行單鴿訓飛計時時,鴿子進入檢測裝置后,光電信號模塊向微控制器發(fā)送一個低電平,任務會通過信號量的方式將低電平消息傳回、再撥打電話給任務巢,因此任務優(yōu)先級定義為3。
(4)App開關執(zhí)行任務:手機App端有多個開關,此任務將通過判定機智云通信協議中的標志變量是0或者1,執(zhí)行相應的動作,優(yōu)先級定義為6。
(5)撥打電話任務:等待光電信號檢測任務傳遞的低電平消息后,通過AT指令與SIM800C通信撥打人員電話,優(yōu)先級定義為7。
(6)風扇控制任務:接收溫濕度檢測單元傳來的溫濕度數據,判定溫濕度是否超過設定值,用于控制風扇的關停,優(yōu)先級定義為9。系統(tǒng)的軟件整體流程如圖5所示。
圖5軟件整體工作模式
系統(tǒng)測試
本系統(tǒng)實現對鴿舍內各個設備進行控制,為了模擬鴿舍控制系統(tǒng)的運行效果,對實際鴿舍進行縮微化設計,具體如圖6所示。
圖6 鴿舍模擬實物圖對縮小型的鴿舍進行控制,圖6中鴿籠大門可從右邊全部打開從事清掃等工作,平常對鴿子的放飛只采用鴿籠小門,利用步進電機控制籠門的上揚下降,并且小門可放置進籠檢測裝置,溫濕度采用模擬加濕加熱的方式。第一次上電連接時,選用機智云協議中的Airlink連接方式,同時手機App端啟動WiFi搜索,將會搜到最近的可連接的設備。機智云協議自帶有WiFi通信方式和GPRS通信方式,手機端可以選擇連接WiFi和GPRS,方便人員進行遠程操控,通過微控制器的復位鍵可以將App數據清零。
圖7 手機APP的鴿子歸巢時間顯示
圖8手機APP端溫濕度告警同時用戶還可以通過電腦登錄機智云官網的設備日志中查看各個數據點的歷史值。
系統(tǒng)總結
基于機智云AIoT云平臺的互聯鴿籠控制系統(tǒng),可通過手機APP與近距離的按鍵方式對鴿籠內的設備進行控制,同時采用SIM800C模塊與WiFi模塊相結合的方式,對單鴿的歸巢時間進行計時和通知,手機APP端可以實時地看到鴿舍內的溫濕度情況與發(fā)出警報。有效解決了長期以來喂養(yǎng)賽鴿需要頻繁與鴿子直接接觸所帶來的衛(wèi)生問題,同時采用物聯網的方式飼養(yǎng)賽鴿實現遠程飼養(yǎng),減少了人力,避免了更多愛好者無暇飼養(yǎng)鴿子所面對的困擾。
互聯鴿籠控制系統(tǒng)采用光電模塊代替了專用賽鴿計時器,價格低廉、且效果較好。在物聯網平臺的選擇上采用了機智云平臺,云平臺對數據點歷史記錄進行了云端的存儲,用戶只要登錄電腦就可查看。
原文標題:IoT畢業(yè)設計 | STM32+機智云AIoT云平臺實現智能鴿籠控制
文章出處:【微信公眾號:機智云開發(fā)者】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
控制系統(tǒng)
+關注
關注
41文章
6622瀏覽量
110614 -
STM32
+關注
關注
2270文章
10900瀏覽量
356092 -
云平臺
+關注
關注
1文章
1307瀏覽量
38957 -
機智云
+關注
關注
2文章
590瀏覽量
26412
原文標題:IoT畢業(yè)設計 | STM32+機智云AIoT云平臺實現智能鴿籠控制
文章出處:【微信號:IoTMaker,微信公眾號:機智云開發(fā)者】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論