Сброс мастера NodeMCU с ведомого устройства Arduino

Я разработал PWS (персональную метеостанцию), которая будет размещена в труднодоступном месте. В случае сбоя ведущего и отсутствия запросов от ведомого в течение определенного времени (протокол поддержания активности), можно ли сбросить ведущее устройство с ведомого, подав питание на цифровой контакт?

Обратите внимание, я импровизировал схему понижения напряжения, чтобы на выходе Arduino Nano D7 (или на любом другом цифровом выводе) напряжение 5 В можно было понизить до 3,3 В.

, 👍0

Обсуждение

для меня это не сработало для Wemos D1 mini. с переключателем уровней все заработало. Я не знаю почему. но у вас также должен быть переключатель уровня для esp8266 RX, @Juraj

хочешь уточнить ответ? Спасибо @Juraj, @tony gil

Я планирую эксперименты с проводкой esp-01S в эти выходные, и сброс esp8266 с Arduino — одна из целей., @Juraj

«RST» (контакт сброса) должен работать, попробуйте без другого устройства, чтобы увидеть, действительно ли он сбрасывается., @Paul

@Юрай да чувак! подскажите как дела, пожалуйста! Вы хотите, чтобы я разместил где-нибудь эту странную диаграмму как fzz?, @tony gil


2 ответа


Лучший ответ:

2

Нет необходимости в делителе напряжения или преобразовании уровня на выводе сброса esp8266. Esp8266 имеет внутренний подтягивающий контакт сброса. Для сброса esp8266 контакт сброса должен быть подключен к земле на очень короткое время.

Чтобы перевести контакт сброса в НИЗКИЙ контакт с контактом другого MCU, мы делаем:

void resetEsp() {
  pinMode(ESP_RESET_PIN, OUTPUT);
  delay(1);
  pinMode(ESP_RESET_PIN, INPUT);
}

ESP_RESET_PIN — это контакт, подключенный к контакту сброса esp8266. Он не настраивается в setup() и никогда не устанавливается HIGH (мы не хотим отправлять 5 В на esp8266). Установка ESP_RESET_PIN на OUTPUT соединяет его с землей, установка обратно на INPUT возвращает управление линией внутреннему подтягивающему контакту сброса esp8266.

,

не уверен, что понимаю проводку. Означает ли это, что мой цифровой выход Arduino (MCU) подключен непосредственно к выводу RST NodeMCU? Если нет, не могли бы вы опубликовать диаграмму Fritzing? UPVOTED ожидает уточнения для возможного ACCEPT AS CORRECT ANSWER., @tony gil

Я отправляю Fritzing в качестве ответа, пожалуйста, прокомментируйте, правильно это или неправильно. Голосуйте (за или против), если хотите., @tony gil

да прямое подключение, потому что со стороны Nano никогда не бывает 5 В. он тянет только сброс LOW, @Juraj

ПРИНЯТО, спасибо!!, @tony gil


0

Согласно подтверждению Юрая, это будет правильная проводка для его ответа:

,

смысл сброса с другого MCU не в проводке, а в коде., @Juraj

так что моя исходная схема правильная, с делителем напряжения?, @tony gil

Я удалил свои комментарии о преобразовании уровней в I2C, следуя объяснению Маженко здесь: https://arduinoprosto.ru/q/67461/arduino-slave-with-2-masters-sharing-the-same-i2c-bus/67462? noredirect=1#comment145475_67462, @Juraj

как я пишу в ответе, вам не нужен делитель напряжения при сбросе, потому что ему нечего делить. никогда не бывает 5 В, @Juraj

то есть эта проводка подойдет?, @tony gil

да. конечно, существует риск того, что какой-то другой непреднамеренно загруженный в Nano скетч установит контакт как выходной высокий уровень., @Juraj