国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32與FreeRTOS的物聯(lián)網(wǎng)魚缸

2023-02-08 06:36:38陳建鋼
物聯(lián)網(wǎng)技術(shù) 2023年1期
關(guān)鍵詞:魚缸光照單片機(jī)

陳建鋼

(重慶科技學(xué)院 電氣工程學(xué)院,重慶 401331)

0 引 言

隨著人們生活水平的逐步提高,很多人將養(yǎng)魚作為日常生活的消遣與放松方式,魚缸是很多人養(yǎng)魚時必不可少的工具。然而,市面上的大多產(chǎn)品是半自動化產(chǎn)品,普遍存在功能單一、自動化程度低等問題[1-3]。近年來。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展與成熟,它已成為解決上述問題的重要途徑。劉治成[4]設(shè)計(jì)了集多種功能于一體的智能魚缸,該智能魚缸以單片機(jī)為控制中樞,圍繞日常養(yǎng)護(hù)魚缸的基本操作對魚缸進(jìn)行設(shè)計(jì);結(jié)合傳感器技術(shù),對魚缸內(nèi)的環(huán)境進(jìn)行自動化調(diào)節(jié)。但是單片機(jī)內(nèi)存小,系統(tǒng)的響應(yīng)速度慢。郭宇豪等人[5]提出基于STM32的家用智慧魚缸設(shè)計(jì),該系統(tǒng)具有智能進(jìn)行魚缸內(nèi)外水循環(huán)、自動喂食調(diào)溫、系統(tǒng)應(yīng)急供電等功能,可以有效幫助用戶輕松科學(xué)地飼養(yǎng)觀賞魚,但未考慮移動端優(yōu)化顯示。本文采用嵌入式實(shí)時操作系統(tǒng)并結(jié)合無線通信WiFi模塊組成智能魚缸系統(tǒng),具有抗干擾性高、實(shí)用性強(qiáng)等優(yōu)點(diǎn),為用戶提供了更好的體驗(yàn),滿足了用戶智能養(yǎng)魚的需求。

1 系統(tǒng)總體設(shè)計(jì)

本系統(tǒng)選用STM32F103C8T6單片機(jī)作為主控芯片,通過傳感器采集魚缸的環(huán)境數(shù)據(jù),實(shí)現(xiàn)自動光照控制和對魚缸內(nèi)溫度、pH值等環(huán)境因素的監(jiān)測,通過ESP8266連接阿里云服務(wù)器并通過手機(jī)APP顯示環(huán)境數(shù)據(jù)。智能魚缸監(jiān)測系統(tǒng)整體架構(gòu)如圖1所示,主要包括主控芯片模塊、溫度檢測模塊、光強(qiáng)度檢測模塊、pH值監(jiān)測模塊、無線通信模塊。

圖1 智能魚缸監(jiān)測系統(tǒng)整體架構(gòu)

2 系統(tǒng)硬件設(shè)計(jì)

2.1 數(shù)據(jù)采集電路設(shè)計(jì)

2.1.1 溫度檢測與光照檢測電路設(shè)計(jì)

本文采用DS18B20溫度傳感器,將DS18B20的T1數(shù)據(jù)口接到了單片機(jī)的PA5端口,采用的是單總線時序與主機(jī)通信,并且接了一個10 kΩ的上拉電阻。

光照傳感器采用BH1750模塊,模塊引出了時鐘線(SCL)和數(shù)據(jù)線(SDA),將模塊的時鐘線(SCL)連接到單片機(jī)的I2C時鐘接口(PB6),模塊的數(shù)據(jù)線(SDA)連接到單片機(jī)的I2C數(shù)據(jù)接口(PB7)。單片機(jī)通過I2C通信協(xié)議與BH1750模塊通信完成數(shù)據(jù)采集。溫度檢測與光照檢測電路如圖2所示。

圖2 溫度檢測與光照檢測電路

2.1.2 水質(zhì)檢測電路設(shè)計(jì)

本文采用pH傳感器探頭,由于pH復(fù)合電極輸出的電壓信號微弱,為毫伏級[6]。因此設(shè)計(jì)了信號調(diào)理電路,采用2.5 V供電的運(yùn)算放大器構(gòu)成二級電路:第一級將pH電極輸出與電壓跟隨器相連,目的是提高測量電路的輸入阻抗和隔離前后級電路的影響;第二級將pH電極輸出信號濾波放大[7]。PH_OUT信號為信號調(diào)理電路放大后的電壓信號,將PH_OUT與單片機(jī)的ADC通道(PA0)相連進(jìn)行ADC采集,其中ROSIN為pH探頭的航空接口。水質(zhì)檢測信號調(diào)理電路如圖3所示。

圖3 水質(zhì)檢測信號調(diào)理電路

2.2 WiFi模塊電路設(shè)計(jì)

本設(shè)計(jì)的WiFi模塊采用ESP8266,該模塊支持串口透明數(shù)據(jù)傳輸,內(nèi)置TCP/IP協(xié)議棧和IEEE802.11協(xié)議棧[8]。本設(shè)計(jì)將ESP8266模塊的TXD和RXD腳分別接STM32芯片的PA3/RX口和PA2/TX口,PA3作為數(shù)據(jù)回傳口,PA2作為數(shù)據(jù)接收口,單片機(jī)就可以通過串口發(fā)送AT指令使ESP8266進(jìn)行組網(wǎng)通信并接入互聯(lián)網(wǎng)。電路中還對模塊的供電電源進(jìn)行了電容濾波,并將EN端口始終置于高電平工作狀態(tài)。WiFi模塊電路如圖4所示。

圖4 WiFi模塊電路

2.3 控制板設(shè)計(jì)

本文為智能魚缸系統(tǒng)設(shè)計(jì)了基于STM32F103C8T6的控制板,控制板搭載了STM32單片機(jī)最小系統(tǒng)、電源轉(zhuǎn)換電路、傳感器驅(qū)動電路和執(zhí)行機(jī)構(gòu)的繼電器驅(qū)動電路。智能魚缸控制板如圖5所示。

圖5 智能魚缸控制板

3 系統(tǒng)軟件設(shè)計(jì)

3.1 軟件系統(tǒng)總體設(shè)計(jì)

本系統(tǒng)將STM32作為主控芯片對溫度、光照強(qiáng)度、pH值進(jìn)行數(shù)據(jù)采集。為了更好地進(jìn)行任務(wù)調(diào)度,本文引進(jìn)了FreeRTOS嵌入式實(shí)時操作系統(tǒng)。采用RTOS線程方式的并發(fā)任務(wù)處理,解決模塊化問題,同時保證實(shí)時性與可靠性[9],使智能魚缸系統(tǒng)更穩(wěn)定、高效。軟件系統(tǒng)整體流程如圖6所示。

圖6 軟件系統(tǒng)整體流程

3.2 系統(tǒng)硬件初始化與任務(wù)創(chuàng)建

在系統(tǒng)啟動時需要將系統(tǒng)所使用到的外設(shè)進(jìn)行初始化,才能在任務(wù)中進(jìn)行調(diào)用。本系統(tǒng)需要對I2C、ADC、USART、GPIO等外設(shè)進(jìn)行初始化。硬件初始化程序如下:

在系統(tǒng)上電運(yùn)行后需要對系統(tǒng)所需執(zhí)行的任務(wù)進(jìn)行創(chuàng)建,系統(tǒng)才會對所創(chuàng)建的任務(wù)進(jìn)行任務(wù)調(diào)度。任務(wù)創(chuàng)建程序如下:

3.3 傳感器采集任務(wù)

傳感器采集任務(wù)用于搭建環(huán)境檢測框架。傳感器驅(qū)動系統(tǒng)是通過溫度傳感器、光照傳感器、pH值傳感器采集周圍的環(huán)境數(shù)據(jù)并進(jìn)行處理。當(dāng)溫度、光強(qiáng)度、pH值超出預(yù)設(shè)值,將會開啟增氧、凈水等功能。

3.4 MQTT通信任務(wù)

MQTT任務(wù)用于驅(qū)動WiFi模塊和連接服務(wù)器。首先向模塊發(fā)送AT指令連接無線局域網(wǎng),連接成功后通過MQTT網(wǎng)絡(luò)協(xié)議進(jìn)行發(fā)布和訂閱,并連接阿里云物聯(lián)網(wǎng)平臺。接入服務(wù)器后將傳感器數(shù)據(jù)進(jìn)行上報(bào),云端接收到上報(bào)數(shù)據(jù)后轉(zhuǎn)發(fā)至APP實(shí)現(xiàn)遠(yuǎn)程檢測。

3.5 執(zhí)行機(jī)構(gòu)控制任務(wù)

執(zhí)行機(jī)構(gòu)控制任務(wù)用于電機(jī)、凈水、增氧設(shè)備的邏輯控制,能結(jié)合傳感器任務(wù)進(jìn)行自動調(diào)節(jié),也可以進(jìn)行遠(yuǎn)程控制調(diào)節(jié)。當(dāng)系統(tǒng)處于手動模式,接收到云端下發(fā)給單片機(jī)的指令后便執(zhí)行相應(yīng)的增氧、投食、凈水操作。當(dāng)系統(tǒng)處于自動模式,對傳感器進(jìn)行閾值設(shè)定,當(dāng)超出閾值范圍便進(jìn)行自動控制。

3.6 線程調(diào)度切換

在任務(wù)執(zhí)行過程中可以利用FreeRTOS的任務(wù)管理機(jī)制進(jìn)行任務(wù)調(diào)度,調(diào)用vTaskDelay()函數(shù)掛起任務(wù),使CPU處于空閑狀態(tài),操作系統(tǒng)內(nèi)核將時間分配給其他任務(wù),并在某個時間點(diǎn)將該任務(wù)喚醒。進(jìn)行高優(yōu)先級任務(wù)死循環(huán)執(zhí)行時,設(shè)置任務(wù)睡眠,以執(zhí)行低優(yōu)先級的任務(wù)。提高系統(tǒng)實(shí)時性,讓系統(tǒng)處于高并發(fā)狀態(tài),有利于提升系統(tǒng)性能[10]。任務(wù)調(diào)度流程如圖7所示。

圖7 任務(wù)調(diào)度流程

3.7 移動應(yīng)用開發(fā)

本文APP采用阿里云的可視化界面開發(fā),此應(yīng)用兼容Android系統(tǒng)與IOS系統(tǒng),適用于90%的用戶。移動應(yīng)用界面具有溫度數(shù)據(jù)顯示、光強(qiáng)度數(shù)據(jù)顯示、pH水質(zhì)值顯示控件,以及投食按鈕、增氧按鈕、凈水按鈕控件。顯示控件與按鈕控件組成用戶界面。移動應(yīng)用用戶界面設(shè)計(jì)如圖8所示。

圖8 移動應(yīng)用用戶界面設(shè)計(jì)

4 系統(tǒng)運(yùn)行測試

4.1 系統(tǒng)安裝調(diào)試

將智能魚缸系統(tǒng)的STM32主控板、環(huán)境傳感器、控制機(jī)構(gòu)等設(shè)備進(jìn)行安裝調(diào)試。測試系統(tǒng)通信及功能是否正常,并對系統(tǒng)進(jìn)行長時間的穩(wěn)定性測試。智能魚缸裝配實(shí)物如圖9所示。

圖9 智能魚缸裝配

4.2 溫度傳感器數(shù)據(jù)測試

將溫度傳感器置于水中,記錄溫度數(shù)據(jù)并截取100個時間點(diǎn)的數(shù)據(jù)。分析得到溫度波動在27~28.5℃之間,傳感器性能穩(wěn)定、波動較小。溫度傳感器數(shù)據(jù)分析如圖10所示。

圖10 溫度傳感器數(shù)據(jù)分析

4.3 光照傳感器數(shù)據(jù)測試

將光照傳感器安裝在魚缸表面,記錄光照數(shù)據(jù)并截取100個時間點(diǎn)的數(shù)據(jù)。分析得到光照強(qiáng)度數(shù)據(jù)波動在145~160 lux之間,這是由于環(huán)境光線會受外界因素干擾,造成照度變化,并且數(shù)值波動較大。但傳感器的性能穩(wěn)定,能準(zhǔn)確反映照度變化。光照傳感器數(shù)據(jù)分析如圖11所示。

圖11 光照傳感器數(shù)據(jù)分析

4.4 水質(zhì)傳感器數(shù)據(jù)測試

將pH水質(zhì)傳感器探頭部分置于水中,避免將整個傳感器泡入水中。安裝完畢記錄pH數(shù)據(jù)并截取100個時間點(diǎn)的數(shù)據(jù)。分析得到pH數(shù)據(jù)波動在7.3~7.6之間,傳感器性能穩(wěn)定、波動較小。水質(zhì)傳感器數(shù)據(jù)分析如圖12所示。

圖12 水質(zhì)傳感器數(shù)據(jù)分析

4.5 系統(tǒng)工作模式測試

系統(tǒng)手動工作模式測試采用黑盒測試。將系統(tǒng)切換到手動模式下,分別按下投食按鍵、增氧按鍵、凈水按鍵,觀察到投食電機(jī)、水泵、增氧泵正常開啟、關(guān)閉。測試結(jié)果見表1所列。

表1 手動控制測試結(jié)果

在自動模式下通過設(shè)定閾值來控制投食物、增氧、凈水機(jī)構(gòu)的自動運(yùn)行。通過人為照射光照傳感器來模擬陽光照射,使光強(qiáng)度超出閾值,觀察到增氧泵工作。將pH試液加入水中使pH值增高超出閾值上限,觀察到凈水水泵工作。設(shè)置投食物電機(jī)的開關(guān)時間,觀察到投食口在設(shè)置時間內(nèi)開啟,其他時間關(guān)閉。測試結(jié)果見表2所列。

表2 自動控制測試結(jié)果

5 結(jié) 語

本文以智能魚缸系統(tǒng)實(shí)時遠(yuǎn)程監(jiān)測與管理為目的,以為用戶提供便利、降低養(yǎng)魚難度為起點(diǎn),提出智能魚缸遠(yuǎn)程監(jiān)測控制系統(tǒng)。經(jīng)測試表明,該系統(tǒng)安裝在各種場所都能正常工作,可以實(shí)時對魚缸環(huán)境狀態(tài)進(jìn)行檢測上報(bào),用戶可通過移動端進(jìn)行遠(yuǎn)程查看,也可以進(jìn)行遠(yuǎn)程投食、凈水、增氧。用戶也可通過設(shè)置自動化場景讓魚缸進(jìn)行自動管理。該系統(tǒng)可以使用戶養(yǎng)魚更加簡單、便捷、高效。

猜你喜歡
魚缸光照單片機(jī)
節(jié)能環(huán)保 光照萬家(公益宣傳)
節(jié)能環(huán)保光照萬家(公益宣傳)
魚缸里的殺手
小讀者(2020年2期)2020-11-26 09:34:07
魚缸水
幽默大師(2020年11期)2020-11-26 06:12:08
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
春光照瑤鄉(xiāng)
家里的小魚缸
冰立方魚缸
上犹县| 咸阳市| 诸城市| 赤水市| 班戈县| 双峰县| 江西省| 新和县| 虞城县| 阿拉尔市| 略阳县| 龙游县| 广汉市| 容城县| 虞城县| 阳春市| 隆子县| 视频| 墨江| 西宁市| 丹凤县| 白朗县| 昭通市| 宾川县| 长垣县| 保德县| 迁西县| 丘北县| 浏阳市| 乐陵市| 凉城县| 吉隆县| 新宁县| 民乐县| 新丰县| 金昌市| 神池县| 德惠市| 大兴区| 吐鲁番市| 维西|