Uno’dan SoftwareSerial ile ESP-01’e AT komutu gönderiyorum, cevaplar bozuk karakter
Merhaba, dönem projesi için Uno + ESP-01 (AT firmware yüklü) ile sınıfın sıcaklığını Hermetry’e göndermeye çalışıyorum. ESP’yi Uno’nun 2 ve 3 numaralı pinlerine SoftwareSerial ile bağladım, baud 115200. ESP-01’i Uno’nun 3.3V pininden besliyorum.
AT yazınca bazen düzgün OK geliyor ama çoğu zaman şöyle şeyler:
AT
A�T
�K
AT+CWJAP="lab","..."
WIFI DISCONNECT
busy p...
Wi-Fi’ye bir bağlanıyor bir kopuyor. Sonunda HTTP POST ile Hermetry’e JSON göndermek istiyorum. Sorun baud’da mı, güçte mi, yoksa ESP mi bozuk?
Ben yazılımcı değilim ama elektrikçi gözüyle söyleyeyim, Uno’nun 3.3V pini o modülü taşımaz gibi geliyor bana.
115200 SoftwareSerial’de güvenilir çalışmaz. Uno 16 MHz’de 57600 bile sınırda, okumada karakter kaçırır.
ama ESP 115200’de açılıyor, baud’u nasıl düşüreceğim ki?
İkisi de doğru, ikisini birden düzeltmen lazım.
Baud: ESP’ye bir kez 115200’den kalıcı baud değiştirme komutu gönder. SoftwareSerial 115200’de yazarken genelde sorun çıkarmıyor, okurken bozuyor, o yüzden komut gider. Birkaç deneme gerekebilir:
mySerial.begin(115200);
mySerial.println("AT+UART_DEF=9600,8,1,0,0");
delay(200);
mySerial.begin(9600);
mySerial.println("AT"); // artık temiz OK gelmeli
Güç: Uno’nun 3.3V pini 50 mA civarı veriyor, ESP-01 gönderirken birkaç yüz mA çekiyor. “WIFI DISCONNECT” ve “busy p…” tam bunun belirtisi. 5V’tan ayrı bir AMS1117-3.3 ile besle, ESP’nin dibine 100 µF + 100 nF koy. Uno TX → ESP RX hattına da gerilim bölücü (1k/2k), ESP 3.3V seviyesinde.
Hermetry kısmı: cihaz API’si HTTPS bekliyor. AT firmware’inde SSL desteği sürüme göre değişiyor ve ESP-01’in belleğinde zorlanıyor. Benim tavsiyem Uno’yu tamamen çıkarmak: ESP-01’e Arduino core ile kendi sketch’ini yükle, sensörü doğrudan ona bağla, WiFiClientSecure ile POST at.
Katılıyorum. TLS olmadan gönderirsen access token düz metin gider, Hermetry’de düz HTTP ancak kurulum sunuyorsa ve profil izin verirse çalışıyor zaten. ESP’ye doğrudan yazmak daha az dert.
UART_DEF ile 9600 yaptım, bozuk karakterler bitti. AMS1117 ekleyince WIFI DISCONNECT de kesildi. Sonra Hakan Bey’in dediği gibi Uno’yu çıkardım, ESP-01’e DS18B20 bağlayıp doğrudan HTTPS ile gönderiyorum. Telemetry sekmesinde değerler 30 saniyede bir geliyor. Teşekkürler 🙏
ts göndermiyorsan Hermetry geliş zamanını yazıyor, ESP’de NTP yoksa öyle bırak, uydurma zaman damgası koyma.
- 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.

