Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Нужна помощь Arduino Mega и ESP8266, самопроизвольная перезагрузка

Тема в разделе "Раздел для начинающих", создана пользователем Alkoval, 5 окт 2018.

Метки:
  1. Alkoval

    Alkoval Новичок

    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте,
    на руках имеется клон arduino mega - магония mega 2560, esp8266. Хочу реализовать обмен данными через mqtt cloud.

    Схема монтажа: Imgur

    Если залить простой скетч с обменом данными между serial port и использовать AT команды, то связка работает нормально. Цепляется к wifi, команды AT отрабатывают.

    Но при загрузке тестового скетча, плата начинает постоянно перезагружаться и отваливаться от com порта.
    Тестировал с разными версиями прошивки ESP:
    • ESP8266_NONOS_SDK 2.0.0
    • ESP8266_NONOS_SDK-2.2.1
    Скриншот настройки ESP в ESP Download Tool Imgur

    Может кто сталкивался с подобным или подскажет на что обратить внимание?

    Тестовый скетч:
    Код (C):
    1. #include "WiFiEsp.h"
    2.  
    3. char ssid[] = "MySSID";            // your network SSID (name)
    4. char pass[] = "MyPass";        // your network password
    5.  
    6. int status = WL_IDLE_STATUS;     // the Wifi radio's status
    7.  
    8. char server[] = "arduino.cc";
    9.  
    10. unsigned long lastConnectionTime = 0;         // last time you connected to the server, in milliseconds
    11. const unsigned long postingInterval = 10000L; // delay between updates, in milliseconds
    12.  
    13. // Initialize the Ethernet client object
    14. WiFiEspClient client;
    15.  
    16. void setup()
    17. {
    18.   // initialize serial for debugging
    19.   Serial.begin(115200);
    20.   // initialize serial for ESP module
    21.   Serial1.begin(115200);
    22.   // initialize ESP module
    23.   WiFi.init(&Serial1);
    24.  
    25.   // check for the presence of the shield
    26.   if (WiFi.status() == WL_NO_SHIELD) {
    27.     Serial.println("WiFi shield not present");
    28.     // don't continue
    29.     while (true);
    30.   }
    31.  
    32.   // attempt to connect to WiFi network
    33.   while ( status != WL_CONNECTED) {
    34.     Serial.print("Attempting to connect to WPA SSID: ");
    35.     Serial.println(ssid);
    36.     // Connect to WPA/WPA2 network
    37.     status = WiFi.begin(ssid, pass);
    38.   }
    39.  
    40.   Serial.println("You're connected to the network");
    41.  
    42.   printWifiStatus();
    43. }
    44.  
    45. void loop()
    46. {
    47.   // if there's incoming data from the net connection send it out the serial port
    48.   // this is for debugging purposes only
    49.   while (client.available()) {
    50.     char c = client.read();
    51.     Serial.write(c);
    52.   }
    53.  
    54.   // if 10 seconds have passed since your last connection,
    55.   // then connect again and send data
    56.   if (millis() - lastConnectionTime > postingInterval) {
    57.     httpRequest();
    58.   }
    59. }
    60.  
    61. // this method makes a HTTP connection to the server
    62. void httpRequest()
    63. {
    64.   Serial.println();
    65.    
    66.   // close any connection before send a new request
    67.   // this will free the socket on the WiFi shield
    68.   client.stop();
    69.  
    70.   // if there's a successful connection
    71.   if (client.connect(server, 80)) {
    72.     Serial.println("Connecting...");
    73.    
    74.     // send the HTTP PUT request
    75.     client.println(F("GET /asciilogo.txt HTTP/1.1"));
    76.     client.println(F("Host: arduino.cc"));
    77.     client.println("Connection: close");
    78.     client.println();
    79.  
    80.     // note the time that the connection was made
    81.     lastConnectionTime = millis();
    82.   }
    83.   else {
    84.     // if you couldn't make a connection
    85.     Serial.println("Connection failed");
    86.   }
    87. }
    88.  
    89.  
    90. void printWifiStatus()
    91. {
    92.   // print the SSID of the network you're attached to
    93.   Serial.print("SSID: ");
    94.   Serial.println(WiFi.SSID());
    95.  
    96.   // print your WiFi shield's IP address
    97.   IPAddress ip = WiFi.localIP();
    98.   Serial.print("IP Address: ");
    99.   Serial.println(ip);
    100.  
    101.   // print the received signal strength
    102.   long rssi = WiFi.RSSI();
    103.   Serial.print("Signal strength (RSSI):");
    104.   Serial.print(rssi);
    105.   Serial.println(" dBm");
    106. }
     

Поделиться этой страницей