午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

詳解智能花盆設(shè)計(jì)與實(shí)現(xiàn)了如何實(shí)現(xiàn)案例

 昵稱16491526 2022-06-08 發(fā)布于四川

描述

外出旅行,家里的花盆沒人管,怎么辦?忙于工作,經(jīng)常忘記給花盆里澆水,導(dǎo)致植物經(jīng)常死掉。..類似這樣的情況,在生活中經(jīng)常發(fā)生。有沒有什么辦法呢?當(dāng)花盆植物缺水的時(shí)候,能夠自己澆水,那就再好不過(guò)了。今天我們就來(lái)做一個(gè)人工智能花盆吧!

結(jié)合家庭盆栽因不可控因素疏于打理的現(xiàn)實(shí)及期望植株健康成長(zhǎng)的需求,提出一款由感知模塊,交互模塊,執(zhí)行模塊,電源模塊以及微處理器模塊構(gòu)成的智能花盆。該花盆通過(guò)傳感器采集植物狀態(tài)數(shù)據(jù),利用ESP8266發(fā)送至云平臺(tái),使得在線檢測(cè)和云端控制成為可能;并通過(guò)繼電器驅(qū)動(dòng)電磁閥與補(bǔ)光燈,實(shí)現(xiàn)智能灌溉與自動(dòng)補(bǔ)光。

主要使用的硬件有STM32F103C8、電阻式土壤濕度傳感器、溫度傳感器DS18B20、光照強(qiáng)度傳感器 GY-3-(BH1750)、補(bǔ)光燈、WiFi模塊ESP8266、OLED、串口調(diào)試模塊 CH340

一、版本更新內(nèi)容

1)增加傳感器:光照強(qiáng)度傳感器GY-30(BH1750)

2)增加交互模塊:0.96寸OLED(SSD1306)

3)執(zhí)行部分:水泵更換為電磁閥、增加LED補(bǔ)光燈(紅&藍(lán))

4)搭建花盆外殼支架

5)增加自動(dòng)模式

二、總體設(shè)計(jì)

2.1整體模型

7b8ec886-9bb4-11eb-8b86-12bb97331649.png

2.2硬件結(jié)構(gòu)

7baeaec6-9bb4-11eb-8b86-12bb97331649.png

1)STM32F103最小系統(tǒng)。包括微處理器、帶電容穩(wěn)壓的電源接口、復(fù)位電路、無(wú)源晶振與起振電路一起組成的時(shí)鐘源以及調(diào)試接口等構(gòu)成最小系統(tǒng)。

2)環(huán)境輸入檢測(cè)。主要包括DS18B20溫度檢測(cè)部分、內(nèi)置ADC轉(zhuǎn)換的數(shù)字式光照強(qiáng)度檢測(cè)部分和使用AD數(shù)據(jù)采集的土壤濕度檢和水位檢測(cè)部分。

3)執(zhí)行部分主要包括電磁閥與基于植物光譜吸收峰值的藍(lán)紅LED補(bǔ)光燈等繼電器驅(qū)動(dòng)部分。

4)數(shù)據(jù)交互。主要包括MCU 與 ESP8266 的網(wǎng)絡(luò)通信部分、方便用戶查看數(shù)據(jù)的OLED部分以及調(diào)試過(guò)程中用到的USB轉(zhuǎn)TTL模塊。

2.3軟件結(jié)構(gòu)

7bc46a54-9bb4-11eb-8b86-12bb97331649.png

為方便實(shí)現(xiàn)MCU與硬件的通訊引入驅(qū)動(dòng)層負(fù)責(zé)實(shí)現(xiàn)底層硬件支持的通訊協(xié)議,并為上層提供方便使用的函數(shù)調(diào)用接口。主要包括基于“1-Wire”協(xié)議的DS18B20驅(qū)動(dòng)程序、基于HAL庫(kù)的USART 驅(qū)動(dòng)程序、與SSD1306通訊的OLED驅(qū)動(dòng)程序以及數(shù)字式光照強(qiáng)度的BH1750驅(qū)動(dòng)程序等。其中 I/O 驅(qū)動(dòng)主要實(shí)現(xiàn)了STM32F103C8T6微處理器GPIO引腳的定義和初始化;UART除”printf”函數(shù)重定義到串口外還須與ESP8266的通訊;剩余的該部分則是溫度、土壤濕度、水位傳感器的驅(qū)動(dòng)程序。

執(zhí)行層通過(guò)調(diào)用驅(qū)動(dòng)層和機(jī)智云協(xié)議層提供的函數(shù)調(diào)用接口來(lái)實(shí)現(xiàn)智能花盆軟件的邏輯控制。它包括初始化部分、數(shù)據(jù)掃描、上行下行通訊、自動(dòng)化控制等部分。

網(wǎng)絡(luò)層實(shí)現(xiàn)將數(shù)據(jù)封裝上傳、數(shù)據(jù)包解析等工作。

三、硬件設(shè)計(jì)

3.1硬件資源布局

7bd957fc-9bb4-11eb-8b86-12bb97331649.png

3.2主控芯片

3.2.1主控選型

結(jié)合當(dāng)前接觸過(guò)的芯片以及對(duì)市場(chǎng)的淺薄了解,列舉了意法半導(dǎo)體(ST)的STM系列、意大利Massimo Banzi的Arduino、AT89C51以及微型電腦Raspberry Pi作比較。最終選用STM32F103C8系列。

7bf6baf4-9bb4-11eb-8b86-12bb97331649.png

3.2.2 引腳配置

7c091f78-9bb4-11eb-8b86-12bb97331649.png

7c2065f2-9bb4-11eb-8b86-12bb97331649.png

3.3數(shù)據(jù)采集部分

3.3.1土壤濕度傳感器

其原理圖如下:

7c59c3ce-9bb4-11eb-8b86-12bb97331649.png

該模塊主要利用三極管的電流放大原理。土壤中存在水分時(shí)形成導(dǎo)體使得三極管的基極B與電源的VCC導(dǎo)通,這時(shí)在三極管的基極B和發(fā)射極E之間將產(chǎn)生電流,集電極C和發(fā)射極E之間則產(chǎn)生以一定倍數(shù)放大的電流,經(jīng)發(fā)射極E電阻產(chǎn)生較大壓降,送入A/D轉(zhuǎn)換電路。

3.3.2溫度傳感器

選用DALLAS公司推出的一種使用l-Wire通訊的數(shù)字式溫度傳感器DS18B20。

7c65978a-9bb4-11eb-8b86-12bb97331649.png

DS18B20引腳示意及實(shí)物圖

其具有以下優(yōu)點(diǎn):

1)DS18B20 溫度傳感器的工作電壓為+3.0V ~ +5.5V,無(wú)需電壓轉(zhuǎn)換,可直接用于市面上大多數(shù)開發(fā)板;

2)接口簡(jiǎn)單,1-Wire 總線結(jié)構(gòu)簡(jiǎn)潔,只需一根線即可進(jìn)行通訊,有效減少硬件開銷;

3)溫度測(cè)量范圍廣,最低可測(cè)得-55℃,最高可測(cè)得125℃,最高精度可達(dá) 0.0625℃;

4)自帶 EEPROM,開發(fā)者設(shè)定的采集分辨率以及報(bào)警溫度信息都將存儲(chǔ)在其中,掉電重啟后依然保存相應(yīng)配置。

3.3.3水位傳感器

本文采用的是水位傳感器/雨滴檢測(cè)傳感器Water Sensor,其原理與土壤濕度傳感器相同。

3.3.4光照強(qiáng)度傳感器

市面上可用的光照強(qiáng)度檢測(cè)模塊主要分為兩種,一種是利用光敏電阻獲得光照強(qiáng)度的模擬信號(hào)輸出,該傳感器價(jià)格最為低廉,但需要自己構(gòu)建光照強(qiáng)度與模擬信號(hào)直接的對(duì)應(yīng)公式。另一為內(nèi)置ADC轉(zhuǎn)換的數(shù)字式光照強(qiáng)度傳感器,我們采用的就是該類型傳感器---BH1750。其不區(qū)分環(huán)境光源,可忽略復(fù)雜計(jì)數(shù)與標(biāo)定。利用內(nèi)置16bit的AD轉(zhuǎn)換電路,直接輸出0 ~ 65535lx。

3.4執(zhí)行部分

3.4.1補(bǔ)光燈

植物的生長(zhǎng)離不開陽(yáng)光,若長(zhǎng)期缺乏光照則會(huì)出現(xiàn)生長(zhǎng)緩慢,葉片小而色淡,莖細(xì)長(zhǎng)不開花等問(wèn)題。為了解決以上困擾同時(shí)避免花盆的頻繁搬動(dòng),我們采用LED燈補(bǔ)光的解決方案。

7d00778c-9bb4-11eb-8b86-12bb97331649.png

7d28403c-9bb4-11eb-8b86-12bb97331649.png

結(jié)合常見LED光譜波段表及植物吸收的光譜,采用紅:藍(lán) = 2:1的LED組合燈帶。

3.4.2電磁閥

土壤濕度的補(bǔ)償方面,若采用傳統(tǒng)的水泵,則需要較大功率的輸出,為我們的供電模塊帶來(lái)較大的壓力,因而改用電磁閥與高水位勢(shì)能做工的方式,減少控制部分的總功率。

3.5數(shù)據(jù)交互部分

3.5.1WiFi模塊

該模塊接口較多,可支持IIC、PWM、GPIO 以及 ADC 等接口,可輕松實(shí)現(xiàn)數(shù)據(jù)透?jìng)?。引腳描述如下所示:

7d6510f2-9bb4-11eb-8b86-12bb97331649.png

該ESP8266模塊的工作頻段為全球共用的2.4GHz,信號(hào)發(fā)射功率僅為 15dbm,其主要特性如下表所示:

7d7007c8-9bb4-11eb-8b86-12bb97331649.png

3.5.2OLED模塊

增加該模塊的初衷為1.0版本的交互方式較少,若不打開APP查看,則無(wú)法獲取花盆實(shí)時(shí)數(shù)據(jù)。因而添加該模塊,目前僅作數(shù)據(jù)顯示使用,尚無(wú)菜單與按鍵等互動(dòng)。

簡(jiǎn)單五步,實(shí)現(xiàn)串口屏接入機(jī)智云【廣州大彩物聯(lián)網(wǎng)串口屏】

3.5.3CH340模塊

該模塊主要用于串口調(diào)試。

四、軟件設(shè)計(jì)

4.1驅(qū)動(dòng)

4.1.1DS18B20驅(qū)動(dòng)

4.1.2GY-30(BH1750)驅(qū)動(dòng)

4.1.3OLED(SSD1306)驅(qū)動(dòng)

《此處文字、代碼所占篇幅較多,需要跳轉(zhuǎn)鏈接,建議或搜索 智能花盆2.0驅(qū)動(dòng),或查看原文》

4.2主控邏輯

7dbbcad2-9bb4-11eb-8b86-12bb97331649.png

系統(tǒng)在上電后開始工作:首先完成的是各模塊的初始化以及機(jī)智云協(xié)議初始化,隨后在OLED上顯示開機(jī)動(dòng)畫,ESP8266開啟機(jī)智云一鍵配置。繼而進(jìn)入循環(huán)檢測(cè)傳感器數(shù)據(jù),并將數(shù)據(jù)發(fā)送至OLED顯示;隨后進(jìn)行模式判斷,實(shí)現(xiàn)自動(dòng)化智能化。為避免頻繁的數(shù)據(jù)上傳導(dǎo)致APP端控制命令沖突,在數(shù)據(jù)上傳前,需獲取計(jì)數(shù)器的值,實(shí)現(xiàn)非阻塞的延時(shí)上傳。最后檢測(cè)是否有云端控制命令,如有則進(jìn)行對(duì)應(yīng)的處理。在步入下一循環(huán)之前,須檢測(cè)是否系統(tǒng)異常,如存在異常則結(jié)束工作,如無(wú)異常則開始下一次循環(huán)。

4.3機(jī)智云協(xié)議

4.3.1數(shù)據(jù)格式

7dd88d52-9bb4-11eb-8b86-12bb97331649.png

1) 包頭(header)固定為0xFFFF;

2) 長(zhǎng)度(len)是指從cmd 開始到整個(gè)數(shù)據(jù)包結(jié)束所占用的字節(jié)數(shù);

3) 命令字(cmd)表示具體的命令含義,詳見協(xié)議舉例;

4) 消息序號(hào)(sn)由發(fā)送方給出,接收方響應(yīng)命令時(shí)需把消息序號(hào)返回給發(fā)送方;

5) 標(biāo)志位(flag),本產(chǎn)品填寫默認(rèn)0;

6) payload(p0數(shù)據(jù)區(qū)),詳細(xì)參見p0 數(shù)據(jù)區(qū)約定;

7) 檢驗(yàn)和(checksum)的計(jì)算方式為從len~DATA,按字節(jié)求和;

8) 所有發(fā)送的命令都帶有確認(rèn),如在200 毫秒內(nèi)沒有收到接收方的響應(yīng),發(fā)送方;應(yīng)重發(fā),最多重發(fā)3 次;

9) 多于一個(gè)字節(jié)的整型數(shù)字以大端字節(jié)序編碼(網(wǎng)絡(luò)字節(jié)序);

“p0 數(shù)據(jù)區(qū)約定”有如下功能:

1) WiFi模塊向MCU發(fā)送控制命令時(shí)攜帶p0 命令和命令標(biāo)志位以及可寫數(shù)據(jù)區(qū)

2) MCU主動(dòng)發(fā)送狀態(tài)時(shí)或者回復(fù)模塊的狀態(tài)查詢時(shí)攜帶p0命令和完整數(shù)據(jù)區(qū)

3) 數(shù)據(jù)區(qū)會(huì)自動(dòng)合并布爾和枚舉變量,且有嚴(yán)格的順序,不可任意改變

7decd230-9bb4-11eb-8b86-12bb97331649.png

上傳協(xié)議P0區(qū):action(1B) + dev_status(11B) ;

下達(dá)協(xié)議p0區(qū):action(1B) + attr_flags(1B) + attr_vals(6B)

4.3.2數(shù)據(jù)上報(bào)

7e1deb36-9bb4-11eb-8b86-12bb97331649.png

4.3.3下行控制

7e29c6d6-9bb4-11eb-8b86-12bb97331649.png

4.4Gizwits運(yùn)作流程

7e57263a-9bb4-11eb-8b86-12bb97331649.png

起始工作是對(duì)外設(shè)、用戶和協(xié)議等的初始化。當(dāng) WiFi 通過(guò)串口設(shè)備配置并成功連接云平臺(tái)后,ESP8266將不斷收到來(lái)自云端的數(shù)據(jù)點(diǎn)和狀態(tài)信息。這些信息在接收完成后,會(huì)以GAgent協(xié)議幀的方式傳遞給主控芯片,而主控芯片再則將其放入緩沖區(qū),之后進(jìn)行抓包解析,并進(jìn)行事件的處理,也就是下行的動(dòng)作執(zhí)行。如果再有上行數(shù)據(jù)采集,主控芯片將收到到數(shù)據(jù)處理為協(xié)議幀發(fā)送給WiFi 設(shè)備,再由WiFi負(fù)責(zé)將數(shù)據(jù)傳輸?shù)椒?wù)器。

五、裝配與測(cè)試

本文使用的方法是先將各模塊調(diào)通,再組合在一起,組合時(shí)電源問(wèn)題凹顯,于是買了一個(gè)多路電源模塊。外型部分目前僅用角鋼切割組成支架,算是半成品吧。

7ea71a3c-9bb4-11eb-8b86-12bb97331649.png

APP互動(dòng)界面與實(shí)物圖

7eca0ace-9bb4-11eb-8b86-12bb97331649.png

六、存在問(wèn)題與改進(jìn)建議

6.1傳感器數(shù)據(jù)異常

解決辦法,數(shù)據(jù)采集后經(jīng)濾波處理,立Flag,近期出。

80eb0f1a-9bb4-11eb-8b86-12bb97331649.png

6.2運(yùn)行日志

改用SD卡存儲(chǔ)設(shè)備運(yùn)行日志

811197b6-9bb4-11eb-8b86-12bb97331649.png

6.3外型改進(jìn)

智能花盆支架---》將設(shè)備整合到花盆內(nèi),為此應(yīng)該要自己畫PCB.。.

812c1e2e-9bb4-11eb-8b86-12bb97331649.png

6.4傳感器升級(jí)

持續(xù)優(yōu)化傳感器部分,例如采用博世BME280環(huán)境溫濕度大氣壓三合一傳感器替代DS18B20實(shí)現(xiàn)數(shù)據(jù)采集寬度上的升級(jí)。

6.5交互升級(jí)

未來(lái)可增加按鍵實(shí)現(xiàn)OLED菜單選擇;增加蜂鳴器實(shí)現(xiàn)報(bào)警提醒,增加LED狀態(tài)指示燈提示供電狀態(tài)與工作模式。

6.6自建服務(wù)器

使用自建服務(wù)器,數(shù)據(jù)庫(kù)存儲(chǔ)常見植株的最適宜生長(zhǎng)環(huán)境,為自動(dòng)化控制提供更智能的選擇。
編輯:lyn

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多