Önceki yazıda ESP8266 modülünü RX-RX ve TX-TX olacak şekilde, Arduino’ya bağlamıştık. Ardından Serial Port üzerinden AT Kodları göndererek, ortamdaki mevcut WiFi ağlarını bulmuştuk.

Buraya kadar her şey yolunda gitti ise, aşağıdaki klasik bir WiFi Ağları Listesinin

Bu kez Serial Ekran‘da gelmesi gelmesi gerekiyor

+CWLAP: (4,”Matrix_2.4Ghz”,-89,”c0:c5:20:20:f6:e9″,6)
+CWLAP: (4,”SUPERONLINE-WiFi_4668″, -89,”00:0c:43:87:62:38″,1)
+CWLAP: (2,”ZyXeL_HGW_X3UNN”,-34,”08:86:3b:8c:24:74″,6)
+CWLAP: (3,”Tilgin-eCcFXGvLZMY”,-32,”08:86:3b:8c:24:75″,6)
+CWLAP: (4,”Tilgin-hZYFzRMGiFgd”,-90,”64:70:02:8e:e8:88″,3)
+CWLAP: (3,”EyeLin”,-77,”e2:ca:94:56:bf:33″,1)


Burada küçük ama önemli bir detaydan bahsetmek lazım. Serial Ekran penceresinin Sağ Alt köşesinde malum BaudRate var bunun değerinin doğru olması lazım. Bizim örneğimizde bu değer 115200

Benzer şekilde hemen solunda Satır/Sonu yorumla kısmının Both NL&CR olması gerekiyor.

// Both NL&CR için referans verebileceğim Türkçe bir kaynak olmadığı için arada bi koşu Hede sözlükte açıklama başlığı yazıp geldim 😉
Atiyi Karanlık Görerek Azmi Bırakmak şirinde ne demiş M. Akif:

Karşında ziyâ yoksa, sağından, ya solundan
Tek bir ışık olsun buluver… Kalma yolundan.
Âlemde ziyâ kalmasa, halk etmelisin, halk!

NL&CR mantığına bir de örnek verelim isterseniz; “Merhaba Dünya” yazıp durduğumuz Dijital Dünya ile Reel Dünya arasındaki bağların nasıl kurulduğunu anlamaya da yardımcı olur.

Biliyoruz ki ne Harddisk‘te, ne RAM‘de ne de taşıdığımız USB Flaşh disklerin içinde, Harfler yok. Haliyle kelime arası boşluklar ve satır başları da yok.
Ama hazırlanan bir ödev ya da belgede bunlar mecburen var. Sadece “Elektrik var, elektrik yok”tan anlayan bir cihazda bunları nasıl yapacağız?

Mors – Lamba – ASCII

Görüş mesafesindeki bir evle haberleşecek olalım. Lambayı Aç-Kapa yaparak mors albesi tadında anlaşabiliriz.

AçKapaAçKapa = A olsun
AçAçKapaAç = B olsun
KapaAçKapaAç = C olsun

gibi.. Yani 1010 = A, 1101 = B, 0101 =C

Şöyle bir sorun var ben 1101’e A derken, başkaları buna F diyebilir. Ayrıca bu listede ilerledikçe fark edeceğiz ki 4 hane bize yetmeyecek. İşte bu yüzden uluslar arası bir standarda gidilmiş ve 8 hane/adet 0-1’e karşılık gelecek karakterler tablosu ortaya çıkmış: ASCII

8 adet 1 ya da 0  = 1 BYTE

Konuşurken hep MegaByte, GigaByte kelimelerinin geçmesi bu yüzünden 😉


Reel bir örnekle, ASCII tablosuna bakarak:

S harfi: 01010011
E harfi: **01000101**
L harfi: 01001100
A harfi: **01000001**
M harfi: 01001101
H harfi: **01001000**
E harfi: 01000101
D harfi: **01000100**
E harfi: 01000101

SELAMHEDE yazabilirim ve hafızada
01010011**01000101**01001100**01000001**01001101**01001000**01000101**01000100**01000101
şeklide saklanabilir.

Peki boşluklar ve satır atlamalar varsa?
SE LAM
HE DE
şeklinde bir yazım için Boşluk için ve de Satır atlama içinde birer 0-1 karşılığı olursa sorun çözülür sanki 😉

Boşluk = 00100000
Satırbaşı = 00001010
SE00100000LAM00001010HE00100000DE

Benzer şekilde Arduino Serial Port’taki 0 ve 1 yorumlamaları için
NL: Yeni satır
CR: Satır başı
demek.

So..

Elimizdeki ESP8266 ile haberleşirken AT kodlarının daha sağlıklı işleyebilmesi için NL&CR kullanıyoruz. Başka projelerde izlenecek olan yola göe sadece NL olan ya da ikisi de olmayan durumlar olabilir.

[devam edecek..]


Görsel