#1 2022-05-12 15:30:36

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

esp32 старт приложения

Почему esp32 сразу после загрузки скетча, нажимаю EN и прога работает, на порту что то там отображается.
Но если я просто вытянул питание usb, а потом включил питание usb, то ничего не происходит, и кнопа EN не всегда помогает.
Я хочу что бы подалось питание, и сразу пошла работа.
Что я упустил?

Неактивний

#2 2022-05-12 18:40:15

г0сть
Гість

Re: esp32 старт приложения

Схему в студию. А пока погадаю на хрустальном шаре - задействовали пины которые заганяют есп в режим прошивки.

#3 2022-05-13 07:46:32

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

https://prnt.sc/VNuYrQoD_ybn
https://prnt.sc/6cA4PRu62JkO

Неактивний

#4 2022-05-13 07:47:47

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

#include <WiFi.h>
#include <Adafruit_MCP23X17.h>
#include <SPI.h>
#include <SD.h>
#include "FS.h"

String wifi_ssid;
String wifi_pass;

#define LED_PIN_1 0     // MCP23XXX pin LED is attached to
#define LED_PIN_2 0     // MCP23XXX pin LED is attached to

Adafruit_MCP23X17 mcp1;  // mcp23017 разширение GPIO 
Adafruit_MCP23X17 mcp2;  // mcp23017 разширение GPIO

String readFile(fs::FS &fs, String path){
  String str = "";
    File file = fs.open(path);
    if(!file){
        return "";
    }

    while(file.available()){
        str += (char)file.read();
    }
    
    file.close();
    return str;
}

boolean writeFile(fs::FS &fs, String path, String message){
  boolean flag;
    File file = fs.open(path, FILE_WRITE);
    
    if(!file){
        flag = false;
    }
    
    if(file.print(message)){
        flag = true;
    } else {
        flag = false;
    }
    
    file.close();
    return flag;
}

void setup() {
  Serial.begin(9600);

  SDInit();
  mcpInit();
  wifiConnect();
}

void loop() {
  mcp1.digitalWrite(LED_PIN_1, HIGH);
  delay(1000);
  mcp1.digitalWrite(LED_PIN_1, LOW);
  delay(1000);
  mcp2.digitalWrite(LED_PIN_2, HIGH);
  delay(1000);
  mcp2.digitalWrite(LED_PIN_2, LOW);
  delay(1000);
}

// Инициализация mcp23017 разширение GPIO (цифровых выходов)
void mcpInit() 
{
  mcp1.begin_I2C(0x20);
  mcp2.begin_I2C(0x21);
 
  // configure pin for output
  mcp1.pinMode(LED_PIN_1, OUTPUT);
  mcp2.pinMode(LED_PIN_2, OUTPUT);
}

// Инициализация подключение до wifi с помощью SmartConfig первый раз и записываем на microSD, потом будем считывать от туда  
void wifiConnect()
{
  wifi_ssid = readFile(SD, "/wifi_ssid");
  wifi_pass = readFile(SD, "/wifi_pass");

  if(wifi_ssid == "" or wifi_pass == ""){
    Serial.println("SmartConfig start");
    WiFi.mode(WIFI_AP_STA);
    /* start SmartConfig */
    WiFi.beginSmartConfig();
  
    /* Wait for SmartConfig packet from mobile */
    Serial.println("Waiting for SmartConfig.");
    while (!WiFi.smartConfigDone()) {
      delay(500);
      Serial.print(".");
    }
    Serial.println("");
    Serial.println("SmartConfig done.");
  
    /* Wait for WiFi to connect to AP */
    Serial.println("Waiting for WiFi");
    while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
    }
    Serial.println("WiFi Connected.");
    Serial.print("IP Address: ");
    Serial.println(WiFi.localIP());
    wifi_ssid = WiFi.SSID();
    wifi_pass = WiFi.psk();
    writeFile(SD, "/wifi_ssid", wifi_ssid);
    writeFile(SD, "/wifi_pass", wifi_pass);
  } else {
      Serial.println("vars get in files");
  }

  // Установить соединение с wifi
  const char *ssid = wifi_ssid.c_str();
  const char *pass = wifi_pass.c_str();
  
  WiFi.begin(ssid, pass);

  while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
  }

  Serial.println("WIFI connected!");
}

// Инициализация SD карты
void SDInit()
{
  Serial.print("Initializing SD card...");
  if (!SD.begin(5)) {
    Serial.println("initialization SD card failed!");
    while (1);
  }
  Serial.println("initialization SD card done.");
}

Неактивний

#5 2022-05-13 08:53:35

г0сть
Гість

Re: esp32 старт приложения

Посмотри какой уровень в момент старта на 5 пине

#6 2022-05-13 08:59:39

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

г0сть пише:

Посмотри какой уровень в момент старта на 5 пине

https://prnt.sc/xAyqCnIwAJt6
на этом же, верно?

Неактивний

#7 2022-05-13 09:09:58

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

https://prnt.sc/ewRzFGt4_KbD

Неактивний

#8 2022-05-13 09:17:46

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

imden10 пише:

https://prnt.sc/ewRzFGt4_KbD

вот сегодня первый раз загрузилось норм. Второй, начала выскакивать ота надпись, и перезагружаться постоянно

Неактивний

#9 2022-05-13 09:19:53

г0сть
Гість

Re: esp32 старт приложения

Проблема с питанием

#10 2022-05-13 09:21:27

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

г0сть пише:

Проблема с питанием

в чем именно, как решить?

Неактивний

#11 2022-05-13 09:23:53

г0сть
Гість

Re: esp32 старт приложения

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

#12 2022-05-13 09:32:23

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

если я подам питание 5в на vin и gnd то я же могу подключать usb для отладки, питание же будет браться не с usb?

Неактивний

#13 2022-05-13 09:33:24

г0сть
Гість

Re: esp32 старт приложения

да

#14 2022-05-13 09:35:25

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

Спасибо большое, осталось найти блочок smile

Неактивний

#15 2022-05-13 10:08:21

imden10
Учасник
Зареєстрований: 2022-05-02
Повідомлень: 42

Re: esp32 старт приложения

Я нашел подключил, работает четко, прям налюбоваться не могу

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

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