کنترل ماشین هوشمند با اپلیکیشن و ۴ADAIOT
سلام در این جلسه قصد داریم با استفاده از برد NodeMCU و پلتفرم برنامه نویسی بلوکی ۴ADAIOT و اپلیکیشن ساخته شده توسط آکادمی دانش پژوهان آتی یک عدد LED رو کنترل کنیم.
دقت کنید آدرس صفحه وب به صورت استاتیک روی ۱۹۲.۱۶۸.۱.۱۰ تنظیم شده است.
در صورتی که نتونستید مثل فیلم بلوک ها رو بیارین میتونید به قسمت پروژه های نمونه پلتفرم برید و پروژه کنترل LED با اپلیکیشن رو انتخاب کنید.
برای اطلاعات بیشتر در مورد سرور وب (web server)روی لینک زیر کلیک کنید و به سایت ویکی پدیا رفته و مطالعه کنید.
کارساز وب،[۱] سرور وب یا وب سرور (به انگلیسی: web server)، سامانهای (میزبان یک نرم افزار) ، و یا سخت افزاری برای اجرای یک نرم افزار است که امکان پاسخگوئی به درخواست های کاربران شبکه جهانی وب را دارد. بهطور کلی یک وب سرور میزبان یک یا چند وب سایت است که درخواست های ارسالی از پروتکل اچ تی تی پی و یا چندین پروتکل را پردازش میکند .
اصلیترین وظیفه یک وب سرور میزبانی و ذخیره صفحات وب، پردازش آنها و ارسال صحیح اطلاعات پردازش شده در صفحات وب به کاربران است. ایجاد ارتباط بین کاربر و سرور از طریق جایی به نام Hypertex Transfer Protocol و یا به اختصار HTTP انجام می شود. اطلاعات ارسالی سرور به کاربر معمولا در قالب ساختار HTML است که میتواند حاوی عکس، صفحات نوشتاری و صفحات کد نویسی شده باشد.
در پاسخ به درخواست کاربر برای ارتباط با یک صفحه وب مشخص توسط پروتکل HTTP ارسال میکند ، سرور بعد از دسترسی به صفحه درخواستی و پردازش آن، پاسخ کاربر را ارسال میکند، و اگر صفحه مورد درخواست کاربر را پیدا نکرد پیامی مبنی بر وجود مشکل در اطلاعات درخواستی به دستگاه کاربر می فرستد. اطلاعات رسیده به ماشین کاربر ابتدا توسط یک مرورگر وب یا خزنده وب دریافت میشود.
خب حالا که فهمیدیم وب سرور چیه بریم سراغ پروژمون.
برای ورود به پلتفرم برنامه نویسی بلوکی ۴ADAIOT روی دکمه زیر کلیک کنید.
شماتیک و اتصالات:
- پایه VCC ماژول درایور موتور = پایه VIN برد NodeMCU
- پایه GND ماژول درایور موتور = پایه GND برد NodeMCU
- پایه B_A ماژول درایور موتور = پایه D3 برد NodeMCU
- پایه B_B ماژول درایور موتور = پایه D4 برد NodeMCU
- پایه A_A ماژول درایور موتور = پایه D1 برد NodeMCU
- پایه A_B ماژول درایور موتور = پایه D2 برد NodeMCU
- سیم مثبت یا قرمز جاباتری چهارتایی = پایه VIN برد 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 staticIP502_10(۱۹۲,۱۶۸,۱,۱۰); IPAddress gateway502_10(۱۹۲,۱۶۸,۱,۱); IPAddress subnet502_10(۲۵۵,۲۵۵,۲۵۵,۰); WiFiServer server(۸۰); void setup() { ClientRequest = ""; Serial.begin(۹۶۰۰); pinMode(۱۶, OUTPUT); pinMode(۵, OUTPUT); pinMode(۴, OUTPUT); pinMode(۰, OUTPUT); 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(staticIP502_10, gateway502_10, subnet502_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("on") > ۰) { digitalWrite(۱۶,HIGH); } if (ClientRequest.indexOf("off") > ۰) { digitalWrite(۱۶,LOW); } if (ClientRequest.indexOf("forward") > ۰) { digitalWrite(۵,HIGH); digitalWrite(۴,LOW); digitalWrite(۰,HIGH); digitalWrite(۲,LOW); } if (ClientRequest.indexOf("backward") > ۰) { digitalWrite(۴,HIGH); digitalWrite(۲,HIGH); digitalWrite(۰,LOW); digitalWrite(۵,LOW); } if (ClientRequest.indexOf("right") > ۰) { digitalWrite(۵,HIGH); digitalWrite(۲,HIGH); digitalWrite(۰,LOW); digitalWrite(۴,LOW); } if (ClientRequest.indexOf("left") > ۰) { digitalWrite(۴,HIGH); digitalWrite(۰,HIGH); digitalWrite(۲,LOW); digitalWrite(۵,LOW); } if (ClientRequest.indexOf("stop") > ۰) { digitalWrite(۵,LOW); digitalWrite(۴,LOW); digitalWrite(۰,LOW); digitalWrite(۲,LOW); } } |