Arduino ve Java ile MQTT uygulaması

yakut ozcan
Hala iş arama sürecinde oluşum ve sürecin git-gide kötüye gittiği günlerde tek eğlencem ve neşe kaynağım diyebileceğim blog yazılarına devam..
Bu yazımda yine bence dolu-dolu bir içerik ile karşınızdayım. İçeriğinden bahsetmek gerekirse Nodemcu ve esp8266 için hazırlanmış bir Wi-Fi yönetim arayüzünden bahsedeceğim, Nodemcu da arduino kodları ile shiftr.io  MQTT protokolü üzerinden haberleşeceğim. Son olarak da işin içine birazcık Java girecek 🙂
Kısaca yaptığım şeyler aslında belirli kütüphanelerin kullanımı ve basit bir örnek diyebiliriz.

Hadi başlayalım nodemcu da kullacağımız iki ana kütüphane örneklerinin adresleri
https://github.com/tzapu/WiFiManager
https://github.com/256dpi/arduino-mqtt
 
Arduino kodları şu adreste:
Yükleme işleminden sonra serial monitör de access point moduna soktuğumuz nodemcu SSID-Şifre bilgileri ile web server in çalıştığı ip adresi yazıyor.
Nodemcu bağlanıyoruz.
Bağlandıktan sonra bu şekilde bir web sayfası bizi karşılıyor. İlk seçeneği seçtikten sonra bizi aşağıda ki ekran karşılıyor.
“haydut” seçiyoruz 🙂 Sonra şifreyi yazıp “Save” dedikten sonra
Şöyle bir ekrana yönlendiriliyorsunuz eğer şifre doğru ise 20sn içinde bağlantıyı sağlıyor ve sonrasında NodeMCU üzerinde ki kırmızı ışık yanıyor kodlarda var isterseniz silebilirsiniz.
Bağlantıdan sonra Serial mönitörde sevinç gösterileri başlıyor 🙂
shiftr.io
Bu MQTT servisi ücretsiz fakat bütün verileriniz herkesin okuyabileceği şekilde açık ama benim odamın sıcaklığı bilseler ne olacak derseniz sorun yok 🙂
Bunun kodları da yukarıda verdiğim arduino içerisinde mevcut.
Java Örneği
Java uygulaması bir sunum için hazırladığım ve yarım saatlik bir kodlama ile yapıldı örnek olması açısından paylaşıyorum Netbeans ile yazılmıştır gerekli kütüphane “dist/lib” içerisinde mevcut.
Bütün işlemleri sorunsuz yaptıktan sonra şöyle bir ekran görüntüsü alma fırsatım oldu
Arkadaşlar örnek kodları anlaşılır şekilde yazdığımı düşünerek Java ve MQTT kısmını atladım biraz, siz sorunuz olduğunda yazmaktan çekinmeyin. Sağ tarafda ki iletişim kutusunu aktif kullanabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir