#1 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-18 22:37:12

г0сть пише:

Дохлые на есп? Тогда что в #13?

Думаю, что дохлые именно на датчике, а не на ESP. К нему я подключал другие датчики (в т.ч. OLED) и они работали. Ещё хочу попробовать подключить к УНО этот датчик, вдруг произойдет чудо smile На завтра уже заказал мультимер, приедет, буду проверять.

#2 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-18 14:51:51

г0сть пише:

Маловероятно что все три датчика дохлые. Брать мультиметр, искать схему этого модуля или даташиты на каждый датчик отдельно и прозванивать цепи, смотреть все-ли правильно кетайцы запаяли.

Но ведь подключение у них общее, что-то бы да и нашло, мне кажется, что сами пины для подключения дохлые.  У меня есть ещё BME, там 1 датчик и он тоже не находится по I2C.

#3 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-18 02:32:44

YK пише:

Ну как 2 последних лекарства
1. попробуй поменять местами SDA <-> SLC
2. Подтянуть RST резистором 1-10 ком на 3.3v. Может он у тебя банально в reset висит.

Привет, прошу прощения, что пропал на 10 дней, подгрузили по работе.
Так вот, SDA < - > SCL пробовал менять изначально, не помогало. Сейчас подключил на 3.3V через 4.7k по RST (вывел в общее питание) - не помогло sad Мой I2C-Scanner, код которого я представил выше, так и не заметил этот дорогостоящий датчик. Что теперь делать не знаю - возврат просить уже поздно, а чинить сам не умею.

#4 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 23:05:09

г0сть пише:

Ну вот - либо что-то неправильно подключено, либо датчик дохлый

В итоге по правильной распиновке мой золотой датчик не подключился sad Подключил OLED, всё нашло по адресу 0x3C, буду пробовать работать сейчас с ним, что-то выведу. Похоже, придется возвращаться/менять/покупать датчик CCS-811.

P.S.: Хочу заметить, что у меня всё же не CCS-811, а CJMCU-1881, иными словами - Модуль датчиков качества воздуха CCS811 + SI7021 + BMP280.

#5 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 16:26:05

Схема пинов ESP8266 / ESP32
Подключал неверно, не знаю, как у автора гайда работало через D0/D1, но вот корректная схема распиновки платы. Буду пробовать подключать так.

#6 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 13:56:05

г0сть пише:

Скорость в мониторе порта правильно выставлена?

Вот тоже решил только что проверить, как оказалось - нет. Исправил, теперь получаю это сообщение:
Hello CSS811
Failed to start sensor! Please check your wiring.

Сканер I2C отдает ответ:
Scanning...
No I2C devices found

#7 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 13:43:43

Заметил странное поведение платы, ранее такого не видел. Вот скетч:

void setup() {
  Serial.begin(9600);
  Serial.println("Hello!");
}

void loop() {
 Serial.println("Hello!");
 delay(1000);
}

Знаете, что вывелось? Ничего neutral  hmm

#8 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 13:40:35

г0сть пише:
MykolaM пише:
г0сть пише:

А пример из библиотеки что говорит?

Дает такой же ответ. sad

В таком случае как выше было сказано проверьте датчик. Возможно у него адрес китайцы поменяли. Запустите i2с-сканер и посмотрите ответ

Использовал для проверки вот такой скетч:

#include <Wire.h>
 
void setup(){
    Wire.begin();
 
    Serial.begin(9600);
    while (!Serial);
    Serial.println("\nI2C Scanner");
} 

void loop(){
    byte error, address;
    int nDevices;
 
    Serial.println("Scanning...");
 
    nDevices = 0;
    for(address = 8; address < 127; address++ ){
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
 
        if (error == 0){
            Serial.print("I2C device found at address 0x");
            if (address<16)
                Serial.print("0");
            Serial.print(address,HEX);
            Serial.println(" !");
 
            nDevices++;
        }
        else if (error==4) {
            Serial.print("Unknow error at address 0x");
            if (address<16)
                Serial.print("0");
            Serial.println(address,HEX);
        } 
    }
    if (nDevices == 0)
        Serial.println("No I2C devices found\n");
    else
        Serial.println("done\n");
 
    delay(5000);
}

Удивительно, но я сейчас не получил сообщение "I2C Scanner", которое находится в void setup().

ССЫЛКА НА СКЕТЧ

#9 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 13:32:41

YK пише:

Ну вначале я бы проверил. подключился ли у тебя датчик или нет
  if(!ccs.begin()){
    Serial.println("Failed to start sensor! Please check your wiring.");
    while(1);
  }

Не получил сообщение "Failed to start sensor! Please check your wiring." в Мониторе Порта. Как я понимаю, всё подключено верно. Я подобную штуку запускал с BME280 и там уже падало сообщение об ошибке "связывания/подключения", пока я не переподключил.

YK пише:

Следующее надо убедиться что нет проблем с питанием.
Датчик подключаеться напрямую к 3.3 соотв использует тот же стабилизатор что и само ядро. Я сталкивался не раз платами  когда его банально не хватало даже запустить Wifi. Ну для начала надо убедиться что у тебя хорошие 5 вольт, а потом уже експерементировать с 3.3. Попробовать отдельно его запитать. не забыв про общую землю.

Да, я использую 3.3 напрямую, WAK отправляю в общий GND. Не знаю, насчет питания самой платы, я подключал её к интернету и передавал данные с BME280, всё работало отлично. Можно было ввести IP: 192.168.0.17 и увидеть данные с датчика.
Что означает "убедиться что у тебя хорошие 5 вольт", как это сделать?

#10 Re: Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 13:19:05

г0сть пише:

А пример из библиотеки что говорит?

Дает такой же ответ. sad

#11 Програмування Arduino » ESP8266 (ESP-12E) - Монитор порта: "rst cause:2, boot mode:(3,6))" » 2020-10-07 00:34:51

MykolaM
відповідей: 20

Всем привет. Обращаюсь к вам с таким вопросом (возможно глупым).
Подключил Adafruit_CCS811 по шине I2C к ESP8266 (NodeMCU v1.0), написал небольшой скетч (см. далее) и, после успешной компиляции и завершения загрузки, получаю вот такое сообщение в мониторе порта:
ets Jan  8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 3584, room 16
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

Вот мой скетч:

#include <Adafruit_CCS811.h>

Adafruit_CCS811 ccs;

void setup() {
  Serial.begin(9600);
  Serial.println("Hello CSS811");
  ccs.begin();
}

void loop() {
  if (ccs.available()) {
    if (!ccs.readData()) {
      Serial.print("CO2: ");
      Serial.print(ccs.geteCO2());
      Serial.print(", TVOC: ");
      Serial.println(ccs.getTVOC());
    } else {
      Serial.println("ERROR!");
      while (1);
    }
  }
  delay(10000);
}

Подключение: GND -> GND; VCC -> 3V3; SDL -> D0; SCL -> D1 (менял местами); WAK -> GND.
Прочитал довольно много статей и обсуждение по поводу этой ошибки, есть ссылка на документацию. Решение пока найти не могу sad
Данная проблема возникает и с другими модулями (BME280, OLED). Прошивал, настраивал Arduino IDE по инструкции в интернете. Работаю с EPS8266, по-сути, впервые.

ССЫЛКА НА ДОКУМЕНТАЦИЮ

UPDATE #1: Я не использую прямое подключение между ESP8266 и моим breadboard, подключаю через мама-папа (мама к контроллеру, папа к плате). Читал, что есть мелкие "браки" для ESP-12E, которые создают глюки при работе через вставку контроллера в плату.

Підвал форуму