جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > آردوینو ( Arduino ) > ارسال دیتا بوسیله آردینو و وای فای به صفحه وب

ارسال دیتا بوسیله آردینو و وای فای به صفحه وب

اسفند 10, 1396
ارسال شده توسط mjavad
آردوینو ( Arduino )، پروژه، پروژه های آردوینو، پروژه های رایگان
ارسال دیتا بوسیله آردینو و وای فای به صفحه وب

به نام خدا

ارسال دیتا بوسیله آردینو و وای فای به صفحه وب

ارسال دیتا بوسیله آردینو و وای فای به صفحه وب

 

در این آموزش قصد داریم دیتایی را بوسیله آردینو و وای فای به صفحه وب بفرستیم. برای این کار ما به آدرس IP یک سرور محلی یا جهانی نیازمندیم. در اینجا برای راحتی کار از سرور محلی استفاده می کنیم.

قطعات مورد نیاز ارسال دیتا بوسیله آردینو و وای فای به صفحه وب :

  • آردینو UNO
  • ماژول وای فای ESP8266
  • کابل USB
  • سیم برد بورد
  • لپ تاب یا کامپیوتر
  • منبع تغذیه

 

ماژول وای فای مدل ESP8266:

ارسال دیتا بوسیله آردینو و وای فای به صفحه وب

اتصالات مدار :

در شکل زیر دیاگرام مدار را مشاهده می کنید. قطعات اصلی مورد نیاز ما آردینو و ماژول وای فای ESP8266 است. پایه های VCC و CH_PD مستقیما به پایه 3.3 ولت آردینو و GND به پایه زمین آردینو متصل می شود. پایه های Tx و Rx ماژول وای فای ESP8266 مستقیما به پایه های 2 و 3 آردینو متصل میشود. کتابخانه software serial برای برقراری ارتباط سریال با ماژول وای فای است. پایه های 0 و 1 پایه های پیش فرض ارتباط سریال آردینو می باشد. با استفاده از کتابخانه software serial میتوان این پایه ها را تغییر داد همانگونه که ما تغییر در این پروژه تغییر داده ایم. میتوانیم برای دیدن اطلاعاتی که بین ESP8266 و آردینو منتقل می شود از serial monitor نرم افزار Arduino IDE استفاده کنیم.

ارسال دیتا بوسیله آردینو و وای فای به صفحه وب

 

طرز کار پروژه ارسال دیتا بوسیله آردینو و وای فای به صفحه وب:

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

1 – در ابتدا ماژول را با فرستادن دستور در سریال مانیتور AT command تست می کنیم. پس از ارسال این دستور باید پیغامی با محتوای ok دریافت کنیم.

2 – سپس باید حالت وای فای را با دستور AT+CWMODE=mode_id انتخاب کنیم.در اینجا از modeid=3 استفاده شده است.حالت های مختلف ماژول را در زیر می بینیم.

1 = (station mode (client

2 = (AP mode (host

3 = AP + Station mode

3 – حال باید اتصال ماژول وای فای را که متصل به شبکه قبلی است با دستور AT+CWQAP قطع کنیم. این ماژول به طور خودکار به وای فایی که قبلا وصل شده، متصل می شود برای همین منظور باید این کار را انجام دهیم.

4 – سپس ماژول را با دستور AT+RST ریست می کنیم. اینکار الزامی نیست.

5 – در این مرحله ماژول را به وای فای روتر با دستور زیر متصل کنیم.

AT+CWJAP=”اسم وای فای”,”رمز وای فای”

6 – سپس بوسیله کد زیر آدرس IP را دریافت می کنیم.

AT+CIFSR

7 – حالت مالتی پلکس را بوسیله کد AT+CIPMUX=1 فعال می کنیم.(1 برای اتصال چندگانه و 0 برای اتصال تکی)

8 –  حال ماژول را بوسیله کد  ,AT+CIPSERVER=1 به عنوان سرور تنظیم می کنیم .با 1 یا 0 کردن این دستور سرور ساخته یا پاک می شود.

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

اندازه دیتا حداکثر 2 کیلو بایت, AT+CIPSEND = ID

10 – سپس دیتایی که می خواهیم به این صورت وارد می کنیم.

;(“Serial.println(“avatrobo.ir

11 – درنهایت اتصال را با کد زیر قطع میکنیم.

AT+CIPCLOSE=0

دیتا به سرور فرستاده شده و کافی ست در مرورگر آدرس IP را وارد کنیم تا دیتایی که فرستاده ایم را مشاهده کنیم

 

مراحل برنامه نویسی :

کتابخانه serial library را اضافه می کنیم و پایه هی 2 و 3 را بعنوان پایه ارتباط سریال تعریف میکنیم.

#include<SoftwareSerial.h>
SoftwareSerial client(2,3); //RX, TX

String webpage="";
int i=0,k=0;
String readString;
int x=0;

boolean No_IP=false;
String IP="";
char temp1='0';

برای انجام کار هایی که لازم داریم چند تابع معرفی می کنیم.

تابع ( )setup برای ارتباط بین ماژول و آردینو به وسیله UART و تعیین baud rate روی 9600.

void setup() 
{
   Serial.begin(9600);
   client.begin(9600);
   wifi_init();
   Serial.println("System Ready..");
}

تابع ( )wifi_init برای تعریف راه اندازی ماژول وای فای که در بالا هم با آن به نحو دیگری اشاره شد.

void wifi_init()
{
      connect_wifi("AT",100);
      connect_wifi("AT+CWMODE=3",100);
      connect_wifi("AT+CWQAP",100);  
      connect_wifi("AT+RST",5000);
      ...... .....
      ..... .....

تابع ( )connect_wifi برای ارسال دستورات دیتا به ماژول و خواندن اطلاعاتی که از ماژول دریافت می شود.

void connect_wifi(String cmd, int t)
{
  int temp=0,i=0;
  while(1)
  {
    Serial.println(cmd);
    ...... .....
    ..... .....

تابع ( )sendwebdata برای ارسال دیتا به سرور محلی یا صفحه وب.

void sendwebdata(String webPage)
{
    int ii=0;
     while(1)
     {
      unsigned int l=webPage.length();
      Serial.print("AT+CIPSEND=0,");
      client.print("AT+CIPSEND=0,");
      ...... .....
      ..... .....

تابع ( )void send برای ارسال دیتا به تابع ( )sendwebdata.

void Send()
{
      webpage = "<h1>Welcome to Circuit Digest</h1><body bgcolor=f0f0f0>";
      sendwebdata(webpage);
      webpage=name;
      webpage+=dat;
      ...... .....
      ..... .....

تابع ( )get_ip برای دریافتIP سرور مورد نظر.

تابع ( )void loop برای ارسال درخواست تازه کردن(refresh) صفحه تا مشخص شود که سرور متصل است یا نه. هر وقت که کاربر صفحه را تازه سازی کند یا درخواست روی صفحه بیاید دیتا به طور خودکار به IP ارسال می شود.

void loop() 
{
  k=0;
  Serial.println("Please Refresh your Page");
  while(k<1000)
  .... .....
  .... .....

دانلود کدهای پروژه ارسال دیتا بوسیله آردینو و وای فای به صفحه وب:

[maxbutton id=”193″ url=”http://avatrobo.ir/wp-content/uploads/2018/02/a-1.txt” text=”دانلود” ]

#include<SoftwareSerial.h>
SoftwareSerial client(2,3); //RX, TX

String webpage="";
int i=0,k=0;
String readString;
int x=0;

boolean No_IP=false;
String IP="";
char temp1='0';

String name="<p>Circuit Digest</p>";   //22
String dat="<p>Data Received Successfully.....</p>";     //21
     
void check4IP(int t1)
{
  int t2=millis();
  while(t2+t1>millis())
  {
    while(client.available()>0)
    {
      if(client.find("WIFI GOT IP"))
      {
        No_IP=true;
      }
    }
  }
}

void get_ip()
{
  IP="";
  char ch=0;
  while(1)
  {
    client.println("AT+CIFSR");
    while(client.available()>0)
    {
      if(client.find("STAIP,"))
      {
        delay(1000);
        Serial.print("IP Address:");
        while(client.available()>0)
        {
          ch=client.read();
          if(ch=='+')
          break;
          IP+=ch;
        }
      }
      if(ch=='+')
      break;
    }
    if(ch=='+')
    break;
    delay(1000);
  }
  Serial.print(IP);
  Serial.print("Port:");
  Serial.println(80);
}

void connect_wifi(String cmd, int t)
{
  int temp=0,i=0;
  while(1)
  {
    Serial.println(cmd);
    client.println(cmd); 
    while(client.available())
    {
      if(client.find("OK"))
      i=8;
    }
    delay(t);
    if(i>5)
    break;
    i++;
  }
  if(i==8)
  Serial.println("OK");
  else
  Serial.println("Error");
}

void wifi_init()
{
      connect_wifi("AT",100);
      connect_wifi("AT+CWMODE=3",100);
      connect_wifi("AT+CWQAP",100);  
      connect_wifi("AT+RST",5000);
      check4IP(5000);
      if(!No_IP)
      {
        Serial.println("Connecting Wifi....");
        connect_wifi("AT+CWJAP=\"1st floor\",\"muda1884\"",7000);         //provide your WiFi username and password here
     // connect_wifi("AT+CWJAP=\"vpn address\",\"wireless network\"",7000);
      }
      else
        {
        }
      Serial.println("Wifi Connected"); 
      get_ip();
      connect_wifi("AT+CIPMUX=1",100);
      connect_wifi("AT+CIPSERVER=1,80",100);
}

void sendwebdata(String webPage)
{
    int ii=0;
     while(1)
     {
      unsigned int l=webPage.length();
      Serial.print("AT+CIPSEND=0,");
      client.print("AT+CIPSEND=0,");
      Serial.println(l+2);
      client.println(l+2);
      delay(100);
      Serial.println(webPage);
      client.println(webPage);
      while(client.available())
      {
        //Serial.print(Serial.read());
        if(client.find("OK"))
        {
          ii=11;
          break;
        }
      }
      if(ii==11)
      break;
      delay(100);
     }
}

void setup() 
{
   Serial.begin(9600);
   client.begin(9600);
   wifi_init();
   Serial.println("System Ready..");
}

void loop() 
{
  k=0;
  Serial.println("Please Refresh your Page");
  while(k<1000)
  {
    k++;
   while(client.available())
   {
    if(client.find("0,CONNECT"))
    {
      Serial.println("Start Printing");
      Send();
      Serial.println("Done Printing");
      delay(1000);
    }
  }
  delay(1);
 }
}

void Send()
{
      webpage = "<h1>Welcome to Circuit Digest</h1><body bgcolor=f0f0f0>";
      sendwebdata(webpage);
      webpage=name;
      webpage+=dat;
      sendwebdata(webpage);
      delay(1000);
     webpage = "<a href="http://avatrobo.ir/";
     webpage+="\">Click Here for More projects</a>";
     sendwebdata(webpage);
     client.println("AT+CIPCLOSE=0"); 
}

 

 

برچسب ها: آردوینوآردوینو و اینترنتآردوینو یونوآموزش آردوینوآموزش آردینواینترنت اشیاپروژه آردوینوپروژه اینترنت اشیاءپروژه های ESP8266پروژه های وای فایراه اندازی ESP8266راه اندازی وای فایراه اندازی وای فای با آردینوسنسورکد آردوینوماژول وای فای
قبلی آموزش کنترل موتور DC با آردوینو (PWM - L298 - پل اچ ) به همراه کد
بعدی کنترل رنگ led های RGB بوسیله آردوینو و بلوتوث

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • سعید گفت:
    اردیبهشت 10, 1399 در 00:05

    سلام میشه یه لینک رو با ماژول esp8266 باز کرد؟

    پاسخ
    • Admin گفت:
      آبان 16, 1399 در 15:19

      سلام بله میشه

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
آخرین محصولات مشاهده شده
  • کیت رباتیک آوات روبو مدل کنترل از راه دور وای فای با موبایل کیت رباتیک آوات روبو مدل کنترل از راه دور وای فای با موبایل
    2,215,000 
  • آموزش ساخت فاصله سنج آلتراسونیک با قابلیت فعال سازی رله آموزش ساخت فاصله سنج آلتراسونیک با قابلیت فعال سازی رله
    58,000 
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

آرمان آوات روبو نه تنها تغییر اکنون و تعریف آینده آموزش عملی و کاربردی در ایران، بلکه توسعه همین تغییر به کل دنیا است. نسخه بین المللی آوات روبو، هم اکنون در حال برنامه ریزی است و کارهای اولیه آن برای فعالیت در یوتیوب و یک سایت انگلیسی در حال انجام است.

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.