نمایش نتایج: از 1 به 10 از 116
Like Tree54 لایک

موضوع: ESP8266 WiFi-serial interface

Threaded View

  1. #19
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    41
    سلام دوستان
    من یه مشکلی با ماژول nodemcu دارم و اون اینکه یک آرایه کاراکتر رو که حاوی اطلاعات کد شده سنسورها هست از طریق وای فای تحت پروتکل upd انتقال میدم به ماژول گیرنده ولی از اونجاییکه تعداد پایه های ورودی و خروجی کمه مجبورم از یه اردوینو دیگه استفاده کنم که هم یک سنسور I2c دیگه رو بتونم اضافه کنم هم اینکه مثلا 10 تا رله رو کنترل کنم (به شکل مجزا در سناریوهای مختلف). ولی وقتی همون آرایه که به ماژول اومده رو از طریق ارتباط سریال میخوام بفرستم فقط یکبار از روی پورت میخونه و دفعات بعدی همون ارایه اولی رو نشون میده. کد سمت گیرنده اینه:
    int count = 0;

    void setup() {
    Serial.begin(115200);
    Serial1.begin(115200);
    }

    void loop() {
    char data[7];
    while(!Serial1.available())
    {
    delay(100);
    }
    for( count = 0; count <= 6; count++){
    char character = Serial1.read();
    data[count] = character;
    count++;
    }
    Serial1.flush();
    Serial.println(data);
    delay(10000);


    }

    و کد سمت فرستنده هم اینه :
    #include <ESP8266WiFi.h>
    #include <WiFiUdp.h>

    const char* ssid = "***";
    const char* password = **********";

    WiFiUDP Udp;

    unsigned int localUdpPort = 2301; // local port to listen on
    char replyPacekt[] = "Aknowleged"; // a reply string to send back

    void setup()
    {
    Serial.begin(115200);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED)
    {
    delay(500);
    }

    Udp.begin(localUdpPort);
    }


    void loop()
    {
    int packetSize = Udp.parsePacket();
    if (packetSize)
    {
    char incomingPacket[7]; // buffer for incoming packets
    int len = Udp.read(incomingPacket, 7);
    Serial.write( incomingPacket);
    // send back a reply, to the IP address and port we got the packet from
    Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
    Udp.write(replyPacekt);
    Udp.endPacket();
    delay(10000);
    Serial.flush();
    }
    }
    اشتباهی دارم که چند روزه پیداش نمیکنم.
    در ضمن سعی کردم از این ماژول اربتاط I2C یا SPI بگیرم ولی جواب نمیده. چرا؟ از هردوگروهپایه ها هم سعی کردم تست بگیرم. در ضمن پایه ها رو ضربدری اتصال دادم گراند مشترک هم وصله و لول شیفتر منطقی هم سر راهشون گذاشتم.
    نکته بعدی اینکه آیا ارتباط سریال چه سخت افزاری چه نرم افزاری برای مدت طولانی میتونه در حال اجرا باشه؟ اگر مشکل ایجاد میکنه لطف کنید راهنمایی کنید تز چه راهی ارتباز رو برقرار کنم.ممنون
    ویرایش توسط hamed82 : 02-14-2017 در ساعت 06:33 AM

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

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

SEO by vBSEO