李惠娜
(韓山師范學(xué)院,廣東潮州,521000)
雞蛋孵化是一項非常重要的技術(shù),而雞蛋孵化溫度是蛋雞孵化過程中一項非常重要的參數(shù),對于蛋雞的孵化起到了很大的影響。孵化前期溫度高則要求濕度低,出雛時濕度高則要求溫度低,一般在落盤后應(yīng)該增加濕度,同時要降低溫度。實(shí)際生產(chǎn)中應(yīng)防止同時出現(xiàn)高溫高濕,因?yàn)楦邷馗邼駮?dǎo)致排氣不通暢,使得孵化機(jī)內(nèi)二氧化碳濃度加大,影響胚胎發(fā)育。所以濕度和溫度對于雞蛋的孵化都是重要的參數(shù)。根據(jù)這一特點(diǎn),采用STM32、溫濕度傳感器(DHT11)、光強(qiáng)度傳感器(BH1750)和阿里云物聯(lián)網(wǎng)平臺設(shè)計出雞蛋的孵化環(huán)境控制系統(tǒng),對雞蛋孵化過程的這兩個關(guān)鍵性參數(shù)進(jìn)行實(shí)時把控,從而提高雞蛋的孵化率。
本設(shè)計以溫濕度傳感器、光強(qiáng)度傳感器和STM32開發(fā)板、WiFi模塊為開發(fā)環(huán)境的雞蛋孵化環(huán)境參數(shù)控制系統(tǒng)。讓STM32通過WiFi(ESP8266)模塊連接上阿里云,實(shí)現(xiàn)數(shù)據(jù)采集上云,實(shí)時更新孵化環(huán)境參數(shù)的數(shù)據(jù),當(dāng)參數(shù)超過手動設(shè)置的閾值時,系統(tǒng)會發(fā)出警報,從而實(shí)現(xiàn)對雞蛋孵化環(huán)境的實(shí)時監(jiān)控,提高孵化效率。選擇阿里云IoT物聯(lián)網(wǎng)平臺來設(shè)計該系統(tǒng)是因?yàn)樗哂邪踩⒎€(wěn)定、低時延、高可用、免運(yùn)維的優(yōu)點(diǎn),使系統(tǒng)開發(fā)簡單,人員操作便利,適用于中小型的雞蛋孵化廠的環(huán)境控制系統(tǒng)。
本文的雞蛋孵化環(huán)境檢測系統(tǒng)的設(shè)計總架構(gòu)包括數(shù)據(jù)采集模塊、WiFi連網(wǎng)模塊、主控模塊、蜂鳴器模塊、云平臺模塊。其總體架構(gòu)如圖1所示。
圖1 雞蛋孵化環(huán)境檢測系統(tǒng)的總體架構(gòu)
1.2.1 數(shù)據(jù)采集模塊
系統(tǒng)采用DHT11溫濕度傳感器和BH1750 光照傳感器來實(shí)時采集雞蛋孵化環(huán)境的溫濕度、光照強(qiáng)度。STM32開發(fā)板板載 1 個溫濕度傳感器接口,支持 DS18B20、DHT11等單總線器件,連接到 STM32 的 PB9 管腳,電路如圖2所示。DHT11是一款有已校準(zhǔn)數(shù)字信號輸出的溫濕度傳感器。其精度濕度±5%RH, 溫度±2℃,量程濕度5~95%RH,溫度-20~+60℃。DHT11包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價比極高等優(yōu)點(diǎn)。BH1750的內(nèi)部由光敏二極管、運(yùn)算放大器、ADC采集、晶振等組成。PD二極管通過光生伏特效應(yīng)將輸入光信號轉(zhuǎn)換成電信號,經(jīng)運(yùn)算放大電路放大后,由ADC采集電壓,然后通過邏輯電路轉(zhuǎn)換成16位二進(jìn)制數(shù)存儲在內(nèi)部的寄存器中。
圖2 電路圖
1.2.2 WiFi模塊
STM32開發(fā)板板載了一個 WiFi 無線模塊接口,可連接WiFi(ESP8266)模塊,U2_TX、U2_RX分別連接到STM32 的 PA2、PA3 引腳,使用串口 USART2。
本文采用WiFi (ESP8266)模塊是因?yàn)樗行阅芊€(wěn)定的特點(diǎn)。WiFi具有網(wǎng)絡(luò)通信功能,可以發(fā)起 TCP 連接,連接服務(wù)器。WiFi 模塊有 2 種工作模式,STA 和 AP,通過常用的AT指令進(jìn)行控制。AP 就相當(dāng)于路由器或熱點(diǎn),其它設(shè)備比如手機(jī)或電腦可以直連這個WiFi模塊。本文的WiFi模塊通過用AT指令控制,設(shè)置 WiFi 模式為 STA,再加入路由器,設(shè)置一個為名稱,一個為密碼。設(shè)置 WiFi 自動連接,啟動配網(wǎng),若自動配網(wǎng)失敗,將自動配網(wǎng)模式關(guān)閉,手動輸入網(wǎng)絡(luò)名稱、密碼進(jìn)行配網(wǎng)。
1.2.3 STM32主控模塊
雞蛋孵化環(huán)境檢測系統(tǒng)采用STM32開發(fā)板作為系統(tǒng)的核心,它主要負(fù)責(zé)控制傳感器完成環(huán)境的溫濕度、光照強(qiáng)度的參數(shù)值的采集及數(shù)據(jù)分析、處理,并控制云平臺顯示上報數(shù)據(jù),讀取云平臺下發(fā)數(shù)據(jù)和控制蜂鳴器是否發(fā)出警報等。主控使用的STM32開發(fā)板具有物聯(lián)網(wǎng) IOT 的連接能力,能夠連接上物聯(lián)網(wǎng)云平臺,實(shí)現(xiàn)數(shù)據(jù)的上傳,使用戶能在云平臺實(shí)時查看數(shù)據(jù)的變化。
1.2.4 云平臺顯示
選擇阿里云IoT物聯(lián)網(wǎng)平臺來設(shè)計該系統(tǒng)是因?yàn)榘⒗镌莆锫?lián)網(wǎng)平臺能為設(shè)備提供安全可靠的連接通信能力,向下連接海量設(shè)備,支撐設(shè)備數(shù)據(jù)采集上云;向上提供云端 API,服務(wù)端通過調(diào)用云端 API 將指令下發(fā)至設(shè)備端,實(shí)現(xiàn)遠(yuǎn)程控制。云平臺的設(shè)計是先通過IoT物聯(lián)網(wǎng)平臺服務(wù),進(jìn)入物聯(lián)網(wǎng)平臺控制臺,創(chuàng)建產(chǎn)品、設(shè)備,基于已創(chuàng)建的產(chǎn)品,獲取到設(shè)備身份認(rèn)證信息(三元組)用于和IoT物聯(lián)網(wǎng)平臺建立連接時身份認(rèn)證。
本文設(shè)計的系統(tǒng)通過WiFi(ESP8266)模塊連接阿里云的順序?yàn)椋号渲媚K為STA模式?連接熱點(diǎn)?連接TCP?配置傳輸模式為透傳模式?驗(yàn)證用戶名與密鑰?訂閱主題?發(fā)送心跳包?接收/發(fā)送數(shù)據(jù)。物聯(lián)網(wǎng)平臺根據(jù)配置的數(shù)據(jù)流轉(zhuǎn)規(guī)則,將指定 Topic 消息的指定字段流轉(zhuǎn)到目的地,進(jìn)行存儲和計算處理。連接成功后能在阿里云平臺實(shí)時查看溫度、濕度、光強(qiáng)度的變化及當(dāng)前時刻的溫度、濕度、光強(qiáng)度的值;用戶可以設(shè)置下發(fā)補(bǔ)光閾值(光照下限)、遮陽閾值(光照上限)、 溫控閾值(溫度下限)、濕度閾值(濕度下限)。
1.2.5 蜂鳴器模塊
STM32開發(fā)板載有一個有源蜂鳴器,控制管腳連接到STM32 的 PC13引腳,輸出高電平,三極管導(dǎo)通,蜂鳴器得電就會發(fā)出警報,不同于無源蜂鳴器,需要2~5kHz 的頻率才會發(fā)聲,電路如圖2所示。蜂鳴器負(fù)責(zé)實(shí)現(xiàn)在異常情況下控制報警信號輸出,當(dāng)所檢測的環(huán)境的溫度或濕度或光照強(qiáng)度超過所設(shè)置的閾值是,會發(fā)出警報,提醒用戶環(huán)境參數(shù)超限。
系統(tǒng)的主要功能是,在程序運(yùn)行后,系統(tǒng)會每隔一秒向usb串口打印出傳感器檢測到的溫度值、濕度值、光強(qiáng)度值,系統(tǒng)控制WiFi模塊自動連接上物聯(lián)網(wǎng)平臺,并在連接成功后發(fā)起MQTT連接。WiFi模塊在第一次連接網(wǎng)絡(luò)時,需要按下 KEY1 按鍵配網(wǎng)連接路由器,通過微信掃描二維碼,向模塊傳輸路由器的賬戶和密碼,如果連接不成功,則關(guān)閉微信配網(wǎng)功能,采用靜態(tài)輸入的方式輸入WiFi賬號和密碼。連接上阿里云后,將向平臺實(shí)時傳輸溫濕度傳感器、光照傳感器檢測的數(shù)據(jù);在阿里云平臺可以手動輸入下發(fā)溫度、濕度、光強(qiáng)度的閾值。系統(tǒng)可以回讀下發(fā)的閾值參數(shù),在閾值超限時,蜂鳴器會發(fā)出警報。在電腦端用戶可以查看上報信息以及溫度、濕度、光強(qiáng)度的變化情況。
雞蛋孵化環(huán)境檢測系統(tǒng)設(shè)計主要是STM32的程序設(shè)計。程序開始后,先初始化串口、傳感器模塊、WiFi模塊等,WiFi自動連網(wǎng),連接上后,會自動發(fā)起 MQTT 連接。系統(tǒng)進(jìn)行信息的采集、分析、處理,每隔8s,將溫濕度傳感器、光照傳感器值的信息上傳到云平臺;每隔30s,向平臺發(fā)送一次心跳包。阿里云平臺可以設(shè)置下發(fā)補(bǔ)光閾值、遮陽閾值、溫控閾值、濕度閾值。系統(tǒng)讀取用戶輸入的閾值,再進(jìn)行判斷,判斷溫濕度、光強(qiáng)度的數(shù)值是否超過所設(shè)置的閾值,超過則蜂鳴器會發(fā)出警報。環(huán)境參數(shù)數(shù)據(jù)會實(shí)時的展示在云平臺里。
雞蛋孵化環(huán)境監(jiān)控系統(tǒng)的主流程圖如圖3所示。主程序模塊主要是完成串口、led燈、傳感器、按鍵、WiFi等模塊的初始化;程序控制WiFi模塊的連接,連接成功后,建立MQTT連接;系統(tǒng)更新信息的采集,讀取溫濕度傳感器、光照強(qiáng)度傳感器檢測到的數(shù)值,讀取阿里云平臺下發(fā)的補(bǔ)光閾值、遮陽閾值、 溫控閾值、濕度閾值;判斷溫度、濕度、光強(qiáng)度是否超出閾值,超出則控制蜂鳴器發(fā)出警報聲音;使用阿里云的物聯(lián)網(wǎng)平臺創(chuàng)建產(chǎn)品,將設(shè)備連接入阿里云,在云平臺用折線圖的形式展示環(huán)境的溫度、濕度、光強(qiáng)度的變化情況,用儀表盤展示當(dāng)前時刻的溫度、濕度、光強(qiáng)度,設(shè)置可以手動輸入的光照下限、光照上限、溫度下限、濕度下限,并可以下發(fā)所設(shè)閾值到系統(tǒng)上,系統(tǒng)可以讀取到所設(shè)參數(shù)。用戶可以隨時更改閾值的大小,便于操作。
圖3 主程序流程
阿里云的物聯(lián)網(wǎng)平臺是一個集成了設(shè)備管理、數(shù)據(jù)安全通信和消息訂閱等能力的一體化平臺,支持海量設(shè)備連接上云,設(shè)備與云端通過 IoT Hub 進(jìn)行穩(wěn)定可靠地雙向通信。使用提供的MQTT協(xié)議的設(shè)備端 SDK,既滿足長連接的實(shí)時性需求,也滿足短連接的低功耗需求。采用物聯(lián)網(wǎng)平臺的開發(fā)服務(wù)里的IoT Studio來設(shè)計開發(fā)閾值控制平臺,系統(tǒng)通過控制異步通信消息協(xié)議MQTT的連接來實(shí)現(xiàn)數(shù)據(jù)接收、顯示,以及下發(fā)發(fā)補(bǔ)光閾值、遮陽閾值、 溫控閾值、濕度閾值,在WiFi連接成功,建立MQTT連接后,系統(tǒng)回讀下發(fā)的閾值。
環(huán)境溫濕度、光強(qiáng)度檢測系統(tǒng)在雞蛋孵化系統(tǒng)中占有重要地位。過高過低的溫度、濕度都會使基蛋孵化失敗,而光照也會影響溫濕度的變化,所以在雞蛋孵化環(huán)境中溫濕度、光照強(qiáng)度都至關(guān)重要。
本文設(shè)計的雞蛋環(huán)境檢測系統(tǒng)是網(wǎng)絡(luò)型溫濕度、光照強(qiáng)度監(jiān)測系統(tǒng),是由網(wǎng)絡(luò)型溫濕度監(jiān)測數(shù)據(jù)后,通過網(wǎng)絡(luò)(WiFi)上傳至云平臺,然后通過電腦查看云平臺數(shù)據(jù)。系統(tǒng)經(jīng)過測試,能實(shí)時檢測環(huán)境的溫度、濕度和光強(qiáng)度,通過串口打印出來上傳至云平臺,在云平臺能實(shí)時觀察到溫濕度和光強(qiáng)度的變化情況,如圖4所示,當(dāng)所測參數(shù)超過所設(shè)閾值時,STM32會控制蜂鳴器發(fā)出警報。系統(tǒng)運(yùn)行穩(wěn)定,溫濕度傳感器檢測到的溫度精度在±1℃范圍內(nèi),可以適用于一般的雞蛋孵化廠的環(huán)境檢測中,且系統(tǒng)開發(fā)簡單,人員操作便利。但本文設(shè)計的環(huán)境檢測系統(tǒng)任有不足之處,不能適用于檢測范圍廣、環(huán)境參數(shù)精確要求高的孵化廠。
圖4 云平臺的數(shù)據(jù)展示