Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

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?

Gelöst 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.
Akzeptierte Lösung♥ 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
Ansicht von 5 Beiträgen – 1 bis 5 (von insgesamt 5)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen