s

مقدمه

در این مثال قرار است وضعیت پوش باتون را برای سرور بفرستیم

کلید واژه ها
esp8266,کلید فشاری,دیجیتال,سرور,wifi,

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

#نوعتعدادخرید
1میکرو esp82661
2مقاومت 4K1
3سیم جامپر2
4برد بورد1
5push button/micro switch1
6کابل اتصال esp68261

پیش نیاز ها

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

  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 به برنامه

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

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

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

مشخص کردن پین ورودیpush button D1

معریف متغیر جهت ذخیره وضعیت کلید D1

() Setup

مشخص کردن پورت سریال

D1 به صورت ورودی تعریف وضعیت پین

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

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

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

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

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

() loop

با استفاده ازا تابع ()digitalRead مقدار ورودی دریافت می شود

این شرط به منظور تشخیص وضعیت کلید فشاری است که اگر کلید فشاری فشرده شده بود اطلاعات را به سرور ارسال می کند

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

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

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

در ادامه اگر کلید فشرده نشده بود طبق مراحل قبل دیتای off برای سرور ارسال می شود

شماتیک

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 #include <Iotkaran.h> #define Token "your token" const char* ssid = "ssid modem"; const char* password = "password modem"; Iotkaran IK; const int buttonPin = D0; // the number of the pushbutton pin int buttonState = 0 ; // variable for reading the pushbutton status int A[100]; int i = 0; void setup() { Serial.begin(115200); pinMode(buttonPin, INPUT); // We start by connecting to a WiFi network 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.connection("server.Iotkaran.ir" , 2323); //Enter a host address and port IK.authentication(Token); } void loop() { // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { DynamicJsonDocument doc(1536); doc["status"] = "ON"; String Output; serializeJson(doc, Output); if (IK.status()) { Serial.print("Send to server: "); Serial.println(Output); IK.send(Output); } } else { DynamicJsonDocument doc(1536); doc["status"] = "OFF"; String Output; serializeJson(doc, Output); if (IK.status()) { Serial.print("Send to server: "); Serial.println(Output); IK.send(Output); } } delay(3000); }

اپلود کد

  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

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

کامنت ها