主頁(http://www.130131.com):基于嵌入式Web服務(wù)器的溫室遠(yuǎn)程監(jiān)控的研究(2) 溫室控制系統(tǒng)中單片機(jī)主要完成來自網(wǎng)絡(luò)數(shù)據(jù)的解包和接受溫室傳感器采集的數(shù)據(jù)的打包,當(dāng)以太網(wǎng)有數(shù)據(jù)到達(dá)該設(shè)備時,單片機(jī)采用查詢方式讀取網(wǎng)絡(luò)數(shù)據(jù)并分析,先將其目的地址與系統(tǒng)的物理地址相比較,如果地址不相符,則將該數(shù)據(jù)丟棄,如果相符,則判斷是否是ARP數(shù)據(jù)包,是則轉(zhuǎn)入ARP處理程序,并發(fā)送RARP數(shù)據(jù)包。如果是UDP數(shù)據(jù)包且IP地址和端口號正確,則開始數(shù)據(jù)接收。當(dāng)傳感器傳來的數(shù)據(jù)要發(fā)送時,單片機(jī)先將待發(fā)送的數(shù)據(jù)按UDP 協(xié)議格式打包進(jìn)行封裝,需要設(shè)置以太網(wǎng)目的地址、源地址、協(xié)議類型,再按所設(shè)置的協(xié)議類型來設(shè)置數(shù)據(jù)段。然后給出發(fā)送緩沖區(qū)首地址和數(shù)據(jù)包長度,啟動發(fā)送命令。通過遠(yuǎn)程DMA通道送到RTL8019AS中的發(fā)送緩沖區(qū),即可實(shí)現(xiàn)RTL8019AS的發(fā)送功能,并將結(jié)果寫入狀態(tài)寄存器中。再啟動本地DMA,將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上[4]。 3 結(jié)論 (2)設(shè)計(jì)了系統(tǒng)的軟硬件,通過用單片機(jī)控制網(wǎng)絡(luò)接口芯片RTL8019AS,同時嵌入精簡的TCP/IP協(xié)議,將溫室控制器擴(kuò)展成嵌入式Web服務(wù)器,實(shí)現(xiàn)溫室內(nèi)各種狀態(tài)數(shù)據(jù)的采集與控制。 本文作者創(chuàng)新點(diǎn): 通過設(shè)計(jì),首次把溫室內(nèi)廉價的單片微處理器做成一個嵌入TCP/IP協(xié)議的Web服務(wù)器,其不僅實(shí)現(xiàn)溫室內(nèi)各種狀態(tài)數(shù)據(jù)的采集功能,更替代了過去的上下位機(jī)遠(yuǎn)程控制,這對我國數(shù)字農(nóng)業(yè)和網(wǎng)絡(luò)農(nóng)業(yè)的研究也具有重大意義。 (中國集群通信網(wǎng) | 責(zé)任編輯:陳曉亮) |




