Мазмуну:
- 1 -кадам: Сизге керектүү нерселер
- 2 -кадам: DHT11 китепканаларын алыңыз
- 3 -кадам: Байланыштар
- 4 -кадам: Кирүү чекитинин коду
- 5 -кадам: Акыркы кадам: Тестирлөө
Video: ESP8266 NodeMCU кирүү чекити (AP) DT11 температура сенсору жана браузердеги басма температурасы жана нымдуулугу менен: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Салам достор, биз ESP8266 колдонгон долбоорлордун көбүндө жана ESP8266 проекттеринин көбүндө веб -сервер катары колдонобуз, ошондуктан ESP8266 тарабынан жайгаштырылган Webserverге кирүү аркылуу WiFi аркылуу каалаган түзмөктөн маалыматка жетүүгө болот, бирок бир гана көйгөй - биз үчүн жумушчу роутер керек. бул жана биздин түзмөк да роутерге туташышы керек жана биз wifi ишеним грамоталарыбызды кодго киргизишибиз керек, эгер сиз wifi'ди алмаштырсаңыз, анда коддогу ишеним грамоталарын өзгөртүүңүз керек жана аны кайра жүктөөңүз керек. Ошентип, негизинен бизде бул жерде эки маселе бар: 1- Веб-серверди (роутерди) жайгаштыруу үчүн бизге wifi байланышы керек 2- wifi туташуусу өзгөртүлүшү керек болгон сайын биз грамоталарды киргизип, кодду кайра жүктөөбүз керек. Ошентип, бул көйгөйдүн алдын алуу үчүн эмне кылсак болот wifi жеткиликтүүлүгү биз ESP8266ны өзүбүздүн Wi -Fi туташуубузду түзө алабыз, эгерде биз ошол wifi байланышына туташсак, биз ESP8266 веб -серверине кире алабыз. жаратат ESP8266 менен Access Pointти колдонгон веб -сервер жана биз DHT11 сенсорун жана веб -беттин температурасын жана нымдуулугун басып чыгарабыз.
1 -кадам: Сизге керектүү нерселер
1x ESP 8266 Nodemcu: 1x DHT11: 1x breadboard:.: Аз секиргендер:
2 -кадам: DHT11 китепканаларын алыңыз
Arduino IDE ачыңыз жана Sketch> Китепкананы кошуу> Китепканаларды башкаруу бөлүмүнө өтүңүз. Китепкана менеджери ачылышы керек. Издөө кутучасынан "DHT" издеңиз жана Adafruitтен DHT китепканасын орнотуңуз. Adafruitтен DHT китепканасын орноткондон кийин, издөө кутусуна "Adafruit Unified Sensor" териңиз. Китепкананы табуу жана аны орнотуу үчүн ылдый жылдырыңыз. Китепканаларды орноткондон кийин Arduino IDEди өчүрүп күйгүзүңүз.
3 -кадам: Байланыштар
Район бардыгын туташтыруу өтө оңой, схматикада көрсөтүлгөндөй
4 -кадам: Кирүү чекитинин коду
Мурунку көрсөтмөлөрүмдөн мен бул көрсөтмөлөрдүн веб-серверинин кодун өзгөртөм:
Жана аны кирүү чекити веб -серверинин кодуна айландырыңыз. Төмөндө берилген кодду көчүрүңүз:
#кошуу "Arduino.h"#кошуу "ESP8266WiFi.h"
#кош "Hash.h"
#"ESPAsyncTCP.h" кошуу
#"ESPAsyncWebServer.h" кошуу
#"Adafruit_Sensor.h" кошуу
#"DHT.h" кошуу
const char* ssid = "ESP8266"; const char* password = "password";#DHTPIN 5ти аныктоо // DHT сенсоруна туташкан санариптик пин // Колдонулуп жаткан сенсордун түрүнө комментарий жазба: //#DHTTYPE DHT11 // DHT аныктоо 11#DHTTYPE DHT22 // DHT 22 (AM2302) //#DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN, DHTTYPE); // учурдагы температура жана нымдуулук, циклде жаңыртылган () float t = 0.0; float h = 0.0; // 80AsyncWebServer серверинде AsyncWebServer объектисин түзүү (80); // Жалпысынан, убакытты кармаган өзгөрмөлөр үчүн "белгисиз узун" колдонушуңуз керек // Мааниси тез эле өтө чоң болуп калат. = 0; // акыркы жолу DHT жаңыртылганда сакталат // DHT окуулары ар бир 10 секундада узун аралыкта = 10000; const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server
Температура % TEMPERATURE % ° C
Нымдуулук % HUMIDITY % %) rawliteral "; // Толтургучту DHT valuesString процессору менен алмаштырат (const String & var) {//Serial.println(var); if (var ==" TEMPERATURE ") {return String (t);} else if (var == "HUMIDITY") {return String (h);} String ();} void setup ();} void setup () {// Serial.begin (115200); dht.begin (); Serial.print ("AP орнотуу (Кирүү чекити)… "); // Эгерде сиз AP (Кирүү чекити) WiFi.softAP (ssid, сырсөз) ачык болушун кааласаңыз, сырсөз параметрин алып салыңыз; IPAddress IP = WiFi.softAPIP (); Serial.print (" AP IP дареги: "); Serial.println (IP); // ESP8266 Жергиликтүү IP дарегин басып чыгаруу Serial.println (WiFi.localIP ()); // Root / web page server.on (" / ", HTTP_GET, (AsyncWebServerRequest *өтүнүчү) {request-> send_P (200, "text/html", index_html, процессор);}); server.on ("/temperature", HTTP_GET, (AsyncWebServerRequest *өтүнүчү) {суроо- > send_P (200, "текст/жөнөкөй", String (t).c_str ());}); server.on ("/нымдуулук", HTTP_GET, (AsyncWebServerRequest *өтүнүчү) {request-> send_P (200, "текст/жөнөкөй", Сап (h).c_str ()); }); // Serverди баштоо server.begin ();} void loop () {unsigned long currentMillis = millis (); if (currentMillis - previousMillis> = interval) {// акыркы жолу DHT баалуулуктарын жаңыртканыңызды мурункуMillis = currentMillis сактоо; // Окуу температурасы Цельсий (демейки) float newT = dht.readTemperature (); // Температураны Фаренгейт катары окуу (isFahrenheit = true) // float newT = dht.readTemperature (true); // эгерде температура окулбай калса, t маанисин өзгөртпөңүз (isnan (newT)) {Serial.println ("Failed DHT сенсорунан окуу! "); } else {t = newT; Serial.println (t); } // Окуу Нымдуулук float newH = dht.readHumidity (); // эгерде нымдуулук окулбай калса, h маанисин өзгөртпөңүз, эгер (isnan (newH)) {Serial.println ("DHT сенсорунан окуу ишке ашкан жок!"); } else {h = newH; Serial.println (h); }}} Кодду жүктөөдөн мурун төмөнкү нерселерди койгонуңузду текшериңиз: const char* ssid = "ESP8266"; // wifiдан каалаган нерсеңиз charcon* password = "password"; // өтүү ssidSet ESP8266га кирүү чекити катары туташуу үчүн: esp8266ны кирүү чекити катары коюу үчүн, биз төмөндө көрсөтүлгөндөй softAP буйругун колдонобуз; кирүү чекитин түзүү үчүн. WiFi.softAP (ssid, password); SoftAP () ыкмасына өткөрө турган башка кошумча параметрлер дагы бар. Бул жерде бардык параметрлер: Эгер сериялык мониторду ачсаңыз, кирүү чекитинин IP дарегин көрө аласыз. Бул коддун бир бөлүгүн аткаруу менен жасалат. IPAddress IP = WiFi.softAPIP (); Serial.print ("AP IP дареги:"); Serial.println (IP); Демейки Ip дареги: 192.168.4.1
5 -кадам: Акыркы кадам: Тестирлөө
Кодду жүктөгөндөн кийин, мобилдик/компьютериңиздин Wi -Fi тармагын ачыңыз жана esp8266 Wi -Fiга туташыңыз (кодго киргизилген бардык SSID жана пароль), туташкандан кийин сериялык монитордон алган браузериңиздеги IP дарегин ачыңыз (https://192.168.4.1.) жана сиз браузериңиздеги температураны жана нымдуулукту меники катары көрө аласыз.
Сунушталууда:
NodeMCU Lua арзан 6 $ Board MicroPython температурасы жана нымдуулугу менен, Wifi жана мобилдик статистика: 4 кадам
NodeMCU Lua Арзан 6 $ Board MicroPython Температурасы жана Нымдуулугу менен, Wifi жана Мобилдик Статистика менен: Бул негизи булут аба ырайы станциясы, сиз телефонуңуздагы маалыматтарды текшере аласыз же кээ бир телефонду түз дисплей катары колдоно аласыз NodeMCU түзмөгү менен сиз сыртта температура жана нымдуулук маалыматын жаза аласыз. , бөлмөдө, күнөсканада, лабораторияда, муздатуу бөлмөсүндө же башка жерлерде толук
ESP8266 жана Visuino: DHT11 температурасы жана нымдуулугу Web Server: 12 кадам
ESP8266 жана Visuino: DHT11 Температура жана Нымдуулук Желе Сервери: ESP8266 модулдары Wi-Fi менен курулган арзан баада жалгыз контроллерлер болуп саналат, мен буга чейин алар жөнүндө көптөгөн көрсөтмөлөрдү бердим. жана нымдуулук Arduino сенсорлору, мен бир катар жасадым
LORA Температура жана Топурактын Нымдуулугу Сенсору: 6 кадам
LORA Температура жана Топурактын Нымдуулугу Сенсору: Өзүмдүн күнөсканамды даярдоодо күнөскананын айлана -чөйрөсүн көзөмөлдөө үчүн сенсороддорду жасап жатам. Бул сенсорду сыртта да колдонсоңуз болот. Теплицанын ичиндеги же сыртындагы температураны жердин температурасы менен бирге колдонуу
Ыңгайлаштырылган PCB антеннасы менен Raspberry Pi Zero Wifi кирүү чекити: 6 кадам (сүрөттөр менен)
Ыкчам PCB антеннасы менен Raspberry Pi Zero Wifi кирүү түйүнү: Биз эмне кылып жатабыз? Бул окуу куралынын аталышында техникалык терминдер көп. Келгиле, аны талкалайбыз. Raspberry Pi Zero (Rπ0) деген эмне? Raspberry Pi Zero - бул кичинекей компьютер. Бул Raspberry Pi бир такталуу компьютеринин кичирээк версиясы
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: 7 кадам
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: Бул окуу куралы боюнча биз алыскы маалыматтарды UV (Ultra-Violet радиация), абанын температурасы жана нымдуулугу катары тартып алабыз. Бул маалыматтар абдан маанилүү болот жана келечекте толук аба ырайы станциясында колдонулат