• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于物聯(lián)網(wǎng)的智能天氣識別系統(tǒng)設(shè)計(jì)

    2021-01-27 03:48:44鄭博培
    物聯(lián)網(wǎng)技術(shù) 2020年12期
    關(guān)鍵詞:PC機(jī)溫濕度串口

    鄭博培,李 媛

    (北京聯(lián)合大學(xué) 機(jī)器人學(xué)院,北京 100020)

    0 引 言

    隨著經(jīng)濟(jì)快速發(fā)展,國內(nèi)智能家電使用量不斷增加[1]。但目前智能家電的數(shù)據(jù)(天氣數(shù)據(jù)等)獲取形式較為單一[2],均通過網(wǎng)絡(luò)獲取。鑒于地域天氣多變且范圍廣[3],網(wǎng)絡(luò)數(shù)據(jù)存在精度不高的缺陷?;诖?,本文設(shè)計(jì)了基于物聯(lián)網(wǎng)的智能天氣識別系統(tǒng),可獲取當(dāng)前小范圍地區(qū)較精確的天氣信息,并提高智能家電決策效果,降低數(shù)據(jù)請求成本,更好服務(wù)于用戶。

    1 系統(tǒng)結(jié)構(gòu)

    智能天氣識別系統(tǒng)包括溫濕度數(shù)據(jù)采集系統(tǒng)、無線傳輸系統(tǒng)、上位機(jī)數(shù)據(jù)處理系統(tǒng)。

    1.1 溫濕度數(shù)據(jù)采集系統(tǒng)

    溫濕度數(shù)據(jù)采集系統(tǒng)由DS18B20測溫模塊、DHT11濕度采集模塊組成。溫濕度傳感器連接Arduino UNO開發(fā)板的數(shù)字量和模擬量輸入端口。Arduino UNO是一款基于ATmega328P的微控制器開發(fā)板[4-5],擁有14個(gè)數(shù)字輸入/輸出引腳(其中6個(gè)可用作PWM輸出),6個(gè)模擬輸入引腳,及16 MHz晶振時(shí)鐘、USB接口、電源插孔、ICSP接頭和復(fù)位按鈕。

    DS18B20測溫模塊[6]的測溫原理如圖1所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響較小,所產(chǎn)生的固定頻率脈沖信號輸送到減法計(jì)數(shù)器;高溫度系數(shù)晶振的振蕩頻率受溫度影響變化較大,所產(chǎn)生的信號作為減法計(jì)數(shù)器的脈沖輸入。此外,圖中還隱含有計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20會對低溫度系數(shù)振蕩器產(chǎn)生的固定頻率脈沖進(jìn)行計(jì)數(shù),完成溫度測量。

    DHT11的核心部件是濕敏電阻。當(dāng)空氣中的水蒸氣吸附在感濕膜上時(shí),DHT11的電子元件電阻率和電阻值發(fā)生變化,利用這一特性即可測量濕度。

    1.2 信息傳輸系統(tǒng)

    信息傳輸系統(tǒng)采用ZigBee協(xié)議搭建無線傳感網(wǎng)[7]。CC2530是用于2.4 GHz IEEE 802.15.4、ZigBee和RF4CE的片上系統(tǒng)(SoC)解決方案[8-9],包含RF收發(fā)器、標(biāo)準(zhǔn)增強(qiáng)型8051 CPU、系統(tǒng)內(nèi)可編程閃存、8 KB RAM等功能部件,能夠以較低的材料成本建立起超強(qiáng)網(wǎng)絡(luò)節(jié)點(diǎn)。

    本系統(tǒng)將Arduino UNO開發(fā)板與ZigBee模塊通過串口連接,作為物聯(lián)網(wǎng)感知層的傳感器節(jié)點(diǎn)。Arduino UNO開發(fā)板采集天氣信息并處理后,通過串口傳送給CC2530模塊,CC2530模塊將溫濕度數(shù)據(jù)信息通過無線網(wǎng)絡(luò)實(shí)時(shí)發(fā)送給協(xié)調(diào)器。USB接口與PC機(jī)連接,將接收的傳感器節(jié)點(diǎn)溫度、濕度信息通過串口發(fā)送給上位機(jī)系統(tǒng)。

    1.3 上位機(jī)數(shù)據(jù)處理系統(tǒng)

    上位機(jī)數(shù)據(jù)處理系統(tǒng)的硬件設(shè)備可采用PC機(jī)或工控機(jī)。PC機(jī)、工控機(jī)均可通過USB口轉(zhuǎn)串口接收協(xié)調(diào)器的溫濕度信息,并應(yīng)用Scikit-learn模型進(jìn)行當(dāng)前天氣狀況的識別。此外,PC機(jī)和工控機(jī)還可生成當(dāng)日、當(dāng)月天氣數(shù)據(jù)統(tǒng)計(jì)表并打印,便于使用者對天氣情況進(jìn)行統(tǒng)計(jì)和管理。

    2 系統(tǒng)軟件設(shè)計(jì)

    智能天氣識別系統(tǒng)軟件分為傳感器信息采集軟件、無線通信軟件、信息處理軟件(天氣識別軟件)。

    2.1 傳感器信息采集軟件

    傳感器信息采集軟件使用Arduino IDE編程語言開發(fā)[8]。由于溫濕度均為慢變參數(shù),因此設(shè)定程序采樣周期為5 s;Arduino串口通信速率設(shè)置為9 600 b/s,Arduino通過串口將采樣數(shù)據(jù)發(fā)送給CC2530芯片。

    程序通過導(dǎo)入Arduino資源包,引用DHT11庫函數(shù),以便在程序中調(diào)用相關(guān)參數(shù)。

    #include

    #include

    定義引腳,將1 wire數(shù)據(jù)總線與IO4連接;定義溫度、濕度引腳為2號引腳,并實(shí)例化一個(gè)對象。

    #define ONE_WIRE_BUS 4

    #define DHT11PIN 2

    dht11 DHT11

    Arduino數(shù)據(jù)采集及傳輸流程如圖2所示。

    圖2 Arduino數(shù)據(jù)采集及傳輸流程

    2.2 無線通信

    無線通信軟件包括協(xié)調(diào)器軟件和傳感器節(jié)點(diǎn)軟件。

    2.2.1 協(xié)調(diào)器程序

    協(xié)調(diào)器負(fù)責(zé)組建無線傳感網(wǎng),并接收傳感器節(jié)點(diǎn)信息,通過USB接口將信息傳輸給PC機(jī)。協(xié)調(diào)器程序流程如圖3所示。

    2.2.2 傳感器節(jié)點(diǎn)程序

    CC2530模塊通過串口接收Arduino采集的數(shù)據(jù)信息,并通過無線網(wǎng)傳輸。傳感器節(jié)點(diǎn)程序流程如圖4所示。

    2.3 信息處理軟件

    協(xié)調(diào)器通過RS 232串行協(xié)議通信方式將天氣信息數(shù)據(jù)傳輸給PC機(jī),PC機(jī)將通過串口小程序接收的溫度、濕度數(shù)據(jù)存入MySQL數(shù)據(jù)庫。保存到MySQL數(shù)據(jù)庫的部分溫度、濕度數(shù)據(jù)如圖5所示。

    圖3 協(xié)調(diào)器程序流程

    圖4 傳感器節(jié)點(diǎn)程序流程

    2.3.1 信息數(shù)據(jù)清洗與數(shù)據(jù)標(biāo)注

    (1)信息數(shù)據(jù)清洗

    鑒于采集的天氣信息數(shù)據(jù)龐大(每天可收集17 280條數(shù)據(jù)),且一天之中天氣不會發(fā)生跳變,故本文采用Python對采集到的數(shù)據(jù)進(jìn)行處理[10],去掉重復(fù)數(shù)據(jù)。SQL去重語句為:

    SELECT id,temputer,humidity,updata_time FROM table1 GROUP BY temputer,humidity。

    經(jīng)去重處理,所采集的天氣信息數(shù)據(jù)減少到2 290條。去重后的部分?jǐn)?shù)據(jù)如圖6所示。

    為使模型效果更好,本文采用數(shù)據(jù)增強(qiáng)策略,即對現(xiàn)有數(shù)據(jù)(溫度±1 ℃、濕度±5%RH)處理后,再進(jìn)行一次數(shù)據(jù)清洗,最終得到含有800個(gè)數(shù)據(jù)的訓(xùn)練集。

    (2)數(shù)據(jù)標(biāo)注

    溫濕度信息數(shù)據(jù)清洗之后,根據(jù)數(shù)據(jù)產(chǎn)生時(shí)間,及時(shí)間所對應(yīng)天氣情況對其標(biāo)注,即在收集溫度、濕度數(shù)據(jù)的同時(shí)記錄每個(gè)時(shí)間段的天氣情況。如:某時(shí)間段下雨,則標(biāo)注Rainy;如果為雨后天晴,則標(biāo)注Sunny。天氣標(biāo)注數(shù)據(jù)主要通過中國天氣網(wǎng)獲取。從中國天氣網(wǎng)獲取的部分天氣數(shù)據(jù)如圖7所示,獲取的數(shù)據(jù)中包含溫濕度數(shù)據(jù)及天氣情況,可作為標(biāo)注好的數(shù)據(jù)直接使用。

    2.3.2 構(gòu)建SVM分類器并訓(xùn)練模型

    構(gòu)建SVM分類器,即支持向量機(jī)。它是Scikit-learn中一組支持分類、回歸、異常值檢測的監(jiān)督學(xué)習(xí)方法。本系統(tǒng)采用SVM的fit(x,y)方法,只需要輸入數(shù)據(jù)集x和x對應(yīng)的標(biāo)簽y即可。

    構(gòu)建SVM分類器的程序框架如圖8所示。

    圖8 構(gòu)建SVM分類器的程序框架

    訓(xùn)練所使用數(shù)據(jù)包含4個(gè)標(biāo)簽,即Sunny、Cloudy、Rainy、Snowy。為便于數(shù)據(jù)加載,通過以下程序?qū)?biāo)簽轉(zhuǎn)換成數(shù)值:

    def weather_type(s):

    weather = {b'Sunny':0, b'Cloudy':1, b'Rainy':2, b'Snowy':3}

    return weather[s]

    運(yùn)行的部分訓(xùn)練數(shù)據(jù)見表1所列。

    3 結(jié) 語

    智能天氣識別系統(tǒng)對作者所在地區(qū)的天氣信息進(jìn)行實(shí)時(shí)采集,用訓(xùn)練好的模型進(jìn)行天氣識別,將得到的模型輸出結(jié)果與當(dāng)時(shí)的天氣相比對,發(fā)現(xiàn)多組實(shí)驗(yàn)結(jié)果良好。實(shí)驗(yàn)效果如圖9所示。

    表1 運(yùn)行的部分訓(xùn)練數(shù)據(jù)

    圖9 實(shí)驗(yàn)效果

    智能天氣識別系統(tǒng)可獲取所在地區(qū)較精確的天氣信息,便于智能家居提高決策效率,降低數(shù)據(jù)請求成本,應(yīng)用前景廣闊。

    猜你喜歡
    PC機(jī)溫濕度串口
    溫濕度控制器在回收砂冷卻系統(tǒng)中的應(yīng)用
    淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
    基于DSP的多路溫濕度監(jiān)測系統(tǒng)
    基于溫濕度控制的天氣預(yù)測裝置
    電子制作(2018年11期)2018-08-04 03:26:02
    基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
    基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
    VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
    電子制作(2017年23期)2017-02-02 07:16:47
    蒸發(fā)冷卻溫濕度獨(dú)立控制空調(diào)系統(tǒng)的應(yīng)用
    USB接口的多串口數(shù)據(jù)并行接收方法探索
    基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
    地礦測繪(2015年3期)2015-12-22 06:27:26
    故城县| 贵港市| 灵台县| 龙口市| 鹰潭市| 新余市| 南汇区| 佛教| 榆中县| 呼和浩特市| 陆河县| 和田市| 汝南县| 仪征市| 澳门| 临夏县| 广州市| 金阳县| 华宁县| 徐闻县| 长沙市| 蓬莱市| 舟曲县| 吉安县| 汾西县| 天峻县| 湖南省| 道真| 阳春市| 泾川县| 鄂尔多斯市| 黔南| 永修县| 宜章县| 兴城市| 留坝县| 凤台县| 中宁县| 宝清县| 元阳县| 大港区|