




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
INET圖3-2 STM32F103RCT6實(shí)物圖該芯片由意法半導(dǎo)體公司基于ARM公司Cortex-M3內(nèi)核架構(gòu)設(shè)計(jì)制造,采用32位硬件尋址總線,最高時(shí)鐘頻率為72MHz。核心工作電壓為1.8V,外設(shè)工作電壓為3.3V,運(yùn)行內(nèi)存為48kb,只讀內(nèi)存為256kb。它擁有豐富的硬件時(shí)鐘樹和各種定時(shí)器資源,包括高級(jí)定時(shí)器、通用定時(shí)器和基本定時(shí)器。而且基本上每個(gè)引腳都有硬件中斷,5個(gè)串口資源,3個(gè)SPI,2個(gè)IIC2,1個(gè)CAN總線,1個(gè)USB1,通過硬件ADC/DAC有一個(gè)12位的DMA控制器,所以信號(hào)轉(zhuǎn)換不再需要這種芯片。如果采樣精度不太高,芯片內(nèi)部有三種低功耗模式,即休眠、待機(jī)和關(guān)機(jī)模式。該芯片的封裝形式如下。STM32芯片的控制無非是根據(jù)官方芯片手冊(cè)配置各種寄存器。系統(tǒng)選用的芯片有51個(gè)IO引腳,每個(gè)引腳都有自己的功能和職責(zé),通過寄存器和數(shù)據(jù)總線與主控核心通信。下面介紹IO端口寄存器配置方式,直接通過軟件實(shí)現(xiàn)寄存器操作。所謂最小系統(tǒng)是指系統(tǒng)正常運(yùn)行所需的最小電路單元。系統(tǒng)可以正常運(yùn)行,必須有時(shí)鐘心跳,就像人類的心臟一樣。在這里,一個(gè)諧振電路組成的8兆赫和32.768khz石英晶體管和陶瓷電容器,8mhz的外部高速時(shí)鐘輸入,即時(shí)鐘芯片主要道路的供應(yīng),和32.768khz的外部低速時(shí)鐘輸入,主要用于準(zhǔn)確的時(shí)機(jī);單片機(jī)最小系統(tǒng)還包括復(fù)位電路,采用按鍵低電平復(fù)位的方式;單片機(jī)外設(shè)工作電壓為3.3V,并包含濾波穩(wěn)壓電源電路。芯片的正常運(yùn)行依賴于驅(qū)動(dòng)軟件,即下載界面的代碼。此處采用SWD下載調(diào)試模式。綜上所述,STM32單片機(jī)的最小系統(tǒng)電路包括晶體振蕩器時(shí)鐘源電路、復(fù)位電路、濾波穩(wěn)壓電源電路和下載調(diào)試接口電路。STM32最小系統(tǒng)由四部分組成:電源電路、復(fù)位電路、晶體振蕩器電路和下載電路。電源電路:VDD為數(shù)字電源正極,VSS為負(fù)極。VDDA表示模擬電源的正極,VSSA表示模擬電源的負(fù)極。VREF+為基準(zhǔn)電壓輸入引腳的正極,VREF-為對(duì)應(yīng)的負(fù)極。ADC和DAC分別負(fù)責(zé)模擬到數(shù)字和數(shù)字到模擬的轉(zhuǎn)換。復(fù)位電路:STM32復(fù)位管腳復(fù)位到低電平,正常工作時(shí)復(fù)位管腳處于高電平狀態(tài)。晶體振蕩器電路:STM32有兩套晶體振蕩器,分別提供給單片機(jī)的主時(shí)鐘和RTC的時(shí)鐘。下載電路:STM32有兩個(gè)引腳BOOT0和BOOT1。兩個(gè)引腳的高低電平控制STM32單片機(jī)的啟動(dòng)方式。具體原理圖見3-3。圖3-3 STM32F103C8T6單片機(jī)最小系統(tǒng)電路圖3.2.2Wi-Fi模塊設(shè)計(jì)Wi-Fi模組ESP8266是一款工業(yè)級(jí)一體化802.11b/g/n模組,實(shí)現(xiàn)TTL串口、WIFI無線網(wǎng)絡(luò)和以太網(wǎng)口雙向透明傳輸。傳統(tǒng)的串口設(shè)備或MCU控制設(shè)備利用WIFI模塊可以快速接入WIFI無線網(wǎng)絡(luò)。該模塊支持RTS/CTS流控制,當(dāng)通過串口傳輸數(shù)據(jù)時(shí),或者與單片機(jī)進(jìn)行通信時(shí),由于兩端的處理速度不同,出現(xiàn)接收端的數(shù)據(jù)緩沖區(qū)已滿,而發(fā)送端依然在發(fā)送數(shù)據(jù),造成數(shù)據(jù)丟失。流控制可以解決這種數(shù)據(jù)丟失的問題。該模塊串口通信接入STM32單片機(jī),使用的是串口3,波特率115200,實(shí)現(xiàn)WIFI數(shù)據(jù)包的雙向透明轉(zhuǎn)發(fā),模塊內(nèi)部完成協(xié)議轉(zhuǎn)換,通過該模塊,客戶可以將物理設(shè)備連接到Wi-Fi網(wǎng)絡(luò)上,從而實(shí)現(xiàn)物聯(lián)網(wǎng)的控制與管理。Wi-Fi模塊電路圖如圖3-4所示。圖3-4ESP8266接口電路圖3.2.3濕度采樣模塊設(shè)計(jì)土壤濕度傳感器模塊能感應(yīng)濕度的變化值,AO輸出通過STM32PA4ADC接口進(jìn)行模數(shù)轉(zhuǎn)換,根據(jù)單總線通信協(xié)議,總線上的所有傳輸過程都是以初始化開始的,主機(jī)響應(yīng)應(yīng)答脈沖,應(yīng)答脈沖使主機(jī)知道,以產(chǎn)生低電平應(yīng)答脈沖,若為低電平,再延時(shí)480us。圖3-5土壤傳感器接口電路原理圖3.2.4水泵驅(qū)動(dòng)模塊設(shè)計(jì)本系統(tǒng)通過繼電器模塊對(duì)水泵電機(jī)發(fā)出工作信號(hào),因此,STM32單片機(jī)的PC12引腳連接三極管的基極,VCC連接集電極,發(fā)射極與LED連接。當(dāng)引腳電平為低的時(shí)候三極管導(dǎo)通,繼電器線圈得電,觸點(diǎn)閉合,執(zhí)行放水澆花動(dòng)作。水泵驅(qū)動(dòng)電路圖如圖3-6所示圖3-6 繼電器開關(guān)電路圖3.2.5光照檢測(cè)模塊設(shè)計(jì)本系統(tǒng)選擇光敏電阻作為檢測(cè)光照的器件,在模塊電路中,通過串聯(lián)一個(gè)電阻實(shí)現(xiàn)光敏電阻的分壓,電阻為分壓電阻,同時(shí)也保護(hù)光敏電阻。光敏電阻輸出數(shù)據(jù)是模擬量,通過單片機(jī)ADC轉(zhuǎn)成數(shù)字量輸入主控芯片計(jì)算處理。在本設(shè)計(jì)中,模塊引腳AO直接與單片機(jī)PA5口相連,引腳1連接VCC3.3V電源供電,引腳2與GND相接。舵機(jī)驅(qū)動(dòng)模塊電路圖如圖3-7所示。圖3-7 光照強(qiáng)度檢測(cè)模塊電路圖3.2.6LCD液晶顯示模塊設(shè)計(jì)LCD液晶顯示電路如電路圖所示,模塊8080并行通信口接入單片機(jī)PE組IO口,DC5V供電,使能腳接入PB0引腳,讀寫引腳接入單片機(jī)PB2口,RS復(fù)位腳接入單片機(jī)PB13口,液晶電路VEE口接一滑動(dòng)變阻器,目的是為調(diào)節(jié)LCD的顯示分辨率。系統(tǒng)中采用LCD作為顯示器件輸出信息。在本電路中電位器可以調(diào)節(jié)液晶顯示的對(duì)比度即清晰度。其具體電路原理圖如下圖所示。圖3-8 LCD液晶顯示電路原理圖3.3本章小結(jié)本章主要介紹智能花盆控制系統(tǒng)的整體硬件框架設(shè)計(jì)以及具體元器件的選型,根據(jù)數(shù)據(jù)手冊(cè)搭建各模塊電路,并繪制出模塊電路圖,最后整合成整體的原理圖,硬件架構(gòu)的設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的根基,這里根據(jù)自身所學(xué)的知識(shí)加以以前的項(xiàng)目開發(fā)經(jīng)驗(yàn),結(jié)合各模塊的芯片手冊(cè)以及優(yōu)秀的電路設(shè)計(jì),還介紹了各模塊的使用原理等,為后面的軟件設(shè)計(jì)奠定基調(diào)。第4章軟件系統(tǒng)設(shè)計(jì)嵌入式開發(fā)領(lǐng)域底層硬件的編程語言一般是匯編、C或C++,縱觀語言發(fā)展史,從最初的貝爾實(shí)驗(yàn)室成立,一步步衍生了近200種程序語言,像主流的JAVA、PYTHON、GO等,很多語言其實(shí)是另一種語言的變體。C作為繼匯編語言后的一大語種,程序設(shè)計(jì)方式不再那么繁瑣,C發(fā)展歷史悠久,很多大型的底層的軟件都用C編寫,一來是底層編譯效率高,二來是有豐富的數(shù)據(jù)結(jié)構(gòu)和算法。本系統(tǒng)軟件因?yàn)樯婕爸苯硬僮鲉纹瑱C(jī)寄存器,固C語言是作為首先,匯編語言存在移植效率差、設(shè)計(jì)結(jié)構(gòu)臃腫的缺陷,因此不適合有業(yè)務(wù)邏輯應(yīng)用的開發(fā)工具,基于機(jī)器語言發(fā)展的前身,C語言既可以直接操作硬件,且設(shè)計(jì)模式高效,固選擇C語言開發(fā)本次項(xiàng)目。4.1軟件開發(fā)平臺(tái)4.1.1AltiumDesigner16繪圖軟件如今,有很多軟件繪制電路原理圖,如:Protel,AltiumDesigner,Cadence等,這些軟件各有各的特點(diǎn),選擇合適的軟件繪制可以提高系統(tǒng)開發(fā)的效率,最后經(jīng)過比對(duì)分析,選擇了AltiumDesigner16。AltiumDesigner16是一個(gè)比較適合初學(xué)者使用的繪圖軟件,不但集成了Protel繪圖軟件的優(yōu)點(diǎn),可以繪制電路圖和電路仿真,可以制作PCB,AltiumDesigner16是一套完整的板卡級(jí)設(shè)計(jì)系統(tǒng),真正地實(shí)現(xiàn)了在單個(gè)應(yīng)用程序中的集成。該設(shè)計(jì)系統(tǒng)的目的就是為了支持整個(gè)設(shè)計(jì)過程。AltiumDesigner16PCB線路圖設(shè)計(jì)系統(tǒng)完全利用了WindowsXP平臺(tái)的優(yōu)勢(shì),具有改進(jìn)的穩(wěn)定性、增強(qiáng)的圖形功能和超強(qiáng)的用戶界面,設(shè)計(jì)者可以選擇最適當(dāng)?shù)脑O(shè)計(jì)途徑以最優(yōu)化的方式工作。圖4-1AltiumDesigner10操作界面4.1.2MDK編譯軟件STM32單片機(jī)的開發(fā),不僅需要硬件技術(shù)的支持,還需要軟件技術(shù)的支持。作為微處理器,芯片微處理器只能通過指令識(shí)別機(jī)器碼和實(shí)現(xiàn)硬件功能。對(duì)于單片機(jī)的早期開發(fā),代碼是用匯編語言編寫的,代碼相對(duì)簡(jiǎn)單快捷,但代碼非常易讀,所以現(xiàn)在單片機(jī)的開發(fā)已經(jīng)用到了C語言等高級(jí)語言中。C語言是高效且易于維護(hù),這是單片機(jī)初學(xué)者的不錯(cuò)選擇。一旦有了編程語言,需要一個(gè)編譯器將代碼轉(zhuǎn)換成機(jī)器碼,本設(shè)計(jì)就用MDK5包含這個(gè)編譯器。所以MDK是一個(gè)不錯(cuò)的選擇,本設(shè)計(jì)使用MDK5作為集成開發(fā)環(huán)境。圖4-2MDK5組成4.2系統(tǒng)程序設(shè)計(jì)4.1.1系統(tǒng)總體流程圖單片機(jī)系統(tǒng)編程總的來說包括裸機(jī)前后臺(tái)搭建方式和RTOS內(nèi)核移植編程方式,由于此次軟件業(yè)務(wù)邏輯不是很龐大,固采用裸機(jī)應(yīng)用方式。裸機(jī)的前后臺(tái)搭建即是用子函數(shù)封裝一個(gè)個(gè)線程體,在主循環(huán)函數(shù)實(shí)現(xiàn)線程函數(shù)遞歸調(diào)度,前臺(tái)相當(dāng)于中斷,后臺(tái)即為響應(yīng),而RTOS系統(tǒng)編程其實(shí)是利用實(shí)時(shí)操作系統(tǒng)作為載體,像UCOS等,這些像空閑、系統(tǒng)任務(wù)等都被封裝成API,開發(fā)者根據(jù)需求直接調(diào)度就可以。本系統(tǒng)軟件包括了驅(qū)動(dòng)軟件設(shè)計(jì)和系統(tǒng)事務(wù)邏輯設(shè)計(jì),首先寫好每個(gè)模塊的驅(qū)動(dòng)軟件,這里包括ESP8266Wi-Fi模塊串口通信的驅(qū)動(dòng)、LCD顯示的驅(qū)動(dòng)、濕度傳感器采樣的ADC驅(qū)動(dòng)、光敏電阻光強(qiáng)采樣的驅(qū)動(dòng)、繼電器開關(guān)控制的驅(qū)動(dòng)。根據(jù)數(shù)據(jù)手冊(cè)的芯片時(shí)序圖,在哪一時(shí)刻需要拉高電平,拉高多長時(shí)間,下降沿的時(shí)序又是怎樣的,等等這些理論,綜合起來完成驅(qū)動(dòng)的開發(fā)。感知層傳感器的驅(qū)動(dòng)軟件設(shè)計(jì)首先是初始化芯片時(shí)鐘,void封裝一個(gè)數(shù)據(jù)函數(shù),定義傳值移位變量,拉低片選使能腳,for循環(huán)寫入10位有效數(shù)據(jù),取出最高位寫入數(shù)據(jù),當(dāng)檢測(cè)到寫數(shù)據(jù)停止位時(shí),拉高片選使能腳,關(guān)閉數(shù)據(jù)傳送,這款芯片是上升沿開啟數(shù)據(jù)讀寫的。按鍵驅(qū)動(dòng)的邏輯就是高低平使能中斷,單片機(jī)系統(tǒng)實(shí)時(shí)掃描服務(wù)程序,當(dāng)觸發(fā)按鍵時(shí),中斷捕獲觸發(fā)信號(hào)。系統(tǒng)業(yè)務(wù)軟件邏輯流程設(shè)計(jì)是首先進(jìn)行單片機(jī)所有外設(shè)初始化操作,包括單片機(jī)時(shí)鐘、相應(yīng)模塊芯片、LCD并進(jìn)行清零操作,進(jìn)入voidmain主函數(shù)循環(huán)體,實(shí)時(shí)監(jiān)聽系統(tǒng)中斷,掃描按鍵是否按下,當(dāng)有按鍵按下時(shí),判斷是哪種信號(hào)功能按鍵,對(duì)應(yīng)調(diào)度驅(qū)動(dòng)事件,在設(shè)置響應(yīng)時(shí)加限值判斷,判斷是否達(dá)到電壓輸出閾值,最終判斷輸出是否滿足要求,整個(gè)系統(tǒng)就是這么一個(gè)前臺(tái)編程、后臺(tái)調(diào)度的操作,基于高內(nèi)聚低耦合設(shè)計(jì)模式,完成軟件需求。系統(tǒng)總體流程圖如圖4-1所示。圖4-1總體設(shè)計(jì)流程圖4.1.2LCD液晶子程序設(shè)計(jì)LCD子程序流程圖如圖4-2所示。主要步驟是先進(jìn)行硬件初始化,初始化模塊接口及各引腳IO電平,不斷掃描行列坐標(biāo),液晶面板總共能打印兩行,每行16個(gè)字符點(diǎn),用戶傳參定位坐標(biāo)點(diǎn),二維XY坐標(biāo),一旦捕獲到坐標(biāo)數(shù)據(jù),往對(duì)應(yīng)坐標(biāo)像素填充數(shù)據(jù),判斷數(shù)據(jù)是否顯示完成,是的話結(jié)束掃描。圖4-3液晶顯示流程圖4.1.3濕度檢測(cè)子程序設(shè)計(jì)首先進(jìn)行IO口引腳的初始化,接著進(jìn)入功能函數(shù)體,函數(shù)體首部是把數(shù)據(jù)輸入總線拉低18毫秒,再復(fù)位由上拉電阻電平拉高,這里設(shè)定20微秒延時(shí),然后判斷數(shù)據(jù)輸出總線是否有響應(yīng)信號(hào),如果沒有反應(yīng),跳出的子程序,如果有響應(yīng)則返回標(biāo)志位,繼續(xù)執(zhí)行。否否是發(fā)出濕度轉(zhuǎn)換命令寫入寄存器讀濕度前復(fù)位顯示測(cè)濕度點(diǎn)位置復(fù)位開始硬件存在?延時(shí)發(fā)出讀濕度命令寫入寄存器讀入濕度值數(shù)據(jù)返回延時(shí)圖4-3土壤濕度采樣程序流程圖4.3ESP8266串口通信協(xié)議設(shè)計(jì)ESP8266模塊與單片機(jī)的通信接口是串口,波特率115200,二者通信需要設(shè)計(jì)通信協(xié)議。串行端口是異步的(不傳輸時(shí)鐘相關(guān)數(shù)據(jù)),兩個(gè)設(shè)備在使用串口通信時(shí),必須先約定一個(gè)數(shù)據(jù)傳輸速率,并且這兩個(gè)設(shè)備各自的時(shí)鐘頻率必須與這個(gè)速率保持相近,某一方的時(shí)鐘頻率相差很大都會(huì)導(dǎo)致數(shù)據(jù)傳輸混亂,工作原理是將傳輸數(shù)據(jù)的每個(gè)字符一位接一位地傳輸。起始位:先發(fā)出一個(gè)邏輯”0”的信號(hào),表示傳輸字符的開始。資料位:緊接著起始位之后。資料位的個(gè)數(shù)可以是4、5、6、7、8等,構(gòu)成一個(gè)字符。通常采用ASCII碼。從最低位開始傳送,靠時(shí)鐘定位。奇偶校驗(yàn)位:資料位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn)),以此來校驗(yàn)資料傳送的正確性。停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位、1.5位、2位的高電平。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢??臻e位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒有資料傳送。波特率:是衡量資料傳送速率的指標(biāo)。表示每秒鐘傳送的符號(hào)數(shù)(symbol)。一個(gè)符號(hào)代表的信息量(比特?cái)?shù))與符號(hào)的階數(shù)有關(guān)。例如資料傳送速率為120字符/秒,傳輸使用256階符號(hào),每個(gè)符號(hào)代表8bit,則波特率就是120baud,比特率是120*8=960bit/s。這兩者的概念很容易搞錯(cuò)。4.4本章小結(jié)本章首先介紹智能花盆系統(tǒng)所需的軟件工具,包括AltiumDesigner16,MDK5編譯器軟件,并對(duì)這些軟件工具的開發(fā)、使用說明、功能模式進(jìn)行了簡(jiǎn)要說明。然后介紹智能花盆系統(tǒng)各個(gè)軟件獨(dú)立模塊的功能,繪制各個(gè)模塊的工作流程圖,根據(jù)每個(gè)模塊的流程圖,綜合設(shè)計(jì)系統(tǒng)軟件流程圖,最后是本系統(tǒng)設(shè)計(jì)最關(guān)鍵的協(xié)議設(shè)計(jì)--串口通信介紹。第5章系統(tǒng)調(diào)試5.1系統(tǒng)功能性測(cè)試系統(tǒng)調(diào)試的目的是讓整機(jī)功能如預(yù)期設(shè)想跑起來,大方向包括硬件調(diào)試和軟件調(diào)試,所謂硬件調(diào)試就是利用儀器儀表測(cè)量工具,如示波器、邏輯分析儀、萬用表等,主要測(cè)試電路電源是否正常、是否出現(xiàn)短路斷路故障、芯片時(shí)序波形是否正確、是否產(chǎn)生紋波太大的電信號(hào)。所謂軟件調(diào)試就是將代碼下載進(jìn)入單片機(jī),接單片機(jī)串口進(jìn)入計(jì)算機(jī),通過上位機(jī)應(yīng)用查看故障點(diǎn),打印出軟件故障出現(xiàn)位置,一般分析為程序邏輯故障、軟件可靠性測(cè)試、安全接口測(cè)試、業(yè)務(wù)功能有誤。本次設(shè)計(jì)系統(tǒng)調(diào)試整體來說還算比較順利,就是ESP8266WIFI與安卓終端通信那里調(diào)試出現(xiàn)bug,后面分析為程序協(xié)議出錯(cuò)。根據(jù)流程規(guī)則進(jìn)行智能花盆調(diào)試,最終系統(tǒng)功能如預(yù)期需求所設(shè)正常運(yùn)行。系統(tǒng)實(shí)物圖如圖所示5-1所示。系統(tǒng)實(shí)物圖5.2軟件的調(diào)試設(shè)計(jì)中的核心芯片是使用Keil編譯器的STM32微控制器,以及用于編程,調(diào)試和程序下載的設(shè)計(jì)軟件?;趩纹瑱C(jī)的路障提示系統(tǒng)設(shè)計(jì),整個(gè)程序調(diào)試軟件的設(shè)計(jì)是Keil。Keil用于編寫和調(diào)試程序。使用該軟件時(shí),我們遇到了一些問題,以及軟件程序的延遲。問題發(fā)生后,不斷修改程序,并查找問題的結(jié)果。這一方面的問題將得到解決。這部分主要是軟件工程建立的圖形介紹。首先,單擊“項(xiàng)目”以設(shè)置軟件的一些目標(biāo)選項(xiàng),以便可以生成項(xiàng)目,建立工程項(xiàng)目如圖5-2所示。工程項(xiàng)目設(shè)置軟件接口以編譯源程序。發(fā)生錯(cuò)誤時(shí),它將返回上一級(jí)以更正錯(cuò)誤并重新編譯,直到?jīng)]有錯(cuò)誤為止。需要注意一些設(shè)置,SCM屬性設(shè)置如圖5-3所示。單片機(jī)屬性設(shè)置圖由Keil軟件生成的“X.HEX”文件需要在SCM的屬性設(shè)置中導(dǎo)入。設(shè)置屬性后,按OK編譯項(xiàng)目并調(diào)試代碼。項(xiàng)目成功編譯后,系統(tǒng)將提示生成二進(jìn)制可執(zhí)行文件和HEX文件。STM32MCU與傳統(tǒng)的51MCU相比,下載程序不需要額外的輔助軟件。該程序可以直接通過Keil軟件下載。在本設(shè)計(jì)中,由于IO端口資源有限,因此采用ST-Link中的SW下載方法,ST-Link和STM32單片機(jī)僅需要4條線。這些包括SDIO,CLK,VCC和GND。并且在開發(fā)過程中,Keil軟件可以通過ST-Link在線硬件調(diào)試為STM32微控制器,可以查看每個(gè)寄存器的值并調(diào)試程序的斷點(diǎn),非常方便。Keil的軟件開發(fā)環(huán)境如圖5-4所示。Keil開發(fā)環(huán)境另外本系統(tǒng)還可以傳輸濕度和光照信息到安卓(Android)平臺(tái)手機(jī)上,ESP8266與之間的通信基于TCP/IP協(xié)議。手機(jī)軟件采用Java語言編程,ESP8266模塊的IP地址為:;端口號(hào):8086。手機(jī)在連接WiFi模塊后即可接受到單片機(jī)傳來的土壤濕度和光照參數(shù),目前手機(jī)APP只有展示從單片機(jī)讀取的數(shù)據(jù)的功能。手機(jī)APP界面如圖5-5所示。圖5-5手機(jī)APP界面圖5.3本章小結(jié)本章主要介紹智能花盆系統(tǒng)硬件調(diào)試、軟件調(diào)試和系統(tǒng)集成調(diào)試,硬件調(diào)試包括對(duì)元器件焊接的短路測(cè)試、供電電源測(cè)試、電源穩(wěn)定性測(cè)試以及硬件調(diào)試的原理介紹、方法和相關(guān)注意事項(xiàng),軟件調(diào)試包括模塊驅(qū)動(dòng)代碼測(cè)試、自運(yùn)行測(cè)試和與軟件的通訊測(cè)試,系統(tǒng)集成調(diào)試就是智能花盆系統(tǒng)整個(gè)系統(tǒng)的功能調(diào)試了,最后結(jié)果是功能滿足需求,運(yùn)行正常。結(jié)論課題需求下來到系統(tǒng)實(shí)物功能調(diào)試完成經(jīng)歷了幾個(gè)月的時(shí)間,以單片機(jī)控制為核心的智能花盆設(shè)計(jì)涉及的知識(shí)點(diǎn)涵蓋硬件、軟件和算法,可謂是一嵌入式綜合工程設(shè)計(jì),課題秉承“大道至簡(jiǎn)、高內(nèi)聚低耦合”的設(shè)計(jì)理念,拿到課題需求,首先綜合各技術(shù)資料進(jìn)行了需求分析,其中技術(shù)資料包括市面關(guān)于此課題相似產(chǎn)品的設(shè)計(jì)方案,分析完后整理出有用的資源,設(shè)計(jì)硬件方案,包括功能模塊的選型以及單片機(jī)資源的分配、繪制硬件電路以及電路驗(yàn)證仿真,再者設(shè)計(jì)軟件方案,包括根據(jù)可靠的硬件電路驗(yàn)證設(shè)計(jì)軟件驅(qū)動(dòng),繪制軟件流程圖以及設(shè)計(jì)系統(tǒng)軟件流程,最后用儀器設(shè)備焊接電路,進(jìn)行硬件軟件調(diào)試分析,解決調(diào)試過程出現(xiàn)的問題,整機(jī)功能驗(yàn)證完成后輸出總結(jié)報(bào)告,這些就是系統(tǒng)開發(fā)流程的總結(jié)。智能花盆在生活中應(yīng)用是廣泛的,像市面上很多方案公司做的農(nóng)業(yè)采集網(wǎng)絡(luò)節(jié)點(diǎn)器等等,其關(guān)鍵技術(shù)就在于傳感器底層數(shù)據(jù)采集、校驗(yàn)然后上傳到終端進(jìn)行數(shù)據(jù)分析以及圖形化展示。本次設(shè)計(jì)是基于單片機(jī)開發(fā)的,在設(shè)計(jì)的過程中遇到了很多問題,最典型的一種是ESP8266模組與主控的UART總線通信無法讀數(shù)據(jù),請(qǐng)求無ACK應(yīng)答,但是能讀到從設(shè)備的ID,這就導(dǎo)致了上下位機(jī)的通信層協(xié)議無法正常承載數(shù)據(jù)包并傳送,最后無數(shù)據(jù)輸出,即使有,也是跳變數(shù)據(jù),最后經(jīng)過一步步排除,首先從電源供電開始,確保系統(tǒng)電路電源正常,把分析矛頭放到STM32的UART口底層庫配置上,用示波器抓波形分析,最后斷點(diǎn)調(diào)試發(fā)現(xiàn),串口幀讀寫信號(hào)的程序有bug,重新仔細(xì)查閱芯片手冊(cè),調(diào)整讀數(shù)據(jù)下降沿時(shí)間,終于解決了此問題。當(dāng)然在開發(fā)的過程中還遇到了像器件虛焊、電容電容選值不對(duì)等的問題,經(jīng)過一層層摸索,最后還是成功把該項(xiàng)目完成。本課題完成心得,相比于以前上課學(xué)的知識(shí),本次畢設(shè)體現(xiàn)的是理論與實(shí)際相結(jié)合優(yōu)勢(shì),光會(huì)原理不行,得會(huì)實(shí)際開發(fā)才行,拿到一個(gè)需求要有架構(gòu)思想,通過自己的不懈努力,實(shí)物終于制作完成,且實(shí)物呈現(xiàn)的功能如預(yù)期設(shè)想,后期還會(huì)基于此去升級(jí)優(yōu)化,作為一個(gè)技術(shù)人,深知自己技術(shù)經(jīng)驗(yàn)不足,在踏出大學(xué)校門前會(huì)不斷鞏固自己的技術(shù)水平,為以后做開發(fā)奠定基礎(chǔ)。當(dāng)然,本次設(shè)計(jì)離實(shí)際的市場(chǎng)產(chǎn)品的開發(fā)還相差甚遠(yuǎn),只是實(shí)現(xiàn)了功能需求而已,性能這塊,沒作驗(yàn)證,而且開發(fā)也沒有標(biāo)準(zhǔn),所以系統(tǒng)還有待迭代優(yōu)化,為了更好的與市場(chǎng)產(chǎn)品開發(fā)接軌,接下來會(huì)基于本需求重點(diǎn)思考性能點(diǎn),以用戶的角度去設(shè)計(jì)開發(fā),以前沿技術(shù)的角度去完善項(xiàng)目?!緟⒖嘉墨I(xiàn)】潘敏開,黃業(yè)盛,何俊蜓,劉晉勝.一種交互式的物聯(lián)網(wǎng)智能花盆系統(tǒng)設(shè)計(jì)[J].科技資訊,2017,15(02):4-6.吳廣趙剛,李小紅,呂向
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025遼寧鞍山市鐵東區(qū)教育局面向畢業(yè)生(第二輪)校園招聘筆試考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(各地真題)
- 2025貴州省文化和旅游廳所屬事業(yè)單位第十三屆人博會(huì)引進(jìn)人才3人模擬試卷及答案詳解(各地真題)
- 2025年濱州鄒平懷遠(yuǎn)學(xué)校教師招聘25人考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(奪冠)
- 2025貴州余慶縣招聘10名城鎮(zhèn)公益性崗位人員模擬試卷及答案詳解(各地真題)
- 2025年河北唐山市直屬公立醫(yī)院第一次公開選聘工作人員18名考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(奪冠)
- 2025江西贛州市會(huì)昌縣小鎮(zhèn)時(shí)代文化傳媒有限公司招聘勞務(wù)派遣人員1名模擬試卷及答案詳解(網(wǎng)校專用)
- 2025江西吉安永新縣薪火人力資源服務(wù)有限公司招聘4人考前自測(cè)高頻考點(diǎn)模擬試題及答案詳解(奪冠系列)
- 2025年河北唐山市豐潤區(qū)選聘第二批事業(yè)編制醫(yī)療技術(shù)人員13名考前自測(cè)高頻考點(diǎn)模擬試題附答案詳解(典型題)
- 2025年4月廣東廣州市天河區(qū)智谷第二幼兒園招聘編外教輔人員1人模擬試卷完整答案詳解
- 2025內(nèi)蒙古鑲黃旗蒙金礦業(yè)開發(fā)有限公司招聘25人模擬試卷及答案詳解(有一套)
- 資產(chǎn)評(píng)估學(xué)教程(第八版)習(xí)題及答案
- 工業(yè)設(shè)計(jì)課件全套
- 道路運(yùn)輸企業(yè)安全生產(chǎn)責(zé)任制度
- 中西醫(yī)結(jié)合治療冠心病
- 膈疝介紹課件
- 注冊(cè)電氣工程師考試試題及答案
- 手術(shù)室護(hù)理工作中人文關(guān)懷和措施
- 2025年《兒童腦性癱瘓》標(biāo)準(zhǔn)課件
- 慢性胃炎針灸治療
- 牛奶蛋白過敏的健康宣教
- 鐵路工程勘察設(shè)計(jì)招標(biāo)文件范本(2023 版)
評(píng)論
0/150
提交評(píng)論