Проблема с CH340 NodeMcu V3 Lua WI-FI

shyzza
Offline
Зарегистрирован: 03.03.2017

Доброе время суток, я новичок в ардуино, столкнулся с такой проблемой, при попытке просканировать сети вайфай выдает что-то непонятное, хелоу ворлд пробовал все хорошо и блинк работает, уже неделю гуглю нечево толкогого не нахожу, помогите пожалуйста.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а скорость порта правильно выставили? устройство общается по порту с разными скоростями (система, пользователь)

shyzza
Offline
Зарегистрирован: 03.03.2017

Попробывал все рекамендованные (9600, 57600, 115200) все тоже ...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

shyzza пишет:

Попробывал все рекамендованные (9600, 57600, 115200) все тоже ...

Поставьте скорость 74880 - это скорость для обмена с ПО ядра, что показывает?

И скетч приведите

shyzza
Offline
Зарегистрирован: 03.03.2017

поставил скорость 74880 ничего не изменилось

вот скетч

/*
 *  This sketch demonstrates how to scan WiFi networks. 
 *  The API is almost the same as with the WiFi Shield library, 
 *  the most obvious difference being the different file you need to include:
 */
#include "ESP8266WiFi.h"
 
void setup() {
  Serial.begin(74880);
 
  // Set WiFi to station mode and disconnect from an AP if it was previously connected
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);
 
  Serial.println("Setup done");
}
 
void loop() {
  Serial.println("scan start");
 
  // WiFi.scanNetworks will return the number of networks found
  int n = WiFi.scanNetworks();
  Serial.println("scan done");
  if (n == 0)
    Serial.println("no networks found");
  else
  {
    Serial.print(n);
    Serial.println(" networks found");
    for (int i = 0; i < n; ++i)
    {
      // Print SSID and RSSI for each network found
      Serial.print(i + 1);
      Serial.print(": ");
      Serial.print(WiFi.SSID(i));
      Serial.print(" (");
      Serial.print(WiFi.RSSI(i));
      Serial.print(")");
      Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*");
      delay(10);
    }
  }
  Serial.println("");
 
  // Wait a bit before scanning again
  delay(5000);
}

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Использовать скорость 74880 в скетче нельзя!!!
Модуль использует две скорости для общения по порту, пользовательскую, выставляемую в скетче и системную (74880)
Если мы в МОНИТОРЕ ПОРТА выставляем скорость 74880 то увидим системные сообщения ПО модуля (не скетча).
При переводе модуля в режим записи, там будет сообщение о готовности к прошивке к примеру.

В скетче надо использовать скорости отличные от 74880, заставить модуль работать на скоростях менее 115200 мне не удалось. Какая скорость была в тех скетчах, что работали с вашим модулем?

 

shyzza
Offline
Зарегистрирован: 03.03.2017

В связи с моим маленьким опытом работы с ардуино, я не до конца понял о каких скоростях вы говорите. Не могли бы вы описать где я могу найти этот параметр?

shyzza
Offline
Зарегистрирован: 03.03.2017

Использовал этот скетч все работает 

int ledPin = 0;
byte incomingByte;
 
void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}
 
void loop() {
  if (Serial.available() > 0) {
    incomingByte = Serial.read();
 
    if(incomingByte == '1'){
      digitalWrite(ledPin, HIGH);
 
    }
    else if (incomingByte == '0'){
      digitalWrite(ledPin, LOW); 
    }
    
      Serial.print("I received: ");
      Serial.println(incomingByte, DEC);
  }
  delay(10);
}
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Попробуйте так:

01/*
02 *  This sketch demonstrates how to scan WiFi networks.
03 *  The API is almost the same as with the WiFi Shield library,
04 *  the most obvious difference being the different file you need to include:
05 */
06#include "ESP8266WiFi.h"
07  
08void setup() {
09  Serial.begin(9600);
10  
11  // Set WiFi to station mode and disconnect from an AP if it was previously connected
12  WiFi.mode(WIFI_STA);
13  WiFi.disconnect();
14  delay(100);
15  
16  Serial.println("Setup done");
17}
18  
19void loop() {
20  Serial.println("scan start");
21  
22  // WiFi.scanNetworks will return the number of networks found
23  int n = WiFi.scanNetworks();
24  Serial.println("scan done");
25  if (n == 0)
26    Serial.println("no networks found");
27  else
28  {
29    Serial.print(n);
30    Serial.println(" networks found");
31    for (int i = 0; i < n; ++i)
32    {
33      // Print SSID and RSSI for each network found
34      Serial.print(i + 1);
35      Serial.print(": ");
36      Serial.print(WiFi.SSID(i));
37      Serial.print(" (");
38      Serial.print(WiFi.RSSI(i));
39      Serial.print(")");
40      Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*");
41      delay(10);
42    }
43  }
44  Serial.println("");
45  
46  // Wait a bit before scanning again
47  delay(5000);
48}

 

shyzza
Offline
Зарегистрирован: 03.03.2017

Все работает, СПАСИБО !!!

Я понял в чём была ошибка, простите криворукого, вроде бы раньше ставил 9600 и не помогало, еще раз спасибо)