در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 7 : وب سرور و کنترل LED

آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 7 : وب سرور و کنترل LED

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

شما می توانید 3 دقیقه از این ویدیو را به صورت رایگان مشاهده کنید

خب حالا نوبت به اون میرسه که ما به هدف اصلی که راه اندازی یک وب سرور توسط ESP8266 هست برسیم در این جلسه به مباحث ساده وب سرور ها خواهیم پرداخت آنها را بهتر میشناسیم محتوای Request و response و status Code ها را بررسی میکنیم و سپس یک پروژه ساده را با esp 8266 مینویسیم و یک LED را تحت وب و به صورت remote کنترل میکنیم این قسمت کلید اصلی شما خواهد بود برای باز گشایی قفل کنترل اشیاء با اینترنت و تحت وب..


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


آنچه در این جلسه می آموزیم:

  1. آموزش وب سرور ها و ساختار آنها
  2. آموزش Request و response و status Code ها
  3. آموزش ساختار یک صفحه وب html
  4. آموزش کتابخانه ESP8266WebServer.h
  5. معرفی یک وب سایت عالی برای یاد گیری html
  6. آموزش برنامه یک وب سرور برای esp8266 مرحله به مرحله
  7. تست پروژه این جلسه بر روی مدار اصلی..

آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 7 : وب سرور و کنترل LED

لینک دوره مقدماتی اینترنت اشیاء

لینک دوره متوسطه اینترنت اشیاء

لینک دوره پیشرفته اینترنت اشیاء

لینک دوره تکمیلی اینترنت اشیاء

#iot_چیست #آموزش_html #نمایشگاه_cebit_آلمان #دوره_آموزشی_iot #آموزش_esp8266 #آموزش_nodemcu #آموزش_اینترنت_اشیاء #انواع_status_code #راه_اندازی_اینترنت_اشیاء #کنترل_led_تحت_وب
عنوان
1 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 1 : معرفی دوره 4′:15″ رایگان
2 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 2 : معماری IOT 1:2′:28″ رایگان
3 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 3 : مفاهیم الکترونیک 1:26′:7″ 18,700
4 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 4 : اولین پروژه 1:3′:25″ 20,900
5 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 5 : WiFi با ESP8266 1:0′:58″ 20,900
6 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 6 : پروژه با GPIO 1:5′:46″ 20,900
7 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 7 : وب سرور و کنترل LED 1:7′:6″ 20,900
8 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 8 : LCD کاراکتری I2C 43′:29″ 24,200
9 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 9 : OLED متن و تصویر 59′:33″ 22,000
10 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 10 : OLED پیشرفته 1:20′:30″ 22,000
11 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 11 : سنسور دما و رطوبت 48′:43″ 22,000
12 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 12 : سنسور گاز و هشدار 1:31′:36″ 42,900
13 آموزش اینترنت اشیاء (IoT) مقدماتی قسمت 13 : سنسور تشخیص حرکت 1:5′:25″ 31,900
زمان و قیمت کل 13:19′:21″ 267,300
50 نظر
Persian90

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

اگر بخواهیم وضعیت led رو در صفحه وب ما نشون بده میشه وضعیت پین رو چک کرد.

کجا (درکدام قسمت کد باید نوشته بشود) و به چه شکل میشه وضعیت پین رو در صفحه نشون داد؟

ممنون

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

امیر جم

سلام

یک سوال از خدمتتون داشتم

آیا میشه با استفاده از ip hotspot mobile به node mcu از طریق استاتیک ip وصل شد. چون wifi برای nodemcu با hotspot به خوبی کار می کنه و به thinger.io وصل می شه ولی به صفحه web از طریق استاتیک ip وصل نمیشه . ممنون می شم راهنمایی بفرمایید.

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

محمدجواد اصلانی

سلام.توی این قسمت یک منبع خیلی خوب و رایگان برای html معرفی کردید.میشه برای اندروید هم معرفی کنید؟

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

hamidreza.p

سلام - تشکر دوره خوبی دارید برگزار میکنید تو چند جلسه ای که تهیه شد راضی بودم .

یک سوال داشتم . من هدفم اینه که از طریق node mcu مثلا یک سنسور دما رو بخونم و اطلاعات رو به صورت وای فای به سریال کامپیوتر بفرستم در حالی که node mcu من در حالت اکسس پوینت باشه . در مورد مباحث الکترونیکی مشکلی نیست در مورد نحوه انتقال اطلاعات به سریال چطور باید انجام بشه ؟

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

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

hamidreza.p

در اصل هدفم این هست که اطلاعات رو از طریق وای فای بفرستم - این جز کدام دستورات کتابخانه میشه ؟اصلا این کتابخانه دستورات همچین کاری رو داره؟ (فرستنده مثلا node mcu باشه و گیرنده یک کامیپیوتر دیگه چند متر اون سمت تر به صورت کلینت به mcu متصل بشه و تو سریالش نمایش داده بشه ) این موردی که شما فرمودی به صورت وای فای نبود فکر کنم .

تشکر از راهنمایی

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

محمدجواد اصلانی

این توسط m.javad1422 در تاریخ سه شنبه, 31 مرداد 1396 حذف شده است.

Reason: مشکل رفع شد

سلام.

چند ساعتی گشتم ولی کتابخونه esp8266webserver رو پیدا نکردم.میشه برام بفرستید؟

hamidreza.p

بله در web browser کاراتونو دیدم و تست هم کردم اوکی بود . (منظورم سریال که توضیح دادید وای فای نبود ) ولی در این کار ها مثل این جلسه ما اکسس پوینت نیستیم اگر بخواهیم اکسس پوینت باشیم چه تغییراتی لازمه

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

محمدجواد اصلانی

سلام.

الان تا اینجا ما از طریق سنسور یک led رو روشن کردیم ولی هم node mcu و هم کلاینت به یه accsess point وصل شده اند.خب مثلا AP ما یک مودم توی خونه هست و برد محدودی داره.اگه بخوایم از فاصله های چند کیلومتری node mcu رو کنترل کنیم باید چه کاری انجام بدیم؟

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

محمدجواد اصلانی

اینایی که گفتید رو شما درس دادید؟اگه درس دادید توی کدوم جلسه گفتید؟

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

محمدجواد اصلانی

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

فقط یه سوال دیگه اینکه الان من باید 80 قسمت +network رو ببینم و دوره +n رو بگذرونم تا بتونم این اون کاری که گفتم رو انجام بدم؟دات نت رو هم باید یاد بگیرم؟

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

afshin2700

سلام خدمت استاد سیروس زاد

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

در پروژه فعلی هم وب سروری که به کمک nodemcu ساختیم و به کمک وب بروسر اطلاعات اون رو خوندیم هر دو در یک شبکه محلی بودن و هر دو به یک apمتصل بودن

اگر بخواهیم خواندن و ارسال اطلاعات از نقطه دیگر و از ap دیگری به اینترنت متصل است رو انجام بدیم و دریافت و ارسال اطلاعات کنیم روش به چه صورت است و آیا با گذراندن دروه n+قادر به این کار خواهیم بود و یا در قسمت های بعدی ایندوره که مراحل بعد و تکمیلی ست قادر به این کار خواهیم بود ؟

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

afshin2700

ممنونم استاد از پاسختون .

فقط منظورتون رو از انجمن متوجه نشدم

منظورتون همین پرسش و پاسخ های بعد هر درس است یا انجمن جداگانه ایی وجود داره که اگر هست لینکش رو مرحمت بفرمایید

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

سیدوحید علوی پناه

سلام استاد وقتتون بخیر .

استاد بنده کتابخونه SSD1306 رو نصب کردم از قسمت library manager ولی بازم موقع کامپایل کردن خطای این کتابخونه رو

میده.

اگه میتونین میشه راهنماییم کنین.باتشکر

خطاش اینه<cpp>

Arduino: 1.8.4 (Windows 7), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)"

Build options changed, rebuilding all

D:\amozesh\doc\14\New1\New1\New1.ino:6:21: fatal error: SSD1306.h: No such file or directory

#include "SSD1306.h"

^

compilation terminated.

exit status 1

Error compiling for board NodeMCU 1.0 (ESP-12E Module).

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

اینم کد

#include <Adafruit_ESP8266.h>

#include <SoftwareSerial.h>

#include "SSD1306.h"

#include <ESP8266WiFi.h>

#include <ESP8266WebServer.h>

#include <ESP8266mDNS.h>

#include <Adafruit_NeoPixel.h>

#define PIN 14

#define NUM_LEDS 2

SSD1306 display(0x3c, 4, 5); //define Instance for OLED1306 Library

AdafruitNeoPixel strip = AdafruitNeoPixel(NUMLEDS, PIN, NEOGRB + NEO_KHZ800);

const char *ssid = "vahid";

const char *password = "13731995";

ESP8266WebServer server ( 80 );

void setup() {

strip.begin();

display.init();

display.flipScreenVertically();

display.setFont(ArialMTPlain16);

display.setTextAlignment(TEXTALIGNLEFT);

pinMode ( 2, OUTPUT );

digitalWrite ( 2, 1 );

pinMode ( 16, OUTPUT );

digitalWrite ( 16, 1 );

Serial.begin ( 115200 );

WiFi.disconnect();

WiFi.begin ( ssid, password );

while ( WiFi.status() != WL_CONNECTED ) {

digitalWrite ( 2, 0 );

delay ( 250 );

Serial.print ( "." );

digitalWrite ( 2, 1 );

delay ( 250 );

}

//Connected signal

String IP = WiFi.localIP().toString();

Serial.println ("IP")

display.drawString(0,0,"IP Address:\n"+IP);

display.display();

server.begin(); //Start web server

Serial.println ( "HTTP server started" );

server.on("/" ,Handle_Root);

server.on("/RGB" ,Handle_RGB);

}

void loop() {

server.handleClient();

}

void Handle_Root(){

server.send(200,"text/plain","ITpro.ir IOT Lesson 14 Server Arguments");

}

void Handle_RGB(){

strip.setPixelColor(0,255,0,0);

strip.show();

}

<cpp>

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

a.sa

سلام

ایا بوسیله nodemcu امکان بازدید از سایتها هم وجود دارد؟؟

مثلا از سایت گوگل بازدید کنیم

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

a.sa

چون ip اون قابل تغییره .گفتم شاید بشه باهاش یه دستگاه افزایش بازدید از سایت ساخت.به نظرتون میشه؟؟؟

نوید عبدالوند

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

صورت مساله پروژه :

میخواهیم بیاییم دو تا لینک در صفحه HTML قرار بدهیم و از آن استفاده کنیم و LED ای را روشن و خاموش کنیم

#include <ESP8266WiFi.h>

#include <ESP8266WebServer.h>

ESP8266WebServer server(80);

char* ssid = "TP-2.4";

char* pass = "D@ghigh1@";

String str(ssid); //convert char to string to print easy

IPAddress staticip(192,168,1,100);

IPAddress subnetmask(255,255,255,0);

IPAddress gateway(192,168,1,1);

IPAddress DNS1(4,2,2,4);

void setup() {

pinMode(16,OUTPUT);

WiFi.disconnect();

Serial.begin(115200);

WiFi.begin(ssid,pass);

WiFi.config(staticip,gateway,subnetmask,DNS1);

Serial.println(" ");

Serial.println("connecting to (("+str+")) Access Point"); //connection notification

while(WiFi.status()!=WL_CONNECTED)

{

Serial.print(".");

delay(500);

}

Serial.println(" ");

Serial.println("Yeep connected whith these parameters :"); //connection notification

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

Serial.println(WiFi.localIP());

Serial.print("Subnet mask: ");

Serial.println(WiFi.subnetMask());

Serial.print("Gateway: ");

Serial.println(WiFi.gatewayIP());

Serial.print("DNS: ");

Serial.println(WiFi.dnsIP());

Serial.print("Host Name: ");

Serial.println(WiFi.hostname());

server.begin(); // Server ra start mikonad

server.on("/",Home_page);

server.on("/Ledon" ,ledon);

server.on("/Ledoff" ,ledoff);

}

void ledon(){

digitalWrite(16,HIGH);

server.send(204,"");

}

void ledoff(){

digitalWrite(16,LOW);

}

void loop() {

server.handleClient();

server.send(204,"");

}

void Home_page(){

String homepage = "<!DOCTYPE html><html><head><title>LED on or off <title&gt;&lt;head><body><h1>Hello from ESP8266!<h1&gt; &lt;a href=\&quot;ledon\">Push to LED 16 On <a&gt; &lt;a href=\&quot;ledoff\"> Push to LED 16 Off<a&gt; &lt;body></html>";

server.send(200,"text/html",homepage);

}

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

نوید عبدالوند
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
char* ssid = "TP-2.4"; 
char* pass = "D@ghigh1@"; 
String str(ssid); //convert char to string to print easy 
IPAddress staticip(192,168,1,100);
IPAddress subnetmask(255,255,255,0);
IPAddress gateway(192,168,1,1);
IPAddress DNS1(4,2,2,4);
void setup() {
pinMode(16,OUTPUT);
WiFi.disconnect();
Serial.begin(115200);
WiFi.begin(ssid,pass); 
WiFi.config(staticip,gateway,subnetmask,DNS1);
Serial.println(" ");
Serial.println("connecting to (("+str+")) Access Point"); //connection notification
while(WiFi.status()!=WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println(" ");
Serial.println("Yeep connected whith these parameters :"); //connection notification
Serial.print("ESP IP Address: ");
Serial.println(WiFi.localIP());
Serial.print("Subnet mask: ");
Serial.println(WiFi.subnetMask());
Serial.print("Gateway: ");
Serial.println(WiFi.gatewayIP());
Serial.print("DNS: ");
Serial.println(WiFi.dnsIP());
Serial.print("Host Name: ");
Serial.println(WiFi.hostname());
server.begin();   // Server ra start mikonad
server.on("/",Home_page);
server.on("/Ledon" ,ledon);
server.on("/Ledoff" ,ledoff);
}
void ledon(){
digitalWrite(16,HIGH);
server.send(204,"");
}
void ledoff(){
digitalWrite(16,LOW);
}
void loop() {
server.handleClient();  
server.send(204,"");
}
void Home_page(){
String homepage = "<!DOCTYPE html><html><head><title>LED on or off </title></head><body><h1>Hello from ESP8266!</h1> <a href=\"/ledon\">Push to LED 16 On </a> <a href=\"/ledoff\"> Push to LED 16 Off</a> </body></html>";
server.send(200,"text/html",homepage);
}

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

نوید عبدالوند

مچکرم مهندس درست شد

سامان

سلام

توی آموزش گفتین که این کد شما فضای زیادی رو از NodeMcu گرفته. خب پس اگه بخوایم صفحه های وب بهتر با گرافیک بخوب بنویسیم باید چیکار کنیم؟

و این که نمیشه کد صفحه های بزرگ رو اینجوری پشت سر هم نوشت که. نمیشه یه صفحه وب رو با editor های دیگه بنویسیم و include کنیم؟

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

هومن پاشایی

باسلام به مهندس سیروس زاد عزیز

در ابتدای ویدیو راجب Firmware ها صحبت کردین که من این مطلب رو خوندم و سوالی که برای من بوجود اومد این هست که در حافظه ROM قرار ندارند پس چطور ما میتوانیم آن ها را تغییر دهیم؟

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

هومن پاشایی

باسلام و خسته نباشید

استاد سیروس زاد عزیز یک سوال داشتم اینکه من کد HTML مربوط به وب سرور رو نوشتم و شامل خط های زیادی میباشد و بررسی کردن علامت " و قرار دادن \ قبل از آن پروسه ی بسیار زمان بری است گفتین که راهی برای برطرف کردن این پروسه هست میشه معرفی کنین؟

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

هومن پاشایی

برای من این ارور رو میده درصورتی که سه تابع تعریف شده اند


WebSvr-Project:48: error: 'MAINPAGE' was not declared in this scope

   WebServer.on("/" , MAINPAGE);

                      ^

WebSvr-Project:49: error: 'LEDON' was not declared in this scope

   WebServer.on("/LedON" , LEDON);

                           ^

WebSvr-Project:50: error: 'LEDOFF' was not declared in this scope

   WebServer.on("LedOFF" , LEDOFF);

                           ^

exit status 1
'MAINPAGE' was not declared in this scope

هومن پاشایی

کد مربوط به برنامه من و تصویر صفحه HTML من که به علت کد زیاد آن فقط تصویر را در اینجا قرارداده ام

وب سایت توسینسو

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>


ESP8266WebServer WebServer(80);
String HomePage = "";
char* SSid = "abcd";
char* Password = "11111111";
String str(SSid);
/*IPAddress StaticIP(192,168,137,8);
IPAddress Subnetmask(255,255,255,0);
IPAddress Gateway(192,168,137,1);
IPAddress DNS(208,67,222,222);*/
void setup() {
  WebServer.begin();
  pinMode(16 , OUTPUT);
  digitalWrite(16 , LOW);
  pinMode(2 , OUTPUT);
  digitalWrite(2 , LOW);
  WiFi.disconnect();
  Serial.begin(115200);
  WiFi.begin(SSid , Password);
  //WiFi.config(StaticIP,Gateway,Subnetmask,DNS);
  Serial.println();
  Serial.print("Connecting");
  while(WiFi.status() != WL_CONNECTED){
    Serial.print(".");
    delay(600);
  }
  Serial.println();
  Serial.println("Ooops , We Connected to "+ str + " Access Point");
  Serial.println("With these Parameter ! ==>");
  Serial.print("ESP IP Address : ");
  Serial.println(WiFi.localIP());
  Serial.print("Subnet Mask : ");
  Serial.println(WiFi.subnetMask());  
  Serial.print("Gateway : ");
  Serial.println(WiFi.gatewayIP());
  Serial.print("DNS Address : ");
  Serial.println(WiFi.dnsIP());
  Serial.print("Hostname : ");
  Serial.println(WiFi.hostname());
  if (WiFi.status() == WL_CONNECTED) {
    uint8_t macAddr[6];
    WiFi.macAddress(macAddr); 
    Serial.printf("Connected, Mac Address: %02x:%02x:%02x:%02x:%02x:%02x\n", macAddr[0], macAddr[1], macAddr[2], macAddr[3], macAddr[4], macAddr[5]);
  }
  WebServer.on("/" , MAINPAGE);
  WebServer.on("/LedON" , LEDON);
  WebServer.on("LedOFF" , LEDOFF);
}

void loop() {
  WebServer.handleClient();
}
void MAINPAGE(){
  WebServer.send(200 , "text/html" , HomePage);
}
void LEDON(){
  digitalWrite(16 , HIGH);
  digitalWrite(2 , HIGH);
  WebServer.send(204 , "");
}
void LEDOFF(){
  digitalWrite(16 , LOW);
  digitalWrite(2 , LOW);
  WebServer.send(204 , "");
}






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

هومن پاشایی

باشه چشم ، ایرادی نداره

پس ی سوال کلی تر میپرسم ، ما همین کارایی که شما میگید رو انجام بدیم و جواب بگیریم کافی هست؟پیشرفته تر بررسی نکنیم تا زمانی که به ی سطح معقولی برسیم که بتونیم مباحث رو باهم ترکیب کنیم؟

jiangjool

درود استاد . دو تا پرسش داشتم

1)

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

2)

توی ویژوال استودیو با f12 به مرجع یک تابع میرسیم و میفهمیم یه تابع مثلا از کجا اومده ، در آردوینو چطور میشه همچین کاری کرد ؟

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

mohamadhunter

با سلام و عرض خسته نباشید

احتراما

بنده میخوام کد های کتابخانه های زیر رو مشاهده کنم - میخواستم بدونم محل ذخیره لایببری ها داخلی اردیانو کجا هستن ؟ تشکر

#include <ESP8266WiFi.h>

#include <ESP8266WebServer.h>

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

pouriia

سلام استاد بزرگوار

بابت اموزشاتون ممنون خیلی عالین

من وب سرور رو پیاده سازی کردم

با گوشی کار میکنه ولی هرچی ip رو تو لپتاپم سرچ میزنم وصل نمیشه و پینگم ندارم

فایروال هم غیر فعال کردم ولی اوکی نشد

ویندوزم 8.1 هست.ممنون میشم راه نمایی کنید

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

pouriia

سلام مجدد

از طریق سیستم های دیگه درست عمل میکنه و کد و ارتباط مشکلی نداره.ولی نمیدونم مشکل سیستم من چیه.آیا بجز فایروال تنطیم دیگه ای داره؟

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....