اطلاعیه

Collapse
No announcement yet.

اتصال دو esp8266 به هم

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    اتصال دو esp8266 به هم

    سلام . میخوام دوتا esp8266 رو با هم شبکه کنم . اما میخوام که این اتصال برای یکی از esp ها بدون میکرو باشه .
    کد های زیر رو ببینید :
    کد فرستنده :
    کد PHP:
    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(87); // RX, TX
    void setup() {
      
    Serial.begin(9600);
      
    mySerial.begin(9600);
      
    mySerial.setTimeout(10) ;
     
    //************************************ ESP8266 AT **************    
         
    mySerial.print("AT+CWSAP=\"SMART1\",\"\",5,0\r\n");
         
    delay(100);
         
    mySerial.print("AT+CWMODE=2\r\n");
         
    delay(100);
         
    mySerial.print("AT+CIPMUX=1\r\n");
         
    delay(100);
         
    mySerial.print("AT+CIPAP=\"192.168.4.1\r\n"); // IP = 192.168.4.1
         
    delay(100);
         
    mySerial.print("AT+CIPSERVER=1,4444\r\n"); // port = 4444
         
    delay(100);
    }
    void loop() { 
      
    mySerial.print("AT+CIPSENDEX=0,1\r\n"); 
      
    delay(100); 
      
    mySerial.print("A");
      
    delay(5000);
     
    mySerial.print("AT+CIPSENDEX=0,1\r\n"); 
      
    delay(100); 
      
    mySerial.print("B");
      
    delay(5000);} 
    کد گیرنده :
    کد PHP:
    #include <SoftwareSerial.h>
    //SoftwareSerial mySerial(8, 7); // RX, TX
    void setup() {
      
    pinMode(2,OUTPUT);delay(20);
      
    Serial.begin(9600);
     
    // mySerial.begin(9600);
      
    Serial.setTimeout(10) ;
     
    //************************************
         
         
    Serial.print("AT+RST\r\n");
         
    delay(2000);
         
    Serial.print("AT+CWMODE=1\r\n");
         
    delay(200);
         
    Serial.print("AT+CWJAP=\"SMART1\",\"\"\r\n"); // IP = 192.168.4.1
         
    delay(4000);
         
    Serial.print("AT+CIPSTART=\"TCP\",\"192.168.4.1\",4444\r\n"); // port = 4444
         
    delay(200);
    }
    void loop() { 
          if (
    Serial.available()) {
        
    int  stSerial.read() ;
       
    // String  LED = st.substring(0) ; 
       
    Serial.println(st);
          if (
    st==49){digitalWrite(2,HIGH);}
          else if (
    st==50){digitalWrite(2,LOW);}
    }} 
    میشه بگید مشکل این کد نویسی کجاست ؟ و چرا کد قسمت گیرنده داخل esp8266 پروگرم نمیشه ؟ آیا مشکل از SoftwareSerial mySerial(8, 7); هست که بنده استفاده کردم ؟
    ممنون میشم راهنمایی کنید . و کدی که در فرستنده و گیرنده صحیح است رو برام قرار بدید

    #2
    پاسخ : اتصال دو esp8266 به هم

    درود . وقتی شما با آردو ، ماژول رو پروگرام میکنید ، فرم ور اصلی پاک میشه و ماژول به دستورات at پاسخ نمیده . چرا یکی از ماژول ها با میکرو باشه و دیگری بدون میکرو ؟ هر دو رو با اردو پروگرام کنید ، یکی در مود اکسس پوینت و دیگری در مود استیشن ، بعد میتونید ارتباط وایرلس برقرار کنید
    جدیدترین ویرایش توسط Masood Ashoori; ۲۰:۵۵ ۱۳۹۷/۰۱/۳۰.

    دیدگاه


      #3
      پاسخ : اتصال دو esp8266 به هم

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

      دیدگاه


        #4
        پاسخ : اتصال دو esp8266 به هم

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

        دیدگاه


          #5
          پاسخ : اتصال دو esp8266 به هم

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

          دیدگاه


            #6
            پاسخ : اتصال دو esp8266 به هم

            این مثال مستقیم بهم وصل میشن
            This tutorial is about inter communication between 2 esp8266 WiFi modules. I will explain the method and code of inter communication between two esp8266 modules. I was working on a cool embedded project in which a wireless communication is required between two motors placed a part on a small distance, also the status of the motors…


            در این مثال هم با استفاده از مودم واسط ارتباط بهم وصل میشن


            فرقش اینه در حالت اول ، یکی در نقش اکسس پوینت و دیگری در نقش استیشن . اما در حالت دوم هردو استیشن هستند و به یک مودم واسط وصل میشن

            دیدگاه


              #7
              پاسخ : اتصال دو esp8266 به هم

              دمت گرممممممم
              فدایی داری

              دیدگاه

              لطفا صبر کنید...
              X