نمایش نتایج: از 1 به 3 از 3
Like Tree1 لایک
  • 1 Post By Smead

موضوع: مشکل در برنامه دریافت دیتا در ماژول esp82266

  1. #1
    Junior Member
    تاریخ عضویت
    May 2016
    نوشته ها
    7

    مشکل در برنامه دریافت دیتا در ماژول esp82266

    با سلام و وقت بخیر
    یه ماژول وای فای ESP8266 داریم که بصورت اکسس پوینت به میکروکنترلر وصل شده و از طریق پورت سریال قراره اطلاعات دریافت و ارسال کنه. (تا اینجای کار مشکلی نیست.)

    یه ماژول وای فای دیگه هم داریم که اصلا قرار نیست به هیچ میکروکنترلری وصل بشه فقط میخواد یه برنامه توسط نرم افزار آردوینو توش ریخته بشه که این ماژول بطور اتوماتیک به ماژول اولی که در بالا گفتم کانکت میشه (تا اینجای کار هم مشکلی ندارم )

    فقط مشکل من اینه که چطوری در داخل برنامه این ماژول دومی که به زبان آردوینو هستش اطلاعات اولی رو دریافت کنم؟؟ در واقع میخوام بعنوان مثال وقتی عبارت ON رو دریافت کرد پایه مثلا GPIO2 رو یک کنه .
    برنامه رو ضمیمه کردم تا جایی که فقط کانکت میشه به اولی و داخل تابع Loop خالی گذاشتم
    ممنون میشم اگه کسی یاد داره پاسخ بده

    کد:
    #include <ESP8266WiFi.h>
    #include <WiFiUDP.h>
    
    const char* ssid = "ESP8266-01";
    const char* pass = "12345678";    
    
    unsigned int localPort = 12346; 
    WiFiUDP Udp;
    
    void printWifiStatus() {
      IPAddress ip = WiFi.localIP();
      Serial.print("IP Address: ");
      Serial.println(ip);
    }
    
    void setup(){
      pinMode(2,OUTPUT);
      
      Serial.begin(115200);
      WiFi.disconnect();
      Serial.println();
      Serial.println();
      WiFi.begin(ssid,pass);
      WiFi.mode(WIFI_STA);
      int tries=0;
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(">");
        tries++;
        if (tries > 30){
          Serial.println("Not Found WiFi !");
          break;
        }
      }
      Serial.println();
      
      Serial.println("WiFi Connected");
      
      printWifiStatus();
      Udp.begin(localPort);
      
      
    }
    
    void loop(){
    
    
    
        
    }

  2. #2
    Senior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    116
    نقل قول نوشته اصلی توسط esmaeil57 نمایش پست ها
    با سلام و وقت بخیر
    یه ماژول وای فای ESP8266 داریم که بصورت اکسس پوینت به میکروکنترلر وصل شده و از طریق پورت سریال قراره اطلاعات دریافت و ارسال کنه. (تا اینجای کار مشکلی نیست.)

    یه ماژول وای فای دیگه هم داریم که اصلا قرار نیست به هیچ میکروکنترلری وصل بشه فقط میخواد یه برنامه توسط نرم افزار آردوینو توش ریخته بشه که این ماژول بطور اتوماتیک به ماژول اولی که در بالا گفتم کانکت میشه (تا اینجای کار هم مشکلی ندارم )

    فقط مشکل من اینه که چطوری در داخل برنامه این ماژول دومی که به زبان آردوینو هستش اطلاعات اولی رو دریافت کنم؟؟ در واقع میخوام بعنوان مثال وقتی عبارت ON رو دریافت کرد پایه مثلا GPIO2 رو یک کنه .
    برنامه رو ضمیمه کردم تا جایی که فقط کانکت میشه به اولی و داخل تابع Loop خالی گذاشتم
    ممنون میشم اگه کسی یاد داره پاسخ بده

    کد:
    #include <ESP8266WiFi.h>
    #include <WiFiUDP.h>
    
    const char* ssid = "ESP8266-01";
    const char* pass = "12345678";    
    
    unsigned int localPort = 12346; 
    WiFiUDP Udp;
    
    void printWifiStatus() {
      IPAddress ip = WiFi.localIP();
      Serial.print("IP Address: ");
      Serial.println(ip);
    }
    
    void setup(){
      pinMode(2,OUTPUT);
      
      Serial.begin(115200);
      WiFi.disconnect();
      Serial.println();
      Serial.println();
      WiFi.begin(ssid,pass);
      WiFi.mode(WIFI_STA);
      int tries=0;
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(">");
        tries++;
        if (tries > 30){
          Serial.println("Not Found WiFi !");
          break;
        }
      }
      Serial.println();
      
      Serial.println("WiFi Connected");
      
      printWifiStatus();
      Udp.begin(localPort);
      
      
    }
    
    void loop(){
    
    
    
        
    }
    سلام
    ماژول* اولی باید دیتارو داخل یه بسته قرار بده بفرسته به ماژول دومی و ماژول دومی دریافت کنه
    بهتره مثال های ارتباط دو ماژول وای فای رو بررسی کنی
    موفق باشی
    لایک کردن

  3. #3
    Junior Member
    تاریخ عضویت
    Jun 2016
    نوشته ها
    18
    قکر کنم باید این طور بنویسی
    while(!client.available()) delay(1);
    String request = client.readStringUntil('\r');
    if (request="on")
    GPIO2=1;

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO