به تارنمای مجموعه ی AKTonics خوش آمدید

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

آموزش کنترل پین از طریق وب برای برد های مبنی بر ESP8266

style

در آموزش قبلی برای برد هایی نظیر NodeMCU، D1 Mini و Mini S1 که مبنی بر هسته ی ESP8266 هستند، صفحه ی وب ساده ای را ساختیم که مختصر اطلاعاتی را نمایش می داد. در این آموزش نیز با استفاده از یک Sketch ساده و نرم افزار Arduino این صفحه ی وب را کمی کامل تر و کاربردی تر می کنیم تا بتوان با استفاده از آن LED ماژول ESP8266 را خاموش و روشن کنیم.

 

همانطور که گفته شد، یکی از مزیت های استفاده از ESP8266 امکان نمایش صفحات وب به صورت مستقیم روی دستگاه های دارای WiFi است و محدودیتی در استفاده از محتوی نیست پس صرفا به خلاقیت فرد بستگی دارد. همچنین در کدنویسی و برنامه ریزی میکروکنترلر ها نیز محدودیتی وجود ندارد. در اینجا با استفاده از یک صفحه ی ساده و چند خط کد، کنترل LED ماژول ESP8266 را به دست میگیریم و آن را از طریق یک صفحه ی وب خاموش یا روشن می نماییم. کد ارائه شده تنها جهت امتحان و آشنایی با مباحث مطرح شده است و در استفاده ای اصلی می توان آن را بسیار کامل تر، پیچیده تر، کارآمد تر و با ظاهر مناسب تری ارائه کرد.

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

/*

 AK ESP8266 Pin Control

*/

#include <ESP8266WiFi.h>

// تنظیمات شبکه ی خود را در این قسمت وارد کنید.

const char* ssid =      "ssid";      //نام شبکه

const char* password =  "password";  //رمز شبکه

// تعریف پین LED

int ledPin = 2; // GPIO2

// تعریف اولین مقدار به صورت پیش فرض HIGH

int value = HIGH;

WiFiServer server(80);

void setup()

{

 delay(1000);

 Serial.begin(115200);

 // تعریف پین LED به صورت خروجی

 pinMode(ledPin, OUTPUT);

 // خاموش نگه داشتن LED پس از هر بار شروع مجدد برد

 digitalWrite(ledPin, HIGH);

 // در حال برقراری ارتباط با مودم یا روتر

 WiFi.begin(ssid, password);

 // نمایش وضعیت ارتباط

 Serial.println();

 Serial.print("Connecting");

 while (WiFi.status() != WL_CONNECTED)

 {

   delay(500);

   Serial.print(".");

 }

 // نمایش ارتباط موفقیت آمیز

 Serial.println("success!");

 // نمایش ایپی برد

 Serial.print("IP Address is: ");

 Serial.println(WiFi.localIP());

 // شروع سرور

 server.begin();

 Serial.println("Server started");

}

void loop() {

 // بررسی وضعیت بازدید کننده

 WiFiClient client = server.available();

 if (!client) {

   return;

 }

  

 // منتظر ارسال فرمان بازدید کننده

 Serial.println("new client");

 while(!client.available()){

   delay(1);

 }

  

 // خواندن اولین خط درخواست بازدید کننده

 String request = client.readStringUntil('\r');

 Serial.println(request);

 client.flush();

 

 // بررسی درخواست بازدید کننده

 // چنانچه در درخواست دریافت شده مقدار /LED=ON وجود داشت

 if (request.indexOf("/LED=ON") != 1) {

   // پین خروجی و مقدار داده را LOW کن

   digitalWrite(ledPin, LOW);

   value = LOW;

 }

 // چنانچه در درخواست دریافت شده مقدار /LED=OFF وجود داشت

 if (request.indexOf("/LED=OFF") != 1){

   // پین خروجی و مقدار داده را HIGH کن

   digitalWrite(ledPin, HIGH);

   value = HIGH;

 }

 // ارسال پاسخ یا صفحه ی وب مورد نظر

 client.println("HTTP/1.1 200 OK");

 client.println("Content-Type: text/html");

 client.println("");

 client.println("<!DOCTYPE HTML>");

 client.println("<html>");

 //تنظیم نوشته در وسط صفحه

 client.println("<center>");

 // LED را روشن کن

 client.println("<a href=\"/LED=ON\">روشن کن</a> – ");

 // LED را خاموش کن

 client.println("<a href=\"/LED=OFF\">خاموش کن</a><br>");

 // ابوالفضل خزائی

 client.println("ابوالفضل خزائی");

 client.println("</center>");

 client.println("</html>");

 delay(1);

 // قطع ارتباط بازدید کننده

 Serial.println("Client disonnected");

 Serial.println("");

}

سفارش پروژه و خرید موارد موجود در سایت

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

درمورد مدیریت مجموعه

ابوالفضل خزائی

با سلام و تشکر از بازدید شما؛ این وب سایت با هدف انتشار مطالب، دانش و تجربه ی من در زمینه های الکترونیک، کامپیوتر، مدیریت سرور، مکانیک و ماشین آلات صنعتی، کنسول های بازی و ... راه اندازی شده است. امیدوارم از مطالب آن استفاده کنید، لذت ببرید و با نظرات، انتقادات و پیشنهادات خودتان به پیشرفت آن کمک کنید. ابوالفضل خزائی

برای این مطلب نظری ثبت نشده است.

اولین نفری باشید که نظرتان را در رابطه با این موضوع اعلام می کنید.



تذکر مهم : نام و نام خانوادگی صحیح و کامل خود را به فارسی تایپ کنید.
تذکر مهم : به پیغام هایی که در نام و نام خانوادگی، آدرس ایمیل و آیدی تلگرام یا شماره واتزاپ آن ها مغایرت وجود داشته باشد پاسخ داده نخواهد شد.
تذکر مهم : پر کردن تمامی فیلد ها با اطلاعات صحیح و معتبر برای ارسال نظر/سوال اجباری است. به نظرات و سوالاتی که اطلاعات آن ها صحیح نیست پاسخ داده نخواهد شد.
تذکر مهم : در صورتی که در ثبت اولین پیغام خود قوانین سایت را رعایت نکنید، سیستم به صورت اتوماتیک پیغام های بعدی شما را حتی در صورت اصلاح اطلاعات حذف خواهد کرد.

جدیدترین نوشته های تارنما