• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2016-10-29 16:11:02張偉峰岳朋闖李建華
      山東工業(yè)技術(shù) 2016年19期
      關(guān)鍵詞:網(wǎng)絡(luò)通訊發(fā)送數(shù)據(jù)上位

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

      (河南工業(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ú)線(xiàn)電偏置、前端信號(hào)的處理功能、故障排除和無(wú)線(xiàn)電系統(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è)備都是客戶(hù)端設(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ú)線(xiàn)的名字,pwd是無(wú)線(xiàn)密碼,收到返回命令”O(jiān)K”就說(shuō)明單片機(jī)與無(wú)線(xiàn)路由器連接。

      (2)與無(wú)線(xiàn)路由器連接后就要建立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)自客戶(hù)端的連接請(qǐng)求,這里體現(xiàn)了同步的含義,如果客戶(hù)端對(duì)該服務(wù)端發(fā)起連接的時(shí)候,程序在這里就會(huì)等待(阻塞CPU),直到有客戶(hù)端的連接請(qǐng)求為止。因此這里一般采用每連接一個(gè)客戶(hù)端都開(kāi)啟一個(gè)新線(xiàn)程,防止阻塞CPU,影響整個(gè)系統(tǒng)運(yùn)行。(3)NetworkStream streamToClient= remoteClient. GetStream();建立和連接的客戶(hù)端的數(shù)據(jù)流,與客戶(hù)端連接發(fā)送接收的數(shù)據(jù)都在這個(gè)數(shù)據(jù)流中。(4)bytesRead= streamToClient.Read(buffer, 0,BufferSize);接收來(lái)自客戶(hù)端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è)客戶(hù)端采集的環(huán)境信息超出標(biāo)準(zhǔn)可以向該客戶(hù)端發(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è)控。

      猜你喜歡
      網(wǎng)絡(luò)通訊發(fā)送數(shù)據(jù)上位
      移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
      基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
      帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
      特斯拉 風(fēng)云之老阿姨上位
      車(chē)迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
      使用IPSec安全傳輸數(shù)據(jù)
      關(guān)于網(wǎng)絡(luò)通訊中信息安全的保障研究
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      別克君越高速網(wǎng)絡(luò)通訊異常
      曲周县| 靖安县| 大英县| 望都县| 徐州市| 尖扎县| 永修县| 连州市| 龙泉市| 北碚区| 东乌珠穆沁旗| 合阳县| 麻江县| 左权县| 沐川县| 临江市| 永川市| 清涧县| 双鸭山市| 邢台县| 焉耆| 布尔津县| 莱芜市| 崇州市| 商南县| 绵阳市| 苍溪县| 勃利县| 太康县| 来凤县| 于田县| 澄江县| 政和县| 玛沁县| 基隆市| 林口县| 萨嘎县| 互助| 安新县| 北川| 酉阳|