کنترل LED با وب سرور و ۴ADAIOT
سلام در این جلسه قصد داریم با استفاده از برد NodeMCU و پلتفرم برنامه نویسی بلوکی ۴ADAIOT یک صفحه وب بسازیم که از طریق اون بتونیم یک عدد LED رو کنترل کنیم.
دقت کنید آدرس صفحه وب به صورت استاتیک روی ۱۹۲.۱۶۸.۱.۱۰ تنظیم شده است.
در صورتی که نتونستید مثل فیلم بلوک ها رو بیارین میتونید به قسمت پروژه های نمونه پلتفرم برید و پروژه کنترل LED با وب سرور رو انتخاب کنید.
برای اطلاعات بیشتر در مورد سرور وب (web server)روی لینک زیر کلیک کنید و به سایت ویکی پدیا رفته و مطالعه کنید.
وب سرور چیست ؟
کارساز وب،[۱] سرور وب یا وب سرور (به انگلیسی: web server)، سامانهای (میزبان یک نرم افزار) ، و یا سخت افزاری برای اجرای یک نرم افزار است که امکان پاسخگوئی به درخواست های کاربران شبکه جهانی وب را دارد. بهطور کلی یک وب سرور میزبان یک یا چند وب سایت است که درخواست های ارسالی از پروتکل اچ تی تی پی و یا چندین پروتکل را پردازش میکند .
اصلیترین وظیفه یک وب سرور میزبانی و ذخیره صفحات وب، پردازش آنها و ارسال صحیح اطلاعات پردازش شده در صفحات وب به کاربران است. ایجاد ارتباط بین کاربر و سرور از طریق جایی به نام Hypertex Transfer Protocol و یا به اختصار HTTP انجام می شود. اطلاعات ارسالی سرور به کاربر معمولا در قالب ساختار HTML است که میتواند حاوی عکس، صفحات نوشتاری و صفحات کد نویسی شده باشد.
در پاسخ به درخواست کاربر برای ارتباط با یک صفحه وب مشخص توسط پروتکل HTTP ارسال میکند ، سرور بعد از دسترسی به صفحه درخواستی و پردازش آن، پاسخ کاربر را ارسال میکند، و اگر صفحه مورد درخواست کاربر را پیدا نکرد پیامی مبنی بر وجود مشکل در اطلاعات درخواستی به دستگاه کاربر می فرستد. اطلاعات رسیده به ماشین کاربر ابتدا توسط یک مرورگر وب یا خزنده وب دریافت میشود.
خب حالا که فهمیدیم وب سرور چیه بریم سراغ پروژمون.
برای ورود به پلتفرم برنامه نویسی بلوکی ۴ADAIOT روی دکمه زیر کلیک کنید.
شماتیک و اتصالات:
- پایه مثبت ال ای دی اول = پایه D0 برد nodemcu
- پایه منفی ال ای دی اول = پایه GND برد nodemcu
نحوه قرار گرفتن بلوک ها در پلتفرم ۴ADAIOT :
کد ساخته شده توسط پلتفرم۴ADAIOT:
کد ساخته شده توسط پلتفرم رو کپی میکنیم و وارد نرم افزار Arduino کرده و روی برد آپلود میکنیم .
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵ ۲۶ ۲۷ ۲۸ ۲۹ ۳۰ ۳۱ ۳۲ ۳۳ ۳۴ ۳۵ ۳۶ ۳۷ ۳۸ ۳۹ ۴۰ ۴۱ ۴۲ ۴۳ ۴۴ ۴۵ ۴۶ ۴۷ ۴۸ ۴۹ ۵۰ ۵۱ ۵۲ ۵۳ ۵۴ ۵۵ ۵۶ ۵۷ ۵۸ ۵۹ ۶۰ ۶۱ ۶۲ ۶۳ ۶۴ ۶۵ ۶۶ ۶۷ ۶۸ ۶۹ ۷۰ ۷۱ ۷۲ ۷۳ ۷۴ ۷۵ ۷۶ ۷۷ ۷۸ ۷۹ ۸۰ ۸۱ |
///////////////////////////////// // Generated with a lot of love// // with 4ADAIOT FOR ESP8266 // // Website: https://4adateam.com // ///////////////////////////////// #include <ESP8266WiFi.h> String ClientRequest; IPAddress staticIP889_10(۱۹۲,۱۶۸,۱,۱۰); IPAddress gateway889_10(۱۹۲,۱۶۸,۱,۱); IPAddress subnet889_10(۲۵۵,۲۵۵,۲۵۵,۰); WiFiServer server(۸۰); void setup() { ClientRequest = ""; Serial.begin(۹۶۰۰); pinMode(۱۶, OUTPUT); WiFi.disconnect(); delay(۳۰۰۰); Serial.println("START"); WiFi.begin("wifi name","wifi password"); while ((!(WiFi.status() == WL_CONNECTED))){ delay(۳۰۰); Serial.print(".."); } Serial.println("Connected"); WiFi.config(staticIP889_10, gateway889_10, subnet889_10); Serial.println("Your IP is"); Serial.println((WiFi.localIP().toString())); server.begin(); } void loop() { WiFiClient client = server.available(); if (!client) { return; } while(!client.available()){ delay(۱); } ClientRequest = (client.readStringUntil('\r')); client.flush(); if (ClientRequest.indexOf("LED-ON") > ۰) { digitalWrite(۱۶,HIGH); } if (ClientRequest.indexOf("LED-OFF") > ۰) { digitalWrite(۱۶,LOW); } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<head>"); client.println("</head>"); client.println("<body>"); client.println("<h1 style=""color:#ff0000"">"); client.println("۴ADA LED CONTROL"); client.println("</h1>"); client.println("<a href="); client.println("LED-ON"); client.println("><button>"); client.println("ON"); client.println("</button></a>"); client.println("<a href="); client.println("LED-OFF"); client.println("><button>"); client.println("OFF"); client.println("</button></a>"); client.println("</body>"); client.println("</html>"); delay(۱); } |