Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

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?

Çözüldü 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.
Kabul edilen çözüm♥ 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 yazı görüntüleniyor – 1 ile 5 arası (toplam 5)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.

Sohbete katılın

Soru sormak ve yanıtlamak, yararlı gönderileri beğenmek ve sorununuzu çözen yanıtı işaretlemek için oturum açın. Her katkı puan ve seviye kazandırır.

Paylaş