Node.js ile Sensör Verilerinin Android'den Takibi

Zaman zaman periyodik veri üreten sistemlerin durumunu anlık takip etmek gerekebiliyor. Bu durumda ekran başında cihazın ürettiği anlık verileri takip etmek yerine, hazırladığınız ufak bir uygulama aracılığıyla istediğiniz şartlar oluştuğunda sizi bilgilendirmesini sağlayabilirsiniz. Geçtiğimiz günlerde yaptığım bazı kurcalamalar sonucunda, benim çeşitli platformlarda kullanmakta olduğum Notify My Android servisini Node.js uygulamalarına entegre edeceğiz.

Notify My Android, tek seferlik düşük bir ücret karşılığında dakikada maksimum 800 adet bildirim almanızı sağlayan, çeşitli yazılımlarda bildirim hizmetleri arasında bulunan Growl gibi uygulamaların Android alternatifi olarak karşımıza çıkmış bir servis.

(Aslında Notify My Android servisinin yapacağı işlemi de kendimiz halledebilirdik, fakat burada biraz da işi çabucak halletme çabasındayız. Zira o yoldan gidersek, bir de Android uygulaması yazma taraflarına kaçmamız gerekecek)

Notify My Android, HTTP POST ile gönderdiğiniz sorgulara bir XML yanıtı döndüren basit bir API'a sahip. Burada da yaptığımız zaten bu haberleşmeyi Node.js ortamına taşımak:

XML ile direkt olarak uğraşmayı pek sevmediğim için, kendilerini JavaScript'te oynaması çok daha kolay olan JSON formatına "xml2js":https://github.com/Leonidas-from-XIV/node-xml2js adlı Node.js modülü aracılığıyla dönüştürüyoruz.
HTTP GET ya da HTTP POST sorguları için ise normalde http ya da https kullanabilirdik. Fakat burada göndereceğimiz parametre sayısı fazla olduğundan ve biraz da Centos tarafında bu modüllerle sıkıntı yaşadığım için request modülünü kullanmaya karar verdim.

Örnek kodumuz şu şekilde:

Şimdi de bir TCP sunucu açıp gelen verileri dinleyip, duruma göre kendimize uyarı gönderelim:

Tags: