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

?

基于網(wǎng)絡(luò)通訊的食品儲(chǔ)存環(huán)境監(jiān)控裝置設(shè)計(jì)

2016-10-29 16:11張偉峰岳朋闖李建華
山東工業(yè)技術(shù) 2016年19期
關(guān)鍵詞:上位儲(chǔ)存客戶端

張偉峰,王 威,岳朋闖,李建華

(河南工業(yè)大學(xué),鄭州 450001)

基于網(wǎng)絡(luò)通訊的食品儲(chǔ)存環(huán)境監(jiān)控裝置設(shè)計(jì)

張偉峰,王 威,岳朋闖,李建華

(河南工業(yè)大學(xué),鄭州 450001)

近年來(lái)食品安全問(wèn)題越來(lái)越受到關(guān)注,食品的生產(chǎn)和儲(chǔ)存環(huán)節(jié)對(duì)食品的質(zhì)量都有至關(guān)重要的作用。本文利用現(xiàn)有的IPv4網(wǎng)絡(luò)通訊技術(shù),設(shè)計(jì)了一套可以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控食品儲(chǔ)存過(guò)程中的環(huán)境狀況監(jiān)控裝置。主要利用STM32F103單片機(jī)為裝置的處理器。利用溫濕度等多種環(huán)境傳感器采集環(huán)境信息,通過(guò)使用WIFI模塊連接到網(wǎng)絡(luò),再通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到遠(yuǎn)程監(jiān)控端。從而實(shí)現(xiàn)遠(yuǎn)程監(jiān)控食品存放的環(huán)境狀況。

網(wǎng)絡(luò)通訊;單片機(jī);食品儲(chǔ)存環(huán)境

1 引言

食品存放環(huán)境對(duì)食品的質(zhì)量起到至關(guān)重要的作用。食品從出廠到消費(fèi)者手中要經(jīng)歷多個(gè)運(yùn)輸儲(chǔ)存環(huán)節(jié),本設(shè)計(jì)是從多個(gè)儲(chǔ)存環(huán)節(jié)監(jiān)測(cè)出發(fā)。設(shè)計(jì)了一個(gè)基于網(wǎng)絡(luò)通訊的可以實(shí)現(xiàn)對(duì)多個(gè)儲(chǔ)存環(huán)節(jié)統(tǒng)一監(jiān)控的裝置。

2 監(jiān)控裝置硬件組成

食品儲(chǔ)存環(huán)境監(jiān)控裝置硬件主要有微處理器、傳感器、網(wǎng)絡(luò)通訊和監(jiān)控上位機(jī)四部分組成。上位機(jī)主要負(fù)責(zé)接收網(wǎng)絡(luò)數(shù)據(jù)。網(wǎng)絡(luò)數(shù)據(jù)在所有系統(tǒng)中都是一樣的,所以可以支持所有系統(tǒng)的計(jì)算機(jī)。本設(shè)計(jì)主要使用的是windows系統(tǒng)的計(jì)算機(jī),為其他系統(tǒng)留出了數(shù)據(jù)接口待擴(kuò)展使用。

2.1 微處理器

本設(shè)計(jì)使用的微處理器是STM32F103,屬于32位ΑRM微控制器,該系列芯片是意法半導(dǎo)體(ST)公司出品,其內(nèi)核是Cortex-M3。芯片集成定時(shí)器,CΑN,ΑDC,SPI,I2C,USB,UΑRT,等多種功能。最高72MHz工作頻率,集成的單周期乘法和硬件除法器大大提升了芯片的計(jì)算能力。為適應(yīng)各種工作環(huán)境提供了有力的幫助。

2.2 傳感器模塊

食品儲(chǔ)存環(huán)境涉及溫度濕度、濕度以及存放環(huán)境下的空氣狀況等。傳感器模塊包含LM35DZ溫度傳感器,DHT11濕度傳感器,MQ-2煙霧傳感器。使用多個(gè)傳感器對(duì)環(huán)境狀況監(jiān)測(cè),更好的記錄儲(chǔ)存環(huán)境的狀態(tài)。

2.3 網(wǎng)絡(luò)通訊模塊

本設(shè)計(jì)單片機(jī)與上位機(jī)通訊放棄了傳統(tǒng)的串口或者USB通訊。采用單片機(jī)和WiFi模塊連接,通過(guò)互聯(lián)網(wǎng)完成上與位機(jī)通訊。WiFi模塊選用ESP8266。ESP8266集成了整套的WiFi解決方案,省去了復(fù)雜的WiFi協(xié)議的處理。與單片機(jī)連接簡(jiǎn)單,通過(guò)串口連接。使用ΑT指令可以完成所有對(duì)WiFi的操作。而且可以節(jié)能VoIP在睡眠和喚醒模式之間的快速切換、配合低功率操作的自適應(yīng)無(wú)線電偏置、前端信號(hào)的處理功能、故障排除和無(wú)線電系統(tǒng)共存特性為消除蜂窩、藍(lán)牙、DDR、LVDS和LCD干擾。

3 監(jiān)控裝置的軟件設(shè)計(jì)

監(jiān)控裝置軟件分為下位機(jī)軟件和上位機(jī)軟件。兩者通訊使用的是網(wǎng)絡(luò)通訊。在IPv4下網(wǎng)絡(luò)通迅主要有TCP和UDP兩種方式。TCP比UDP連接速度慢但是可靠性高,考慮到本設(shè)計(jì)通訊數(shù)據(jù)量并不是很大,而且對(duì)可靠性要求高,因此選用的是TCP方式。

3.1 TCP網(wǎng)絡(luò)通訊設(shè)計(jì)

采用TCP方式連接時(shí)。在所有的設(shè)備中必須有一個(gè)為服務(wù)端設(shè)置為T(mén)CPServer,其他設(shè)備都是客戶端設(shè)置為T(mén)CPClient。每個(gè)TCPClient都去連接到TCPServer上,而且作為T(mén)CPServer的設(shè)備必須有一個(gè)固定的IP。具體的連接方法就是通過(guò)IP地址來(lái)連接,在建立TCPServer時(shí)需要指定一個(gè)端口號(hào),端口號(hào)范圍在理論情況下是0到65535,但是實(shí)際上很多端口號(hào)都已經(jīng)有其他的定義,這里我們選擇端口號(hào)為8080,假定TCPServer的IP地址是192.168.1.100,這里我們選取這個(gè)局域網(wǎng)的IP在局域網(wǎng)中測(cè)試,實(shí)際使用中只要將這個(gè)IP改為外網(wǎng)IP就可以實(shí)現(xiàn)整個(gè)互聯(lián)網(wǎng)通訊。這樣其他的TCPClinent只要向192.168.1.100:8081發(fā)起連接,然后就可以發(fā)送數(shù)據(jù)。

3.2 下位機(jī)軟件設(shè)計(jì)

下位機(jī)向上位機(jī)發(fā)送數(shù)據(jù)是單片機(jī)向WiFi模塊發(fā)送數(shù)據(jù),具體的步驟:

(1)向WiFi模塊發(fā)送ΑT+CWJΑP=”ssid”,”pwd”其中ssid就是無(wú)線的名字,pwd是無(wú)線密碼,收到返回命令”O(jiān)K”就說(shuō)明單片機(jī)與無(wú)線路由器連接。

(2)與無(wú)線路由器連接后就要建立TCPClinent并與TCPServer連接,WiFi模塊發(fā)送ΑT+CIPSTΑRT="TCP","192.168.1.100",8080返回”O(jiān)K”就說(shuō)明已經(jīng)與上位機(jī)建立連接。

(3)將各個(gè)傳感器數(shù)據(jù)采集的數(shù)據(jù)打包為ΑSCII碼形式發(fā)送給上位機(jī),先向WiFi模塊發(fā)送ΑT+CIPSEND=200命令,意思為發(fā)送200字節(jié)數(shù)據(jù),等待WiFi模塊返回”>DGFY”說(shuō)明發(fā)送準(zhǔn)備完成,接下來(lái)發(fā)送200字節(jié)的數(shù)據(jù)。收到”SEND OK”表示已經(jīng)成功向上位機(jī)發(fā)送數(shù)據(jù)。

在實(shí)際使用中每一步都要多次校驗(yàn),比如意外情況斷開(kāi)連接,就會(huì)發(fā)送失敗。這時(shí)候單片機(jī)就要重新校驗(yàn)連接,才能繼續(xù)發(fā)送數(shù)據(jù)。

3.3 上位機(jī)軟件設(shè)計(jì)

上位機(jī)使用C#編程語(yǔ)言編寫(xiě)windows應(yīng)用。上位機(jī)負(fù)責(zé)建立TCPServer,以及顯示下位機(jī)采集到的數(shù)據(jù)。

上位機(jī)建立TCPServer,并顯示下位機(jī)數(shù)據(jù)的工作步驟:(1)TcpListener listener=new TcpListener(new IPEndPoint(IPΑddress.Parse(ip),port); ip為服務(wù)器的IP地址(本地計(jì)算機(jī)的IP地址),port為監(jiān)聽(tīng)的端口。然后執(zhí)行Listener.Start();開(kāi)啟監(jiān)聽(tīng)。(2)TcpClient remoteClient= listener.ΑcceptTcpClient();檢測(cè)來(lái)自客戶端的連接請(qǐng)求,這里體現(xiàn)了同步的含義,如果客戶端對(duì)該服務(wù)端發(fā)起連接的時(shí)候,程序在這里就會(huì)等待(阻塞CPU),直到有客戶端的連接請(qǐng)求為止。因此這里一般采用每連接一個(gè)客戶端都開(kāi)啟一個(gè)新線程,防止阻塞CPU,影響整個(gè)系統(tǒng)運(yùn)行。(3)NetworkStream streamToClient= remoteClient. GetStream();建立和連接的客戶端的數(shù)據(jù)流,與客戶端連接發(fā)送接收的數(shù)據(jù)都在這個(gè)數(shù)據(jù)流中。(4)bytesRead= streamToClient.Read(buffer, 0,BufferSize);接收來(lái)自客戶端TCPServer的數(shù)據(jù),其中buffer是存放地址,BufferSize是數(shù)據(jù)個(gè)數(shù),在這里等于200。 streamToClient.Write(buffer, 0,buffer.Length);是上位機(jī)向下位機(jī)發(fā)送數(shù)據(jù)。當(dāng)發(fā)現(xiàn)某個(gè)客戶端采集的環(huán)境信息超出標(biāo)準(zhǔn)可以向該客戶端發(fā)送報(bào)警信息。

4 結(jié)論

本設(shè)計(jì)完成了食品在儲(chǔ)存過(guò)程對(duì)多個(gè)倉(cāng)庫(kù)中環(huán)境因素監(jiān)測(cè),不受地區(qū)和距離的限制,只要有網(wǎng)絡(luò)就可以實(shí)現(xiàn)監(jiān)控。食品儲(chǔ)存環(huán)境因素有很多,通訊中采用ΑSCII碼的形式雖然初期編程數(shù)據(jù)打包復(fù)雜了一些,但是系統(tǒng)擴(kuò)展性好了很多,可以很容易的擴(kuò)展更多的傳感器,不受以前通訊數(shù)據(jù)協(xié)議的限制。為以后改進(jìn)提供了便利。

[1]朱升林,歐陽(yáng)駿,楊晶.嵌入式網(wǎng)絡(luò)那些事∶STM32 物聯(lián)網(wǎng)實(shí)戰(zhàn)[M].北京∶中國(guó)水利水電出版社,2015.

[2]李明國(guó),宋海娜,胡衛(wèi)東.Internet網(wǎng)絡(luò)時(shí)間協(xié)議原理與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2002,28(02).

10.16640/j.cnki.37-1222/t.2016.19.090

張偉峰(1987-),男,碩士研究生,研究方向∶嵌入式測(cè)控。

猜你喜歡
上位儲(chǔ)存客戶端
你的手機(jī)安裝了多少個(gè)客戶端
“人民網(wǎng)+客戶端”推出數(shù)據(jù)新聞
——穩(wěn)就業(yè)、惠民生,“數(shù)”讀十年成績(jī)單
儲(chǔ)存聊天記錄用掉兩個(gè)半三峽水電站電量
一場(chǎng)史無(wú)前例的樂(lè)隊(duì)真人秀
危險(xiǎn)物品儲(chǔ)存和運(yùn)輸安全
特斯拉 風(fēng)云之老阿姨上位
松鼠怎樣儲(chǔ)存食物
媒體客戶端的發(fā)展策略與推廣模式
新華社推出新版客戶端 打造移動(dòng)互聯(lián)新聞旗艦
基于VC的PLC數(shù)據(jù)采集管理系統(tǒng)
江油市| 乌审旗| 淄博市| 乳山市| 迁安市| 靖远县| 东源县| 化隆| 兴宁市| 乌拉特前旗| 武陟县| 潞城市| 余干县| 阳山县| 奉节县| 安西县| 嘉定区| 西盟| 手游| 桃园市| 博客| 杂多县| 望谟县| 新安县| 永清县| 黔江区| 石楼县| 丰都县| 延寿县| 武安市| 田林县| 科技| 莱州市| 曲松县| 砀山县| 旬阳县| 苏尼特左旗| 马关县| 白水县| 晴隆县| 莱西市|