Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

NodeMCU’daki FLASH butonunu loop() içinde ‘Wi-Fi’ı sıfırla’ tuşu olarak kullanabilir miyim?

NodeMCU’daki FLASH butonunu loop() içinde ‘Wi-Fi’ı sıfırla’ tuşu olarak kullanabilir miyim?

Résolu 4 4

Binalarda sayaç okuyan küçük NodeMCU (ESP8266) kutularımız var, Hermetry’ye MQTT ile gidiyorlar, Wi-Fi ayarını WiFiManager portalından alıyorlar. Her cihazın token’ı ilk kurulumda EEPROM’a yazılıyor.

Sorun şu: bina yönetimi modemi değiştirince cihaz eski ağı arıyor, portal da açılmıyor çünkü kayıtlı ağ var. Şimdiye kadar kutuyu söküp USB ile yeniden yüklüyorduk. Kartın üstündeki FLASH butonunu « 5 saniye basılı tut, Wi-Fi ayarlarını sil, portalı aç » diye kullanmak istiyorum. Ek buton koymak için kutuda yer yok. Bu buton loop() içinde normal giriş gibi okunabilir mi, bir zararı olur mu?

♥ 0

GPIO0’a dokunmayın derim, o boot pini. Yanlışlıkla flash moduna girer.

♥ 2

Benim kartta butonun yanında D3 yazıyor, aynı pin mi?

♥ 0

Gizem evet, D3 = GPIO0. Furkan’ın dediği sadece reset anı için geçerli: güç verilirken ya da reset sırasında GPIO0 LOW ise kart flash moduna giriyor. Program çalışmaya başladıktan sonra normal bir giriş, kartta zaten pull-up var, buton GND’ye çekiyor. Bizim sahadaki cihazlarda tam olarak bunu yapıyoruz.

const int BTN = 0;   // D3 / FLASH
unsigned long downAt = 0;

void setup() {
  pinMode(BTN, INPUT_PULLUP);
  // ...
}

void loop() {
  if (digitalRead(BTN) == LOW) {
    if (!downAt) downAt = millis();
    if (millis() - downAt > 5000) {
      WiFiManager wm;
      wm.resetSettings();          // sadece Wi-Fi bilgileri silinir
      ESP.restart();               // açılışta portal kendiliğinden açılır
    }
  } else downAt = 0;
  mqtt.loop();
}

Dikkat edilecek iki şey var. Token’ı EEPROM’da ayrı tut ve bu işlemde silme; cihaz Hermetry’de aynı cihaz olarak kalsın, yeni ağa geçince aynı credential’la bağlansın. İkincisi, butona basılıyken elektrik gidip gelirse kart flash moduna açılır, birkaç saniye sonra tekrar reset atmak yeterli. Teknisyene « fişi çekip takarken butona basma » notu bırakın.

Sahadan selamlar.
Solution acceptée♥ 3

Denedik, sorunsuz. Bir binada modem dün değişti, teknisyen 5 saniye bastı, portaldan yeni ağı girdi, cihaz aynı isimle Hermetry’de tekrar çevrimiçi oldu. Sökmekten kurtulduk.

♥ 0
5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.

Rejoignez la discussion

Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

Partager