女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Nodemcu數(shù)據(jù)記錄器

Nodemcu數(shù)據(jù)記錄器

2022-07-04 | zip | 0.06 MB | 次下載 | 2積分

資料介紹

PCB圖如下:
poYBAGKxtgqAYAzzAADou7eMl1g222.png
poYBAGKxtg2AMDJ1AACHAGUx0Hs803.png


?

成分

ESP8266-DEVKITC-02D-F
樂鑫系統(tǒng)
× 1
DHT22
亞馬遜
× 1
MQ135空氣質(zhì)量傳感器模塊 × 1
SD卡模塊 × 1
40 針跳線母對母 20 厘米 × 1

描述

Nodemcu 數(shù)據(jù)記錄器

您大多已經(jīng)在 ThingSpeak 和其他物聯(lián)網(wǎng)平臺上看到了帶有實時圖表和表格的數(shù)據(jù)記錄 Web 服務器。但我們也可以創(chuàng)建自己的網(wǎng)絡服務器并實時更新數(shù)據(jù),我們之前使用不同的板創(chuàng)建了許多網(wǎng)絡服務器。在這里,我們還將使用 DHT11 傳感器創(chuàng)建 ESP8266 Web 服務器數(shù)據(jù)記錄器。這里的溫度和濕度數(shù)據(jù)將使用AJAX在網(wǎng)頁上更新。

AJAX(異步 JavaScript 和 XML)允許通過在后臺與服務器共享少量數(shù)據(jù)來自動更新網(wǎng)站,而無需刷新整個網(wǎng)頁。這可確保在不重新加載整個網(wǎng)站的情況下更改網(wǎng)頁的某些部分。所以讓我們開始吧!

所需組件

NodeMCU ESP8266

DHT11 傳感器

跳線

DHT11傳感器用于測量溫度和濕度,通常用于創(chuàng)建氣象站。

電路原理

pYYBAGKxtimAER1MAADgAMu8QqQ120.jpg

將 DHT11 連接到 NodeMCU 很容易。DHT11 的 VCC 和 GND 引腳連接到 3.3V 和 GND NodeMCU,而 DHT 的 Data 引腳連接到 NodeMCU 的 D5 (GPIO 14) 引腳。

pYYBAGKxti-AV25FAADoLGPb7es138.jpg

為數(shù)據(jù)記錄編程 NodeMCU ESP8266

在直接開始編碼之前,安裝所需的庫,ESP8266 庫已預先安裝在 IDE 上;你只需要安裝 DHT11 庫

安裝庫后,包括所有必需的庫。

#include

#include

#include

#include "DHT.h"

現(xiàn)在在接下來的幾行中,輸入您的 Wi-Fi 名稱和密碼。

const char* ssid = "Wi-Fi 名稱";

const char* 密碼 = "密碼";

然后定義 DHT 傳感器的類型和傳感器連接的引腳。如果您使用的是 DHT22,則將 DHT 類型更改為 DHT22。在我的例子中,DHT 傳感器連接到 NodeMCU 的 GPIO14 (D5)。

#define LED 2 //板載LED

#define DHTTYPE DHT11 // DHT 11

uint8_t DHTPin = 14;

DHT dht(DHTPin, DHTTYPE);

當我們使用 NodeMCU IP 地址打開網(wǎng)頁瀏覽器時,會執(zhí)行 handleRoot 函數(shù)。

無效句柄根()

{

字符串 s = MAIN_page; //讀取HTML內(nèi)容

server.send(200, "text/html", s); //發(fā)送網(wǎng)頁

}

下一個函數(shù) readData() 用于從 DHT11 傳感器讀取數(shù)據(jù)并將其發(fā)送到網(wǎng)頁。在這個循環(huán)中,NodeMCU 將 DHT11 值存儲到兩個浮點變量中:溫度和濕度,之后它將浮點變量轉(zhuǎn)換為字符串并將它們的數(shù)據(jù)存儲到另一個字符串變量“數(shù)據(jù)”中,并在請求時將其發(fā)送到網(wǎng)頁。

無效讀取數(shù)據(jù)()

{

String data = "{"溫度":""+ String(溫度) +"", "濕度":""+ String(濕度) +""}";

數(shù)字寫入(LED,!數(shù)字讀取(LED));

server.send(200, "文本/平面", 數(shù)據(jù));

延遲(2000);

溫度 = dht.readTemperature();

濕度 = dht.readHumidity();

Serial.print(濕度,1);

Serial.print(溫度,1);

}

在 void setup() 函數(shù)中,我們使用 .begin() 函數(shù)初始化波特率,DHT 傳感器,使用 server.begin() 函數(shù)初始化網(wǎng)頁,然后使用 Wi-Fi 名稱和密碼將模塊與 Wi-Fi 連接。

序列號.開始(115200);

pinMode(DHTPin,輸入);

dht.begin();

WiFi.begin(ssid, 密碼);

server.begin();

第一個函數(shù)用于在客戶端請求 URI(統(tǒng)一資源標識符)“/”時調(diào)用“handleRoot”函數(shù),而第二個函數(shù)用于在對 URI“/readData”進行 POST 請求時調(diào)用“readData”函數(shù)

server.on("/", handleRoot);

server.on("/readData", readData);

void loop() 函數(shù)持續(xù)監(jiān)聽來自客戶端的 HTTP 請求

無效循環(huán)(無效)

{

server.handleClient();

}

數(shù)據(jù)記錄

ESP8266 等物聯(lián)網(wǎng)設備的常見用途是監(jiān)控傳感器。使用前面示例中的代碼,我們可以請求時間,并將一些傳感器值保存到文件中。如果我們也運行服務器,我們可以在網(wǎng)頁的漂亮圖表中顯示這些數(shù)據(jù)。

溫度記錄儀

在以下示例中,我們將使用 DS18S20 溫度傳感器記錄一段時間內(nèi)的溫度并將其保存到 SPIFFS。然后它可以顯示在瀏覽器的圖表中。

安裝庫

首先,下載 Miles Burton 的 Dallas Temperature 庫和 Jim Studt 的 OneWire 庫:轉(zhuǎn)到 Sketch > Include Library ... > Manage Libraries 并搜索“Dallas Temperature”和“OneWire”(確保下載正確的版本) .

硬件

將 DS18S20 溫度傳感器的地(引腳 1)連接到 ESP 的地,將數(shù)據(jù)引腳(引腳 2)連接到 GPIO5,將 VCC(引腳 3)連接到 ESP 的 3.3V。最后,在數(shù)據(jù)引腳和 VCC 之間連接一個 4k7Ω 電阻

庫、常量和全局變量

#include

#include <達拉斯溫度.h>

#include

#include

#include

#include

#include

#include

#include

#define ONE_HOUR 3600000UL

#define TEMP_SENSOR_PIN 5

單線單線(TEMP_SENSOR_PIN);// 設置 OneWire 實例以與 OneWire 設備通信

DallasTemperature tempSensors(&oneWire); // 創(chuàng)建溫度傳感器類的實例

ESP8266WebServer 服務器(80);// 創(chuàng)建一個監(jiān)聽 80 端口上的 HTTP 請求的 webserver 對象

文件 fsUploadFile; // 一個 File 變量來臨時存儲接收到的文件

ESP8266WiFiMulti wifiMulti;// 創(chuàng)建一個 ESP8266WiFiMulti 類的實例,名為 'wifiMulti'

const char *OTAName = "ESP8266"; // OTA 服務的名稱和密碼

const char *OTAPassword = "esp8266";

const char* mdnsName = "esp8266"; // mDNS 響應者的域名

WiFiUDP UDP;// 創(chuàng)建一個 WiFiUDP 類的實例來發(fā)送和接收 UDP 消息

IPAddress timeServerIP; // time.nist.gov NTP 服務器的 IP 地址

const char* ntpServerName = "time.nist.gov";

常量 int NTP_PACKET_SIZE = 48; // NTP 時間戳在消息的前 48 個字節(jié)中

字節(jié)數(shù)據(jù)包緩沖區(qū)[NTP_PACKET_SIZE];// 用于保存?zhèn)魅牒蛡鞒鰯?shù)據(jù)包的緩沖區(qū)

這里唯一的新東西是 OneWire 和 DallasTemperature 庫,用于從傳感器獲取溫度。

設置

無效設置(){

序列號.開始(115200);// 啟動串口通信向計算機發(fā)送消息

延遲(10);

Serial.println("\r\n");

tempSensors.setWaitForConversion(false); // 不要在溫度傳感器讀取時阻塞程序

tempSensors.begin(); // 啟動溫度傳感器

if (tempSensors.getDeviceCount() == 0) {

Serial.printf("在引腳 %d 上找不到 DS18x20 溫度傳感器。正在重新啟動。\r\n", TEMP_SENSOR_PIN);

Serial.flush();

ESP.reset();

}

開始WiFi();// 啟動一個 Wi-Fi 接入點,并嘗試連接到一些給定的接入點。然后等待 AP 或 STA 連接

startOTA(); // 啟動OTA服務

開始SPIFFS();// 啟動 SPIFFS 并列出所有內(nèi)容

開始MDNS();// 啟動 mDNS 響應者

啟動服務器();// 使用文件讀取處理程序和上傳處理程序啟動 HTTP 服務器

開始UDP();// 開始監(jiān)聽 UDP 消息到端口 123

WiFi.hostByName(ntpServerName, timeServerIP); // 獲取NTP服務器的IP地址

Serial.print("時間服務器 IP:\t");

Serial.println(timeServerIP);

發(fā)送NTP包(時間服務器IP);

}

在設置中,也沒有太多新的東西,我們只是啟動溫度傳感器,并檢查我們是否可以與之通信。如果未找到溫度傳感器,ESP 將重置。

從傳感器獲取溫度可能需要一些時間(最多 750 毫秒)。我們不希望我們的循環(huán)花費超過幾毫秒的時間,所以我們不能等待 750 毫秒。如果我們這樣做了,HTTP 服務器等就會開始出現(xiàn)問題。

解決方法是先請求溫度。然后傳感器將開始讀取模擬溫度,并將其存儲在內(nèi)存中。與此同時,循環(huán)繼續(xù)運行,服務器刷新等。750毫秒后,我們再次聯(lián)系傳感器,并從其內(nèi)存中讀取溫度。

為了告訴庫我們不想等待傳感器的模數(shù)轉(zhuǎn)換,我們使用 setWaitForConversion。

環(huán)形

常量無符號長間隔NTP = ONE_HOUR; // 每小時更新時間

無符號長 prevNTP = 0;

unsigned long lastNTPResponse = millis();

const unsigned long intervalTemp = 60000; // 每分鐘進行一次溫度測量

無符號長 prevTemp = 0;

布爾 tmpRequested = 假;

常量無符號長 DS_delay = 750; // 從 DS18x20 讀取溫度可能需要 750 毫秒

uint32_t timeUNIX = 0; // 從時間服務器接收到的最新時間戳

無效循環(huán)(){

無符號長 currentMillis = millis();

if (currentMillis - prevNTP > intervalNTP) { // 每小時向時間服務器請求時間

prevNTP = currentMillis;

發(fā)送NTP包(時間服務器IP);

}

uint32_t 時間 = getTime(); // 檢查時間服務器是否有響應,如果有,獲取UNIX時間

如果(時間){

timeUNIX = 時間;

Serial.print("NTP 響應:\t");

Serial.println(timeUNIX);

lastNTPResponse = 毫秒();

} else if ((millis() - lastNTPResponse) > 24UL * ONE_HOUR) {

Serial.println("自上次 NTP 響應以來已超過 24 小時。重新啟動。");

Serial.flush();

ESP.reset();

}

如果(時間UNIX!= 0){

if (currentMillis - prevTemp > intervalTemp) { // 每分鐘,請求溫度

tempSensors.requestTemperatures(); // 從傳感器請求溫度(讀取它需要一些時間)

tmpRequested = 真;

prevTemp = currentMillis;

Serial.println("溫度要求");

}

if (currentMillis - prevTemp > DS_delay && tmpRequested) { // 請求溫度后 750 毫秒

uint32_t 實際時間 = timeUNIX + (currentMillis - lastNTPResponse) / 1000;

// 實際時間是上次 NTP 時間加上自上次 NTP 響應以來經(jīng)過的時間

tmpRequested = 假;

浮動溫度 = tempSensors.getTempCByIndex(0); // 從傳感器獲取溫度

溫度=圓形(溫度* 100.0)/ 100.0;// 將溫度四舍五入到 2 位

Serial.printf("附加溫度到文件:%lu,", actualTime);

Serial.println(temp);

文件 tempLog = SPIFFS.open("/temp.csv", "a"); // 將時間和溫度寫入 csv 文件

tempLog.print(實際時間);

tempLog.print(',');

tempLog.println(temp);

tempLog.close();

}

} else { // 如果我們還沒有收到 NTP 響應,發(fā)送另一個請求

發(fā)送NTP包(時間服務器IP);

延遲(500);

}

server.handleClient(); // 運行服務器

ArduinoOTA.handle(); // 監(jiān)聽 OTA 事件

}

循環(huán)看起來要復雜得多,但實際上非常簡單。這一切都基于Blink without Delay。

有兩件事發(fā)生:

概述

這是一款帶有板載傳感器DHT22(AM2302)的校準數(shù)字溫濕度模塊,與DHT11相比具有更高的精度和更寬的測量范圍。

通過標準的單線接口,可用于檢測環(huán)境溫度和濕度。

規(guī)格

溫度

分辨率:0.1°C

精度:±0.5℃

測量范圍:-40°C ~ 80°C

濕度

分辨率:0.1%RH

精度:±2%RH (25°C)

測量范圍:0%RH ~ 99.9%RH

工作電壓:3.3V~5.5V

推薦儲存條件

溫度 : 10°C ~40°C

濕度:60%RH或以下

MQ135材質(zhì)是SnO2,它是一種特殊的材料:暴露在干凈的空氣中幾乎不導電,但放在有可燃氣體的環(huán)境中,它的導電性能很好。只需制作一個簡單的電子電路,將電導率的變化轉(zhuǎn)換為相應的輸出信號。MQ135氣體傳感器對氨、硫化物、苯蒸汽、煙霧等有害氣體敏感。用于家庭、周邊環(huán)境有害氣體檢測裝置,適用于氨氣、芳烴、硫磺、苯蒸氣等有害氣體/煙霧、氣體檢測,檢測濃度范圍:10-1000ppm。在正常環(huán)境下,沒有檢測到氣體的環(huán)境下,將傳感器的輸出電壓設置為參考電壓,模擬輸出電壓約為1V,當傳感器檢測到氣體時,

pYYBAGKxtjGAdPUjAAAnpfNeTUk233.jpg

每隔一小時,ESP 就會向 NTP 服務器請求時間。然后它會不斷檢查響應,并在收到 NTP 響應時更新時間。如果超過 24 小時沒有收到任何響應,則說明有問題,ESP 會自行重置。

每分鐘,ESP 都會向 DS18x20 傳感器請求溫度,并設置“tmpRequested”標志。傳感器將啟動模數(shù)轉(zhuǎn)換。

請求后 750 毫秒,當轉(zhuǎn)換應該完成時,ESP 從傳感器讀取溫度,并重置標志(否則,它將一遍又一遍地讀取相同的溫度)。然后它將時間和溫度寫入 SPIFFS 中的文件。

通過將其保存為文件系統(tǒng)中的 CSV 文件,我們可以輕松地將其下載到客戶端(使用正在運行的 Web 服務器),并且很容易使用 JavaScript 進行解析。

如果我們錯過了第一個 NTP 響應,timeUNIX 將為零。如果是這種情況,我們發(fā)送另一個 NTP 請求(否則,下一個請求將在一個小時后,并且溫度記錄僅在時間已知時開始)。

我們還需要運行服務器和 OTA 函數(shù)來處理 HTTP 和 OTA 請求。

設置函數(shù)、服務器處理程序和輔助函數(shù)

這些函數(shù)自上一個示例以來沒有改變,因此這里沒有必要介紹它們。不過,您確實需要它們來運行程序。下載帶有完整草圖示例的 ZIP 存檔。

SD卡模塊

該模塊(microsd卡適配器)是?micro sd卡讀卡器模塊,通過文件系統(tǒng)驅(qū)動和spi接口,微控制器系統(tǒng)完成micro sd卡文件的讀寫。用戶可以直接使用arduino ide自帶的sd卡完成借書卡的初始化和讀寫。

poYBAGKxtjSAC9y9AACJryK3fOI294.jpg

HTML 和 JavaScript

有一些 HTML 和 JavaScript 文件可以使用 Google Graphs 繪制溫度。我不會在這里介紹它,但如果你想知道它是如何工作的,你可以在 ZIP 存檔中找到這些文件。

使用示例

poYBAGKxtjaAGdg1AAAelttmDYI408.jpg

如果您打算長時間使用它,請將 SPIFFS 大小設置為 64KB 或更大。(您也可以增加第 80 行的記錄間隔以節(jié)省空間。)

代碼

用法

[代碼]

詮釋 LED=13;//內(nèi)置LED引腳

整數(shù) MQ135=5;//MQ135的輸出引腳

無效設置()

{

?pinMode(LED,輸出);//LED為輸出

?pinMode(MQ135,輸入);//MQ135為輸入

?序列號.開始(9600);//串口監(jiān)視器的波特率為9600

??}

??無效循環(huán)()

??{

????int MQValue=digitalRead(MQ135);

????如果(MQValue==0)

????{

??????數(shù)字寫入(LED,高);//寫高電平到LED

??????Serial.print("有有害氣體");

????}

??????別的

??????{

????????數(shù)字寫入(LED,低);//將低電平寫入LED

????????Serial.print("很干凈");

??????}

????}

在第 138-140 行輸入您的 Wi-Fi 憑據(jù),然后點擊上傳。然后使用 Tools > ESP8266 Sketch Data Upload 將網(wǎng)頁和腳本上傳到 SPIFFS。

代碼

代碼

Nodemcu_Datalogger.ino

?

?

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

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 兰州市| 桂林市| 宣武区| 陇川县| 太白县| 西盟| 高邑县| 辽源市| 若羌县| 湖州市| 庆城县| 铁岭县| 滨海县| 福州市| 武城县| 双桥区| 当雄县| 伊金霍洛旗| 巴楚县| 科技| 张北县| 盐池县| 太和县| 吴江市| 新巴尔虎左旗| 岳阳市| 三门峡市| 南部县| 文昌市| 蒙城县| 缙云县| 新沂市| 苏州市| 隆子县| 宜章县| 阿拉尔市| 榆林市| 沂源县| 延庆县| 平邑县| 灵石县|