فهرست مطالب:

ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر: 5 مرحله
ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر: 5 مرحله

تصویری: ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر: 5 مرحله

تصویری: ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر: 5 مرحله
تصویری: How to Program the ESP8266 ESP01 Wi-Fi Relay Module | RemoteXY | FLProg 2024, جولای
Anonim
ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر
ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر

سلام بچه ها در اکثر پروژه هایی که از ESP8266 استفاده می کنیم و در اکثر پروژه ها از ESP8266 به عنوان وب سرور استفاده می کنیم ، بنابراین با دسترسی به سرور وب میزبانی شده توسط ESP8266 می توان به داده ها در هر دستگاهی از طریق wifi دسترسی داشت ، اما تنها مشکل این است که ما نیاز به یک روتر کار برای آن و دستگاه ما نیز باید به روتر متصل شود و ما باید اعتبار وای فای خود را در کد قرار دهیم ، بنابراین اگر وای فای را تغییر می دهید ، باید اعتبارنامه را در کد تغییر دهید و باید دوباره آن را بارگذاری کنید. بنابراین اساساً ما در اینجا دو مشکل داریم: 1- ما به یک اتصال wifi برای میزبانی وب سرور (روتر) نیاز داریم 2- هر بار که اتصال wifi نیاز به تغییر دارد ما باید اعتبارنامه را وارد کرده و کد را دوباره بارگذاری کنیم. بنابراین برای جلوگیری از این مشکل ، کاری که می توانیم انجام دهیم این است که به جای دسترسی wifi ما می توانیم ESP8266 را برای ایجاد یک اتصال wifi خود ایجاد کنیم ، بنابراین اگر به آن اتصال wifi متصل شویم می توانیم به وب سرور ESP8266 دسترسی پیدا کنیم. بنابراین اساساً ما میزبان یک وب سرور با ESP8266 با نقطه دسترسی هستیم. بنابراین در این دستورالعمل ها ما ایجاد خواهد کرد یک سرور وب با استفاده از Access Point با ESP8266 و ما یک سنسور DHT11 و دما و رطوبت چاپ را در صفحه وب سرور متصل می کنیم.

مرحله 1: موارد مورد نیاز

چیزهایی که شما نیاز دارید
چیزهایی که شما نیاز دارید
چیزهایی که شما نیاز دارید
چیزهایی که شما نیاز دارید

1x ESP 8266 Nodemcu: 1x DHT11: 1x تخته نان:.: چند پرش کننده:

مرحله 2: کتابخانه های DHT11 را دریافت کنید

کتابخانه های DHT11 را دریافت کنید
کتابخانه های DHT11 را دریافت کنید
کتابخانه های DHT11 را دریافت کنید
کتابخانه های DHT11 را دریافت کنید

Arduino IDE خود را باز کرده و به Sketch> Include Library> Manage Libraries بروید. مدیر کتابخانه باید باز شود. "DHT" را در کادر جستجو جستجو کرده و کتابخانه DHT را از Adafruit نصب کنید. پس از نصب کتابخانه DHT از Adafruit ، "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"؛#define DHTPIN 5 // پین دیجیتالی متصل به سنسور DHT // نوع سنسور مورد استفاده را بیان نکنید: //#تعریف DHTTYPE DHT11 // DHT 11#تعریف DHTTYPE DHT22 // DHT 22 (AM2302) //#تعریف DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN ، DHTTYPE) ؛ // دما و رطوبت فعلی ، به روز شده در حلقه () شناور t = 0.0 ؛ float h = 0.0؛ // ایجاد شیء AsyncWebServer در پورت 80 سرور AsyncWebServer (80) ؛ // به طور کلی ، شما باید از "unsigned long" برای متغیرهایی که زمان را نگه می دارند استفاده کنید. = 0 ؛ // آخرین باری که DHT به روز شد ذخیره می شود // خواندن DHT را هر 10 ثانیه به روز می کند </ b> فاصله زمانی طولانی = 10000 ؛ const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server

دما٪ TEMPERATURE٪ ° C

رطوبت٪ HUMIDITY٪٪) rawliteral "؛/ "HUMIDITY") {return String (h)؛} return String ()؛} void setup () {// پورت سریال برای اهداف اشکال زدایی Serial.begin (115200)؛ dht.begin ()؛ Serial.print ("تنظیم AP (نقطه دسترسی)… ") ؛ // پارامتر رمز عبور را حذف کنید ، اگر می خواهید AP (Access Point) باز باشد WiFi.softAP (ssid ، password) ؛ IPAddress IP = WiFi.softAPIP () ؛ Serial.print (" آدرس IP AP: ")؛ Serial.println (IP)؛ // چاپ ESP8266 آدرس IP محلی Serial.println (WiFi.localIP ())؛ // مسیر مسیر root / web server.on (" / "، HTTP_GET، (درخواست AsyncWebServerRequest *) {request-> send_P (200، "text/html"، index_html، processor)؛})؛ server.on ("/temperature"، HTTP_GET، (درخواست AsyncWebServerRequest *) {request- > send_P (200، "text/plain"، String (t).c_str ())}})؛ server.on ("/humidity"، HTTP_GET، (درخواست AsyncWebServerRequest *) {request-> send_P (200، "متن/ساده" ، رشته (h).c_str ()) ؛ })؛ // شروع به کار server.begin ()؛} void loop () {unsigned long currentMillis = millis ()؛ if (currentMillis - previousMillis> = فاصله) {// آخرین باری را که مقادیر DHT را به روز کرده اید ذخیره کنید previousMillis = currentMillis ؛ // دما را به صورت سانتیگراد (پیش فرض) بخوانید newT = dht.readTemperature ()؛ // دما را به صورت فارنهایت بخوانید (isFahrenheit = true) // float newT = dht.readTemperature (true) ؛ // اگر دما خوانده نشد ، مقدار t را تغییر ندهید (isnan (newT)) {Serial.println ("Failed برای خواندن از سنسور DHT! ") ؛ } else {t = newT؛ Serial.println (t)؛ } // خواندن Humidity float newH = dht.readHumidity ()؛ // اگر رطوبت خوانده نشد ، مقدار h را تغییر ندهید (isnan (newH)) {Serial.println ("از سنسور DHT خوانده نشد!") ؛ } else {h = newH؛ Serial.println (h)؛ }}} قبل از بارگذاری کد مطمئن شوید موارد زیر را قرار داده اید: const char* ssid = "ESP8266"؛ // هر قسمتی از وای فای که می خواهید char* password = "password"؛ // pass برای اتصال به ssid بالا تنظیم ESP8266 به عنوان نقطه دسترسی: برای تنظیم esp8266 به عنوان نقطه دسترسی ، از دستور softAP مانند تصویر زیر استفاده می کنیم. برای ایجاد یک نقطه دسترسی. WiFi.softAP (ssid ، رمز عبور) ؛ همچنین پارامترهای اختیاری دیگری نیز وجود دارد که می توانید به متد softAP () منتقل کنید. در اینجا همه پارامترها آمده است: اگر مانیتور سریال را باز کنید ، می توانید IP نقطه دسترسی را مشاهده کنید. که با دنبال کردن بخشی از کد انجام می شود.

مرحله 5: مرحله نهایی: آزمایش

مرحله نهایی: آزمایش
مرحله نهایی: آزمایش

پس از بارگذاری کد ، wifi تلفن همراه/رایانه خود را باز کرده و به wifi esp8266 وصل شوید (هر ssid و گذرواژه ای که در کد وارد کرده اید از آن استفاده کنید). پس از اتصال فقط IP را در مرورگر خود باز کنید که از مانیتور سریال دریافت کردیم (https://192.168.4.1.) و شما می توانید دما و رطوبت را در مرورگر خود به عنوان من مشاهده کنید. و ما از هیچ شبکه wifi برای انجام این کار استفاده نکرده ایم تا نحوه دسترسی به نقطه دسترسی esp8266 به این صورت انجام شود.

توصیه شده: