WiFi ile Tost Makinası Çalıştırma #6

#1. yazıda, Bulunduğumuz mekandaki WiFi ağlarını taramıştık.
#2. yazıda, Serial haberleşme ekranındaki NL&CR yorumuna bakmıştık.
#3. yazıda, Şifremizi girerek kendi WiFi ağımıza bağlanmış ve ESP’nin IP adresini öğrenmiştik.
#4.yazıda, Elle yapılan işlemleri, Kodla yapmış ve ESP’yi sunucu olarak hazırlamıştık.
#5.yazıda, Loop fonksiyonuna değinmiş, ESP-sunucu’da gösterilecek olan Yönetim sayfamızı hazırlamıştık.


AT+CIPSEND komutu ile göndermiş olduğumuz dataya (html kodlarına) baktığımızda küçük bir nüans dikkatimizi çekmiş olmalı:

Klasik bir link kodu.
Ve butonuna tıkladığımızda, adres satırına  ?pin=on ilave etmekten başka da bir şey yapmıyor. Fakat biz, ilave edilen kelimeleri takip edersek, düğmesine basıldığını anlayabiliriz 😉

Hızlıca düşündüğümüz üzere bir tane de KAPAT butonu yaparsak ve bu buton adres satırına farklı bir şey yazdırırsa( örn: ?pin=off ), bu sefer KAPAT butonuna basılmış olduğunu anlayabiliriz.

Bi dakika.. 

Evet. ?pin=on yazdırmak yerine,
?pin=TostMakinasiON, ?pin=KlimaOn, ?pin=KombiON .. ..
yazdırırsak (ve elbetteki bağlantılarını ve kodlarını ayarlarsak) canımızın çektiği tüm cihazları WiFi‘dan kontrol edebiliriz.

Ok!
Madem öyle adres satırında ne yazıyor bunu takip etme işini yapalım. Basıldığında haberimiz olması için sürekli adres satırını kontrol etmemiz lazım. Ve önceki yazıdan bildiğimiz üzere biz istesek de istemesek de elektrik olduğu müddetçe devreler haliyle Arduino çalışıyordu. Yani loop() fonksiyonumuz tam da bu iş için biçilmiş kaftan 😉

Yapmamız gereken, Sunucu/Html kodlarını gönderdikten sonra, adres satırından (GET) gelecek değişikleri takip etmek.

Bunun için en uygun şey; CIPSEND’den sonra, ama loop() { ‘un içinde olacak bir yerde ac_kapa() fonksiyonu olabilir 😉  }

Loop’u kapatmadan önce bir iki küçük şey daha yapmamız lazım ama şimdilik yazılı akış sırasına değil, programın akış sırana bakalım.

Fonksiyon isminin başındaki void, bu fonksiyon bir şeyler yapacak ama bir yanıt döndürmeyecek demek. Dikkat edersek setup ve loop fonksiyonları da bu şekilde bir değer döndürmeyecek fonksiyonlar. Burada bazı arkadaşların kafasının karıştığını gözlemlediğim için bir benzetme yapayım.

Liseden hatırladığımız f(x) fonsiyonu bir fabrika olarak düşünelim. Plastik ham madde fabrikaya girsin, tabla kaysın, bıçaklar ayak tabını şeklinde kesim yapsın, yan kenarlar eklensin, dikip yapılsın.. sonrada taban ölçüsü alınıp “36” şeklinde bir rapor sunulsun.

Elimizdeki fonksiyon bir sürü şeyler yapıp sonrasında bize bir rapor sunuyorsa, Değer çıktısı/dönüşü olan fonksiyonlar diyoruz.

Yukarıdaki fonksiyonumuz bir değer döndürecek olsaydı, dönecek olan verinin tipini yazmalıydık. Örneğin:
int topla(x){ sonuc = x+3; return sonuc; }
byte sensor () { if(isik_degeri>100){ return 1; }  }
burada bi işlemler yapılacak sonuc ve ya 1 gibi bir dönüş yapılacak demek.

“Bir şeyler yapılacak” ama rapor/çıktı dönüşü olmayacaksa int/byte/bool vb. verip tipleri yerine void kullanıyoruz. Örn:

void biseyYap() { digitalWrite(8, HIGH); // 8. pinin voltajını arttır }

Esp8266 ile Tost Makinanızı Wifi’dan Nasıl Kontrol Edebilirsiniz? #5

Birinci yazıda, Bağlanılabilecek ağların listesini almıştık.
İkinci yazıda, Serial Ekran’da satır sonu yorumlarına bakmıştık.
Üçüncü yazıda, Kendi WiFi ağımıza katılmış ve ESP’ye ait IP adresini öğrenmiştik.
Dördüncü yazıda, Daha önce manuel yaptığımız işlemleri, Kodlara yaptırmış ve ESP’yi server moduna hazırlamıştık.


Serial.begin ve CWJAP gibi bir defa çalışması gerekli aynı zamanda yeterli olan kodlara setup() fonksiyonu içinde yer vermiştik.

Şimdi, herhangi bir basit elektrikli cihazdan gelişmiş bir elektronik cihaza, programların port dinleme mantığından dillerin _main_ fonksiyonlarına kadar pek şey etkileyen şeye sıra geldi: loop()

Günlük hayatta atıyorum tv kumandasının ses açma düğmesine basıp geçiyoruz. Oysa o anda arka planda çokça olay gerçekleşiyor. Bu işlerle uğraşmaya başladığımdan bu yana fark ediyorum ki, evdeki kumandada yazılımcının hatası var. Sebebinin loop() fonksiyonunu tam içselleştirememesi olması diye düşünüyorum.

Loop bilindiği üzere döngü demek. Arduino gibi cihazlarda loop şu demek:

While (cihazda elektrik varsa) {sonsuza kadar dönüp dur}

Burayı iyi kavramak gerekiyor. SÜREKLİ bir döngünün içindeyiz. “Şu olursa, şunu yap” dediğimizde iş BİTMİYOR. Başa dönüp, “Şu olursa, şunu yap” işlemini yeniden yapıyor. Kod yazarken buna dikkat etmek işlerin daha sağlıklı ilerlemesini sağlayacaktır.


Yukarıdaki mantıktan hareketle, yapılacak işlemleri belli bir koşula bağlayalım.

Serial’den iletişim yapabiliyor muyuz.

Güzel. Ama kartımızda arıza yoksa buradan hep Evet yanıtı gelecek. Bu yüzen hem koşulla sınırlandıralım hem de ESP’den gelen yanıt içinde Server’lığa hazır mı bakalım.

Buradan Evet gelmesi heyecanlı zira, Uzaktaki cihazın yönetim ekranını yapıp sunacağız demek.

HTML’e vakıf olanlar için şekerleme tadında olan, basit bir sayfa hazırlıyoruz.

Evet, hayli ilkel fakat işlevsel 😉

Kodlarımız şöyle:

<h3>TOST MAKİNASI KONTROL </h3>
<br><a href=\” ?pin=on\”><button type=’button’>AC</button></a>
<br>
<br><a href=\” ?pin=off\”><button type=’button’>KAPAT</button></a>

 

ESP’nin data Transferi olarak bunları sunabilmesi için bir değişkene atayıp, AT+CIPSEND ile gönderim yapmasını sağlıyoruz.

Dikkat edilirse aslında asıl komutumuz AT+CIPSEND
Burada diyoruz ki Sana şu kadar bilgi göndereceğim. //manuel olarak yazmak yerine length() ile ölçüyoruz.
Ardından da kast ettiğimiz bilgiyi gönderiyoruz.

Böylece, WiFi ağında, ESP’nin IP adresine girdiğimizde, hazırlamış olduğumuz Html Yönetim sayfasını göreceğiz.

 


forum.the-big-bang-theory.com

Esp8266 ile Tost Makinanızı Wifi’dan Nasıl Kontrol Edebilirsiniz? #4

İlk kısımda, AT kodları kullanarak ESP ile konuşmuş ve WiFi ağlarını listeleme işlemini yapmıştık.
İkinci kısımda, Serial ekranın baudrate hızı ve Both NL&CR opsiyonuna değişmiştik.
Üçüncü kısımda, Ağ listesinden kendi WiFi ağımıza bağlanmış ve ESP’nin IP adresini almıştık.


Bir başlama modu olarak, ESP8266’nın biraz(dan fazla) nazlı bir modül olduğunu söylemek gerek. Ayrıca piyasada klonun da klonu ürünler olduğu için naz oranı biraz daha artıyor.

Bununla birlikte, kendi ağırlığının kat kat fazlasını taşıyabilen canlılar gibi, cüssesine göre hayli afili işler yapabiliyor. Ki başlı başına arduino gibi bir kart aslında. Ama daha çok wi-fi, dolayısıyla iletişim üzerine yoğunlaşmış. Böyle olunca yazılım tarafı da zengin demek. Fakat bu zenginlik insanı boğabiliyor. Bu yüzden robotistan kaynaklı yayıldığını düşündüğüm kodlar üzerinden gideceğim.

Geçen sefer AT işlemlerini manuel olarak yapmıştık. Artık bunları kodlara yaptıracağız.

Öncelikle bağlanmak istediğimiz WiFi ağının adını ve şifresini tanımlıyoruz.

Cihaz açılırken 1 defa çalışmasını istediğimiz durumlar için kullandığımız setup() fonksiyonumuzu başlatalım

bunun içindeyken Serial haberleşmeyi başlatmanın yanında, ilgili pinlerin INPUT ya da OUTPUT mu olduğunu belirtelim.

Dikkat  ederseniz daha önce dikkat çektiğimiz 115200’ü burada kullanıyoruz. Buradaki değer ve seri ekran penceresindeki değer aynı olmazsa boşluk ya da anlamasız şeyler görüntülenecektir.

Haberleşme gerçekleşiyor mu diye kontrol ediyoruz, olduysa ESP’yi STA(staion)/İstasyon moduna alıyoruz.

=2 olursa Access Point, =3 olursa ikisi birden aktif olsun demek.

Ve yukarıda #define ile tanımladığımız bilgileri kullanarak WiFi ağına bağlanıyoruz. Daha metin olmak için 6 saniye bekliyoruz.

Ağ bağlantımız başarılı olduysa Modem ya da modem niyetine kullandığımız telefon, ESP de ağa dahil olduğu için ona da bir IP adresi verecek.

Hatırlasanız AT+CIFSR komutu ile bu IP’yi almış ve not etmiştik.

ESP’nin bu IP üzerinden bir web sayfası tadında ulaşabilir olması ve Server gibi hizmet verebilmesi için yapmamız gereken şu:

Mux: Multi/çoklu bağlantıya izin verecek şekilde 80. porttan tost siparişleri beklemeye başlanmıştır efenim 😉

Esp8266 ile Tost Makinanızı Wifi’dan Nasıl Kontrol Edebilirsiniz? #3

İlk kısımda, Arduino ile ESP haberleşmesini ve WiFi ağlarını listeleme işlemini yapmıştık.
İkinci kısımda ise Serial Port ekranında kullanılan Both NL&CR opsiyonundan bahsetmiştik.


Kaldığımız yerden devam edelim.

Serial Ekran üzerinden ESP’ye AT komutlarını sağlıklı göndermek için NL&CR‘ye ilaveten Baud değerimiz 115200 olmalı. (Şu an konumuz değil ama istenirse 9600 gibi farklı baud’lara ayarlanabilir)

Sonraki adıma geçmeden önce, AT+CWLAP komutuna karşılık olarak gelen yanıta bir göz atalım:

+CWLAP:(4,"MatrixLLC",-89,"c0:c5:20:20:f6:e9",6)
+CWLAP:(3,"EyeLin",-77,"e2:ca:94:56:bf:33",1)

Buradaki kalıp şöyle: +CWLAP: <ecn>,<ssid>,<rssi>,<mac>[,<mode>]

  • ecn: WiFi veri şifreleme türü.
    0 → Şifresiz, 1 → WEP, 2 →WPA_PSK, 3 → WPA2_PSK, 4 → WPA_WPA2_PSK
  • ssid: Ağın Adı (değişiklik yapmadıysanız AirTies_2648_46 gibi modem kimliği de olabilir)
  • rssi: Sinyal yoğunluğu
  • Modemin Mac Adresi (erişim noktası telefon ise, telefonun adresi)
  • mode: Erişim türü.
    0 → Manuel, 1 → Otomatik


WiFi ağımıza bağlanalım.

Hangi ağa bağlanacağımızı ve şifreyi girmemiz gerekiyor.  Yine serial ekrandan:

AT+CWJAP=”MatrixLLC”,”Welcome~To~RealWorld~6″

gönderdiğimizde, bağlanma gerçekleşirse OK mesajı dönecek. YEY!

(Fazla sayıda ağ ile çalışıyorsanız ve bir şekilde o anda hangi ağda olduğunuzu kontrol etmeniz gerekiyorsa AT+CWJAP? komutunu kullanabilirsiniz. Karşılık olarak MatrixLCC benzeri ağ adınız dönecektir: +CWJAP=”MatrixLLC”)

 


ESP Modülümüzün IP Adresi

Bir ağa bağlanmak demek aynı zamanda bir IP adresi almak demek. ESP modülümüz de buraya bağlandığına göre ona atanmış olan IP adresini görmek için AT+CIFSR komutunu göndermemiz yeterli.

192.168.1.80 adresini değiştirip, elle kendi istediğiniz bir Yerel IP girmek isterseniz  AT+CIPSTA=”192.168.1.108″ komutunu kullanabilirsiniz.

Böylece nasıl bi ofisteki bilgisayarlar birbirini görüyorsa, ESP de ofisteki cihazlardan birisi konumuna gelmiş oldu 😉

İşin çok daha güzeli, ofisteki programcı arkadaşın bilgisayarına bağlandığımızda, makinasını sunucu olarak ayarladığı için hazırlamış olduğu web sitesini onun bilgisayarından görebildiğimiz gibi, kelimenin tam anlamıyla parmak kadar ESP de sunucu görevi görebiliyor!


ESP’nin IP adresini bir yere not edelim ve Transmitter/Receiver : Verici/Alıcı manalarına gelen RX-TX pinlerindeki bağlantıların yerini değiştirelim.

Bağlantılar şöyle olmalı:
ESP RX → Arduino TX
ESP TX → Arduino RX

Hazır pin bağlantılarını yaparken, Led, Röle, Motor, Isı/Işık sensörü, Buzzer.. gibi kullanmak istediğiniz parçalar varsa onların kablolarını da takıverin. Çünkü WiFi’dan bunları (bağlı oldukları pinlerini) yöneteceğiz 😉

[devam edecek]


görsel 1, görsel 2 ve ileri okuma

Esp8266 ile Tost Makinanızı Wifi’dan Nasıl Kontrol Edebilirsiniz? #2

Ö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

Bazı sonsuzluklar diğerlerinden daha büyüktür

[Spoiler içerir]

Bu yaşta gençlere tahammülü zor çok şey yüklenmiştir. Akranları matematik ödevini yetiştirememiş olmanın stresini yaşarken onlar gözlerini, ayaklarını, nefeslerini kaybetmenin kederini/kaderini yaşamaktadır.

Agustus‘un şansına çok sık oynamak zorunda olduğu rus ruletinde bu kez kurşun çıkmamış, hastaneden taburcu olmuştur. Ama son çektirdiği tomografi, ambulans, yoğun bakım.. her biri Agustus’un neşesinden bir şeyler alıp gitmiştir. Hayata iz bırakma isteğindeki Agustus’un tutunabileceği tek şey vardır; Kısa ömürleri boyunca sevdiklerinin onu hatırlaması.

O ana kadar kendi neşesizliğinin, etrafı da neşesiz kıldığını fark etmeyen Agustus, Hazel’in sözleri üzerine kendine gelir.

Ve Hazel, şayet insanları idrak edebilirse; arkadaşlar, eşler, aileler, iş dünyası ve dahi devlet arasındaki tartışmaları bitirecek, basit ama herkesin hayat mottosu yapması gereken bir şey söyler: Elindekilerle mutlu ol!abilirsin.


Agustus, Hazel’i kendi cenaze törenine davet eder. Hazel evden çıkarken “yemeğini yemeden çıkma” meselesi büyür. “Sağlığın ne önemi var ki zaten ölüyorum”, “Sizin de üzerine titrediğiniz kimse olmayacak, anne olamayacaksın” meselesi haline gelir.

// Burada anlıyoruz ki Hazel kendi dertleri kadar, kendinden sonra babası ve annesinin yaşayacakları hüznün için de dertlenmektedir.


Çoğumuz çokça düşünmesek de ölüme nefes komşuluğunda yaşayanların bolca düşündüğü şeylerden birisi: Arkadamda kalanlar ne yapacak? Ne zaman tekrar mutlu olacaklar, ne kadar ağlayacaklar, ne kadar yasta kalacaklar, cenazemde ne kadar kahrolacaklar..

Agustus, bu düşüncelerin bir tık daha ötesine geçmiş kendi cenaze konuşmaların şahit olmak istemiştir.

Hayalet olarak katılamazsa diye garantiye almak istemiştir.
İlk konuşmayı Isaac yapar; Gelecekte bilim adamlarının ona robot gözler getirdiğinde, bunu kabul etmeyeceğini söyleyecektir. Zira Agustus Waters’ın olmadığı bir dünyayı görmek istemez. Tabi bu afili sözlerin ardından robot gözleri kabul edeceğini söyler..

Konuşma sırası Hazel’e gelir. Kısa bir girişin ardından şöyle söyler:
0 ile 1 arasında sonsuz sayı vardır: 0.1, 0.2, 0.112 .. ..
Elbette 1 ile 2 arasında da sonsuz sayı vardır..
Önceden sevdikleri bir yazar öğretmiştir. Bazı sonsuzluklar diğerlerinden daha büyüktür.

Hazel, kendi küçük sonsuzlukları için te..


Görsel, Film görselleri The Fault in Our Stars

Dilek Fabrikası

[Spoiler içerir]

Gençlerin mutluluğu bir süre devam eder.

Bununla birlikte hatırlarsak, yazar ve yönetmen en başta, bizi uyarmıştı.

Biraz önce izlediğimiz mutluluk sahneleri akarken, -o zaman henüz adını bilmediğimiz- Hazel şöyle diyordu:
“Bir sorunun, bir özür ve bir Peter Gabriel şarkısıyla çözülebileceği evrenler.. inanın bana ben de herkes gibi o versiyonu seviyorum ama bu gerçek dünya değil.

Gerçek dünya bu. Üzgünüm.”

 

 

Efsane(?) yazarları ile görüşme öncesi, heyecan dolu atmosferi bozmamak için söylememiştir ancak tümör Agustus’un göğsünü, karaciğerini, tüm bedenini sarmıştır.

Kısa ama sonsuzluk kadar uzun bir sessizlik olur.

Gökyüzünü delecek bir çığlığın sessizliğidir bu. Lügatın tükendiği, seslerin solduğu, rüzgardan başka kimsenin konuşmadığı sessizlik..

Kabullenmekten başka çaresinin olmadığını, kabullenmekte zorlanan Hazel;
Haksızlık!” der.
Gözyaşları yanağından süzülürken. Derda ki gözyaşları, nefes almasını sağlayan oksijen hortumlarına takılır. Ağlarken bile haksızlık vardır.

Görünen o ki; Dünya, ne bir dilek ağacı ne de dilekleri gerçekleştiren bir fabrika değildir.



Görkemlerine eş sukutlarıyla süzülen bulutlara, slow şarkıların eşlik ettiği, muhteşem olmayan dönüşleri sonrası, Hazel, Agustus, Isaac üçlüsü toplanır. Bu toplantının öncekilerden bir farkı vardır: Isaac artık gözlerini kaybetmiştir. Ve Agustus, Hazel’den kendi cenazesi için bir konuşma rica eder. Toplaşma, Isaac’ı görmezden gelen Monica’ya bir süpriz yapma kararıyla biter.

“Last Goodbye” sözlerinden başlayarak fonda çalan All I Want şarkısı eşliğinde süpriz uygulanır:  Monica’nın arabasını yumurtaya tutarlar.

 


Gece yarısı Hazel’in telefonu çalar, Agustus aramaktadır. Ama tıpkı annesi gibi her an her şey olabilir tedirginliğini yaşayan Hazel, karşıdaki sesin Agustus olmamasından korkarak telefonu açar. Ses Agusus’a aittir. Derin bir nefes alır ama aldığı nefesi aynı rahatlıkta veremez. Bi sorun vardır..

Yanına gider, 911’i arar..
Ambulansta Agustus, Hazel’den bir şiir okumasını ister.

William Carlos Williams’ın Kırmızı El Arabası şiirini okur.

Yağmur suyuyla parlamış kırmızı el arabasının
Ne çok şey yığılmış üstüne
Beyaz tavukların yanında

Agustus’un “bu kadar mı” demesi üzerine Hazel, şiire kendi ilavelerini yapar:

Ağaçlar dalları arasından çıkan gökyüzünün
Ne çok şey yığılmış üstüne

Mavi dudaklı bir çocuğun karnından fırlayan borunun
Ne çok şey yığılmış üstüne

Bu evren gözlemcisinin
Ne çok şey yığılmış üstüne


Görsel, Görsel 2, Film görselleri The Fault in Our Stars

Nefesin Tadı

[Spoiler içerir]

Van Houten, sorulara matematikle cevap vermekte ve belirli bir “son”dan ısrarla kaçınmaktadır. Buna karşılık gençlerin meraklı soruları devam etmektedir ve ortam fazlasıyla gerilir. Kahramanları sayılan, hayran oldukları yazar, onları evinden kovar.
Bu adam için buralara kadar gelmek, cinlerden isteyebilecekleri dileği, boşa harcamak olmuştur.

Neyse ki melek sayılacak Lidewij, arkalarından gelir, özür diler. Görüşmenin hem gençler hem de yazar için iyi olabileceğini düşünmüş olduğundan bahseder ama yazarın içinde bulunduğu psikolojik koşullar buna izin vermemiştir. Özür mahiyetinde, müze gezisi teklif eder.


Anne Frank Müzesinde o gün asansörler bozuktur. Bolca dik basamak çıkmaları gerekmektedir. Hazel, babasının ilk tanıştıklarında Agustus‘u uyarmaya çalıştığı mücadeleci yönü ile kendisini hayli zorlayacak bu geziye katılmasının sorun olmayacağını söyler.

Ama tahmin ettiklerinden daha fazla basamak vardır. Her katta ve her basamakta nefes almak Hazel için daha da güçleşir. Aslında şu an gerçekleşen olay, Hazel hayatının tümünü saran, hayatın beyazından ölümün siyahından oluşmuş, metal grisi yaşam dumanın, bir tablodaki yansıması gibidir. Hazel için çoğu zaman nefes almak bile bir mücadele demektir.

Ne Agustus ne de Lidejiw, Hazel’in ne derece zorlandığını bilmedikleri için durumu anlar gibi olmaktadırlar ama mutlak empati diye bir şey mümkün olmadığı için, Hazel’in mücadeleci söz ve tavırlarına “..peki o zaman” demektedirler.

Çıkarkar, çıkarkar, çıkarkar.. Nihayet! Merdivenler son bulur.
//Burada yönetmen kasıtlı bir şey yapmıştır: Sahneyi izleyiciyi içine alacak şekilde kurgulamıştır. Merdivenler bittiğinde izleyici derin bir nefes verir ve “Nihayet” der. Hazel’in içinde olduğu durumu bir nebze de olsa izleyenlere yaşatmaya çalışmıştır.

Müzenin havası, az önceki mücadelenin başarısı, farklı bir atmosfer oluşturmuştur. Agustus ve Hazel ilişkisi için de yeni bir katman olmuştur. Bu, artık Friends esprilerini dışarıda bırakacak, “biz” kademesidir. Sen-Ben varsa dünyanın geri kalanı önemli değildir.
// Bu filmde işlenmese de bunun Hollywood açılımını şöyle tercüme edebiliriz: O varsa, her şey var; O yoksa hiç bir şeyin, ülkenin hatta gezegenin anlamı yok.. //şimdilerde çita evren‘e kadar çıkmış durumda.

//Burada beyin-dna vb.. farklı konulara da girilebilir ama girince çıkması uzun süreceği için en azından bu seride yeni bir paragraf açmayalım.  Şimdilik çiftimiz mutluluklarını yaşasın..

 


Görsel, Film görselleri The Fault in Our Stars

Sonsuzluklar Paradoksu

[Spoiler içerir]

Kuşkusuz insanın yakın zamanda öleceğini bilmesi, günlük koşuşturmalardan uzun vadeli planlara, hayallerden hedeflere pek çok şeyi sarsıcı derecede etkileyecektir.

Bir film anlatırken arada yönetmen ve oyuncularından bağımsız başka bir filme atıf yapmak nasıl olur bilemiyorum ama yeri gelmişken Melancholia’dan bahsetmezsem olmaz. “Yaklaşan ölüm” konusunun farklı bir açıdan işlendiği, hiç bilim kurgu olmayan ancak bir başka bir gezegenin dünyaya çarpacak olması durumunu işleyen bir film Melancholia.

 

Kaçınılmaz son, görmemek imkansız bir şekilde gök yüzünden adım adım büyüyerek yaklaşmaktadır. Böyle bir zamanda insan davranışı nasıl olur? diye düşünmek ve üzerine film yapmak gayet yaratıcı.

Oldu olacak, Melancholia içinde de Salvation’dan bahsedelim, giriş kısmını inceptionlamış olalım // bkz: insepşınlamak 🙂 Salvation’da da temel düzlem aynı: Yaklaşan bir son var. Ancak amerikan klişeleri eşliğinde farklı bilim-kurgu yöntemlerinin denendiği, kabulden çok direniş var diyebiliriz.

Uzay mekiği ya da nanobot ameliyatları gibi imkanlara sahip olmayan, bedenlerinin iflas edeceği güne kadar yaşamaya çalışmaktan başka çaresi olmayan Hazel ve  Agustus’a dönelim..


Amsterdam’daki güzel ve romantik geçen ilk günün ardından, hayranı oldukları yazar Peter Van Houten‘ın evine gelirler. Pek bekledikleri gibi bir karşılama olmadığı gibi sohbet(?) de umdukları gibi çıkmaz. Hazel’in kitabın sonu ile ilgili sorularına direk yanıt vermeyen Van Houten, yabancı dildeki bir müziğin sözleri anlaşılmasada hissettirdiği bir şeyler olduğundan bahseder.
//Aslında bir nevi cevap vermektedir: “Kitabın yazılı bir sonu olmasa da hissettirdiklerinden bir çıkarımda bulunabilir” demektedir.
Ortamın gerilmesinden sonra Hazel, romandaki Anna karakterinin bu kez çevresine ne olduğunu soracak olur fakat Van Houten sözünü tamamlamasına izin vermeden, Sonsuzluklar Paradoksundan bahsetmeye başlar.

Diyelim bir kurbağa ile yarışıyoruz ve kurbağa önden başlıyor. Biz miktar yol alana kadar o da daha az bir miktar yol alıyor. Biz kurbağanın olduğu yere gelene kadar kurbağa biraz daha yol alıyor. Kurbağanın yeni yerine gelmeye çalıştığımız sürede kurbağa az da yine yol almış oluyor. Kurbağadan daha hızlı olmamıza rağmen matematiksel olarak kurbağaya yetişemeyiz.

// Ya da
// Sırayla 1 2 3 4 5 6 7 .. şeklinde giden sonsuz sayı vardır. Bir de 2 4 6 8 .. şeklinde giden sonsuz sayıda çift sayı vardır. İlk kümenin ikincisini kapsamasına rağmen nasıl ikisi de sonsuza eşit olabilir?

Van Houten, Cantor’un bu paradoksu çözdüğünü söyler. İşin ilginç tarafı bunun Hazel’in sorusunun cevabı olduğunu da ilave eder.

 


Görsel 1 ve ileri okuma, Film görselleri The Fault in Our Stars