在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>天氣數(shù)據(jù)收集和存儲(chǔ)程序開源分享

天氣數(shù)據(jù)收集和存儲(chǔ)程序開源分享

2023-02-09 | zip | 0.03 MB | 次下載 | 免費(fèi)

資料介紹

描述

該項(xiàng)目是一個(gè)相當(dāng)簡(jiǎn)單的天氣數(shù)據(jù)收集和存儲(chǔ)程序。

天氣數(shù)據(jù)由 Arduino 記錄,并通過向網(wǎng)絡(luò)服務(wù)器發(fā)送特制的 GET 請(qǐng)求每 10 分鐘發(fā)送到數(shù)據(jù)庫。

或者,您也可以將輸出發(fā)送到 20x4 LCD。

先決條件:

您必須已經(jīng)配置了 Web 服務(wù)器、數(shù)據(jù)庫和服務(wù)器端腳本語言,它們可以處理 HTTP GET 請(qǐng)求的查詢字符串中的名稱/值對(duì)。如果您使用的是 Windows,在典型的 LAMP/WAMP/WIMP 堆棧上啟動(dòng)和運(yùn)行非常容易,但讓所有這些一起工作超出了本文的范圍。

在我的例子中,我已經(jīng)配置了一臺(tái) Windows 7 機(jī)器來運(yùn)行一個(gè)標(biāo)準(zhǔn)的 WIMP 堆棧——

  • Windows 7 上的 Microsoft IIS 7.5
  • PHP 7.1.24 - windows.php.net/download/
  • MySQL 社區(qū) 8.0.13 - dev.mysql.com/downloads
  • 我還使用 PHPMyAdmin 的副本來幫助進(jìn)行數(shù)據(jù)庫配置 - phpmyadmin.net/
  • 必須啟用 mysqli PHP 擴(kuò)展

重要的提示:

這個(gè)項(xiàng)目完全忽略了任何表面上的安全(不要按原樣將它放在 Internet 上,但它對(duì)您的 LAN 沒問題)并且我的數(shù)據(jù)庫優(yōu)化可能需要一些工作。

概述:

本文的重點(diǎn)是將數(shù)據(jù)從傳感器中獲取到我們的數(shù)據(jù)庫中,然后提取該數(shù)據(jù)并以某種方式顯示它,讓我們知道接下來會(huì)發(fā)生什么。

從現(xiàn)在開始,本文假設(shè)您有一個(gè)可用的 Web 服務(wù)器、PHP 和 MySQL。

數(shù)據(jù)庫配置:

對(duì)于這個(gè)項(xiàng)目,我創(chuàng)建了一個(gè)名為 weatherdata 的數(shù)據(jù)庫,并在該數(shù)據(jù)庫中創(chuàng)建了一個(gè)名為 master 的表。

除了每個(gè)數(shù)據(jù)庫條目的唯一標(biāo)識(shí)符之外,我們還想記錄 4 件事:

  • 時(shí)間;
  • 溫度
  • 氣壓
  • 濕度

所以我們需要 5 個(gè)我命名如下的字段:

  • 流體;
  • 時(shí)間戳
  • 溫度
  • 壓力
  • 濕度

這是 phpMyAdmin 的樣子:

?
pYYBAGPjQgGADkRWAACmUhfINtk350.png
表格字段設(shè)置
?

使用 phpMyAdmin 創(chuàng)建數(shù)據(jù)庫 weatherdata。跳過從界面創(chuàng)建表并在 MySQL 命令行客戶端中使用下面的腳本來創(chuàng)建表和字段:

CREATE TABLE master 
( 
    uid INT(11) NOT NULL AUTO_INCREMENT,  
    timestamp DATETIME NOT NULL,  
    temperature DOUBLE(8,4) NOT NULL,  
    pressure DOUBLE(8,4) NOT NULL,  
    humidity DOUBLE(8,4) NOT NULL,  
    PRIMARY KEY (uid)
);

測(cè)試注意事項(xiàng):

您可以通過在瀏覽器的地址欄中手動(dòng)輸入 WEBSERVER_IP_ADDRESS/processincoming.php?t=9.30&p=98.80&h=75.70 并按回車鍵來測(cè)試設(shè)置(如果需要,可以更改值)。如果服務(wù)器正確處理它,您將看到這些值記錄在數(shù)據(jù)庫中并且它工作正常。如果它不起作用,則某處存在配置或設(shè)置錯(cuò)誤。

服務(wù)器端處理

數(shù)據(jù)庫輸入是通過 Arduino 每 10 分鐘向 Web 服務(wù)器發(fā)送一次 GET 請(qǐng)求來完成的,請(qǐng)求的查詢字符串中包含溫度、壓力和濕度值。

在 Arduino 代碼中,構(gòu)建并發(fā)送 URL 字符串:

urlString = "GET /processincoming.php?t=" + temperatureToDB + "&p=" + 
    pressureToDB + "&h=" +  humidityToDB + " HTTP/1.1"; 
sendDataToServer(urlString);

sendDataToServer() 函數(shù)接受完整的字符串并將其發(fā)送到局域網(wǎng)中位于 192.168.1.35 的 Web 服務(wù)器:

void sendDataToServer(String stringToSend) {    
    //make sure i'm sending what I think I'm sending    
    Serial.println(stringToSend);      
    if (client.connect(server, 80))      
    {         
        client.println(stringToSend);         
        client.println("Host: 192.168.1.35");         
        client.println("Connection: close");         
        client.println();     
    }         
        else     
    {        
        Serial.println("connection failed");     
    }
} 

我們發(fā)送的完整請(qǐng)求如下所示:

GET /processincoming.php?t=9.30&p=98.80&h=75.70 HTTP/1.1

應(yīng)該很明顯,但 t = 溫度值,p = 壓力值和 h = 濕度值

我在這里要注意的一件事是,此頁面請(qǐng)求不會(huì)產(chǎn)生通常會(huì)發(fā)送到瀏覽器的任何輸出(除了默認(rèn)響應(yīng)標(biāo)頭之外)。一旦 Arduino 發(fā)送數(shù)據(jù),它就完成了直到下一個(gè)周期并且不需要解析響應(yīng),甚至不需要等待響應(yīng)。

提示:為您的網(wǎng)絡(luò)服務(wù)器提供 LAN 上的靜態(tài) IP 地址。如果您依賴 DHCP,您可能會(huì)發(fā)現(xiàn)自己在修改 Arduino 代碼以說明每次服務(wù)器重新啟動(dòng)時(shí)主機(jī) IP 都會(huì)發(fā)生變化。

此處包含的代碼 (WeatherStation_v1_webclient_no_lcd.ino) 編譯為 1304 字節(jié),因此適用于較小的設(shè)備。

顯示數(shù)據(jù):

文件 weather.php 負(fù)責(zé)顯示我們的天氣數(shù)據(jù)。顯示頁面是由腳本生成的簡(jiǎn)單 HTML 表格,不需要除 mysqli 之外的任何其他 PHP 擴(kuò)展。

默認(rèn)情況下,此頁面顯示長(zhǎng)達(dá) 3 小時(shí)的數(shù)據(jù),因此我們的 Arduino 應(yīng)該至少運(yùn)行了那么長(zhǎng)時(shí)間才能記錄足夠的數(shù)據(jù)量。如果您嘗試在沒有足夠數(shù)據(jù)點(diǎn)的情況下運(yùn)行它,您將收到數(shù)組錯(cuò)誤。

收集數(shù)據(jù)至少 3 小時(shí)后,輸出 HTML 應(yīng)如下所示:

?
pYYBAGPjQgWAcWtvAAJnY3OMQGU841.png
iPhone 上顯示 weather.php
?

最后,隨附的原理圖附有 LCD 輸出 - 可以忽略。

備選方案

在這種情況下,不要忽視 LCD,您將需要它。我還包括第二個(gè) Arduino 程序,它結(jié)合了上述內(nèi)容并輸出到 20x4 LCD。

可以在此處找到 LCD 組件的完整描述:https ://create.arduino.cc/projecthub/ragingradish/improved-weatherstation-20x4-18dd89

程序的 LCD 部分已更新,以確認(rèn)以太網(wǎng)已啟動(dòng)并正在運(yùn)行,但其他方面沒有變化。

為了將數(shù)據(jù)發(fā)送到服務(wù)器,添加并初始化了適當(dāng)?shù)膸欤缓髮l件插入到循環(huán)中:

//send data to server every 10 minutes  
if ((mainLoop == 0) || (mainLoop % 10 == 0))  
{    
    temperatureToDB = currentTemp;    
    pressureToDB = currentPressure;    
    humidityToDB = currentHumid;    
    urlString = "GET /processincoming.php?t=" + temperatureToDB + "&p=" +
       pressureToDB + "&h=" +  humidityToDB + " HTTP/1.1";    
    sendDataToServer(urlString);  
}

運(yùn)行 LCD 版本的代碼是 WeatherStation_20x4_v1_webclient.ino 并編譯為 2090 字節(jié)。你需要一個(gè)有足夠內(nèi)存的設(shè)備來運(yùn)行它。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 色综合天天综久久久噜噜噜久久〔| 人与牲动交xxxxbbbb高清| 日本黄在线| 97黄网| 视频在线高清完整免费观看| 夜夜爽天天爽| 色网站在线播放| 特级无码毛片免费视频尤物| 日本三级高清| 亚洲视频国产| 中文字幕一区二区三区视频在线 | 亚洲伊人久久大香线蕉结合| 免费精品一区二区三区在线观看| 国产一级特黄aaaa大片野外| 午夜视频1000| www操| 最新激情网址| 日本免费色网站| 天天夜夜骑| 精品欧美| 性欧美高清| a色网站| 亚洲天堂视频在线观看免费| 午夜免费r级伦理片| 久久综合九色综合欧美播| 久草干| 五月激激| 国产资源站| 九色视频网| 天堂资源在线种子资源| 夜夜嗷| 综合色99| 爱草免费视频| www.夜夜操.com| 上课被同桌摸下面做羞羞| 午夜视| 怡红院日本一道日本久久| 久久青草国产免费观看| www.天天射| 人与牲动交xxxxbbbb高清| 免费成人黄色|