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