s

مقدمه

در این اموزش قصد داریم نحوه راه اندازی سنسورDHT11 به وسیله دnode mcu را بصورت کامل اموزش دهیم و میزان دما و رطوبت را اندازه گیری کنیم و اطلاعات را برای سرور بفرستیم تا نمایش دهد

کلید واژه ها
esp8266,dht11,سرور,wifi,

وسایل مورد نیاز

#نوعتعدادخرید
1esp8266/ nodemcu1
2سیم جامپر2
3برد بورد1
4ماژول dht111

پیش نیاز ها

برای برنامه نویسی این پروژه از نرم افزار اردوینو استفاده میکنیم.

  1. ابتدا نرم افزار اردوینو را دانلود و نصب کنید
  2. به منو File بروید و گزینه Preferencesرا بزنید
  3. add boardFile -> arduino Preferences
  4. متن زیر را وارد کنید
  5. http://arduino.esp HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json"8266 HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json".com/stable/package_esp HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json"8266 HYPERLINK "http://arduino.esp8266.com/stable/package_esp8266com_index.json"com_index.json

    add boardpaste link
  6. بعد از افزودن لینک ها برنامه را باز و بسته کرده تا لینک به مخازن برنامه اضافه شوند
  7. به منو tools رفته و از بخش Borads manager ... را بزنید
  8. boardesp8266 اضافه شده است
  9. در قسمت search بنویسید Esp8266 و برد را نصب کنید
  10. board esp32 اضافه شده است
  11. بعد اینکه برد نصب شده باید نوع برد Arduino را عوض کنیم
  12. boardesp32 اضافه شده است
  13. افزودن کتابخانه مورد نیاز iotkaran
  14. tools-> manager Library

    boardافزودن کتابخانه iotkaran
  15. تایپiotkaran در بخش جستجو
  16. boardافزودن کتابخانه iotkaran
نصب کتابخانه

توضیحات تکمیلی

معرفی پایه ها در اموزش بخش قبل انجام شده است

اولین قدم افزودن کتابخانه iotkaran می باشد که با استفاده از دستور include انجام می دهیم

ابتدا کتابخانه DHT را به منظور استفاده از توابع مرتبط با این سنسور معرفی میکنیم

در این بخش باید نوع سنسور دمارا مشخص کنیم که در این مثالdht11 است و همچنین پایه متصل به میکرو که D2 است

توکن که از سرور گرفتید را وارد کنید داشبرد

نام wifi و پسورد wifi را وارد کنید تا میکرو بتواند به مودم متصل شود و به اینترنت دسترسی داشته باشد

یک شی از کتابخانه می سازیم

() Setup

سریال میکرو را راه اندازی می کنیم

کتابخانه سنسور دمارا صدا می زنیم و مقدار دهی می کنیم

مشخص کردن مود دستگاه که حالت sta باشد تا esp بتواند به مودم متصل شود

چک کردن وضعیت مودم در این بخش از کد تا زمانی که ماژول به وای فای مورد نظر متصل نشده،هر 500میلی ثانیه ،در سریال مانیتور نقطه چاپ میکند.و زمانی که متصل شد از این حلقه خارج میشود

نمایش ip دستگاه

اتصال به سرور iotkaran

احراز هویت توسط سرور iotkaran

() loop

این قسمت جهت خواندن اطلاعات از سنسور و تبدیل اطلاعا به درجه می باشد

اطلاعات به صورت عدد هستند برای ارسال به سرور باید تبدیل به رشته شوند

در این قسمت با استفاده از کتابخانه جیسون اردوینو یک کلید به نام temperature وhumidity تعریف می کنیم و مقدار سنسور را در ان می ریزیم و مقدار دما در ان قرار می دهیم

در این بخش با تعریف یم کتغیر string و سریالایز کردن مقادیر جیسون این مقادیر در متغیر output ریخته می شود

در این بخش که بخش نهایی می باشد بااستفاده از تابع ()IK.status وضعیت سرور را چک کرده و در صورت متصل بودن دستگاه به سرور اقدام به ارسال اطلاعات به سرور م کنیم با استفاده از تابع ()IK.send

اگر اتصال با سرور قطع شده باشد این بخش صدا زده می شود و پیامی بر روی سریال نمایش داده می شود که سرور قطه است و میکرو سعی می کند دوباره به سرور متصل شود و احراز هویت کند

شماتیک

rشماتیک برد

کد کامل

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 #include <Iotkaran.h> #include "DHT.h" #define DHTPIN D2 // Digital pin connected to the DHT sensor #define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321 DHT dht(DHTPIN, DHTTYPE); #define Token "your token" const char* ssid = "ssid modem"; const char* password = "password modem"; Iotkaran IK; void setup() { Serial.begin(115200); Serial.println(F("DHTxx test!")); dht.begin(); Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); IK.connect("server.Iotkaran.ir" , 2323); //Enter a host address and port IK.authentication(Token); } void loop() { float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } String Humidity = String(h); String Temperature = String(t); DynamicJsonDocument doc(1536); doc["action"] = "status"; doc["data"]["datas"]["humidity"] = Humidity; doc["data"]["datas"]["temperature"] = Temperature; doc["method"] = "request_set"; String Output; serializeJson(doc, Output); if (IK.status()) { Serial.print("Send to server: "); Serial.println(Output); IK.send(Output); } else { Serial.println("The client disconnected"); IK.reconnect("server.Iotkaran.ir" , 2323); IK.authentication(Token); } }

اپلود کد

  1. در برنامه اردوینو یک برگه جدید باز می کنیم
  2. dFile -> arduino Preferences
  3. جهت اپلود کد می بایست پورت سریال دستگاه متصل را انتخاب کنیم (توجه شماره com با پورت کامپیوتر در ارتباط است و بسته به پورت دارای شماره های مختلفی می باشد )
  4. programFile -> arduino Preferences
  5. کد کامل را جایگزاری می کنیم و گزینه اپلود را می زنیم
  6. sFile -> arduino Preferences
  7. و در اخر پنجره سریال را باز کرده
  8. dFile -> arduino Preferences
  9. واطلاعات را در ترمینال به نمایش در می اید
  10. File -> arduino Preferences

اتصال به داشبرد

جهت اتصال مثال به داشبرد اول به لینک داشبرد می رویم

داشبرد

    توجه

    برای دسترسی به امکانات داشبرد می بایست ثبت نام انجام دهید

  1. بر روی منو دستگاه ها کلید میکنیم
  2. اگر تا به حال دستگاهی را به داشبرد اضافه نکردید بر روی افزودن دستگاه کلید می کنید تا یک دستگاه جدید به داشبرد شما اضافه شود
  3. dasvhaorddevices
  4. برای افزودن دستگاه می بایست یک نام انتخاب کنید و همچنین نوع دستگاه را نیز مشخص کنید
  5. به طور مثال ما سویج را انتخاب کردیم
  6. dashboardadd devices
  7. بعد از زدن گزینه تایید سویچ به لیست دستگاه های شما افسوده می شود و می توانید توکن دستگاه را در سخت افزار های خود استفاده کنید
  8. dashboardadd devices

    توجه

    جهت نمایش اطلاعات دستگاه می توانید از ویجت استفاده کنید ویجت ها انواع نمودار و وسایل کنترلی هستند که می توانید به واسطه ان ها به سخت افزار خود فرمان دهید و یا اطلاعات سخت افزار را نمایش دهید

  9. برای افزودن ویجت از منو کنترل ویجت بر روی افزودن ویجت کلید کنید
  10. dashboardadd devices
  11. از بین ویجت ها مختلف ویجت مورد نظر خود را انتخاب کنید
  12. توجه

    هر ویجت دارای امکانات مختلفی هستند که بسته به سخت افزار تهیه شده اند و شما می بایست ویحت مربوطه را انتخاب کنید

    dashboardadd widget
  13. بعد از انتخاب ویجت می باست مدل ویجت در خواستی و سخت افزاری که به این ویجت متصل است را انتخاب می کنید
  14. dashboardadd widget
  15. در اخر ویجت در خواستی شما در صفحه نمایش داده می شود و می توانید به واسطه این ویجت دستگاه های ودرا نظارت و یا کنترل کنید
  16. dashboardadd widget

دیدگاهتان را بنویسید

کامنت ها