Önceki uygulamamızda rölenin durum güncellemeleri Telegram sohbetine mesaj olarak geliyordu. Bu uygulamada, aynı işlevi e-posta göndererek gerçekleştireceğiz. Tasarladığımız akışın şeması aşağıda yer alıyor.
Node-RED içinden e-posta göndermek oldukça kolaydır bunun için çevrim içi kütüphaneden ilgili mail node’u nu ekleyerek başlayabiliriz. Ana menüden Manage palette seçeneğine tıklatarak sırasıyla Palette ve Install sekmelerine gidin. Yükleyeceğiniz node’u aratmak için mail kelimesi yazarak node-red-node-mail’i Install düğmesine tıklatarak yükleyin. Yükleme biraz vakit alabilir.
Yükleme tamamlandıktan sonra yukarıdaki akışı oluşturun ve email node’unu da aşağıdaki gibi yapılandırın.
Not: email node’u e-posta gönderebildiği gibi e-posta mesajlarını sunucudan da çekebilir (POP3/IMAP).
email node’unun yapılandırılması
Bu yapılandırmada, bir Gmail hesabının SMTP (giden mail) yapılandırması girilmiştir. Dilerseniz farklı e-posta servislerine ait yapılandırmaları da girebilirsiniz. Userid kutusuna e-posta adresinizi, Password kutusuna da e-posta kutunuzun parolasını girin ve Done düğmesine tıklatın.
Son olarak da function node’u na aşağıdaki JavaScript kodunu yazın. E-posta adresine kendi adresinizi yazmayı unutmayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
msg.topic = "Röle durumu değişti."; if (msg.payload === 0) msg.payload = "Röle etkinleştirildi."; else msg.payload = "Röle etkisizleştirildi."; return msg; |
Yukarıdaki kod Switch node’dan gelen msg nesnesinin özelliklerini değiştirerek email node’una aktarmaktadır. email node’u e-posta gönderilecek olan adresi to, e-postanın konusunu topic ve mesajın kendisini (mesaj gövdesi) de payload özelliği ile alır. function node’a yazdığımız kod da tam olarak bu işi yapıyor. to kısmına istediğiniz adresi yazabilirsiniz. Dashboard’dan anahtarın konumunu değiştirdiğiniz de bu adrese bir e-posta bildirimi gidecek ve gönderen adres kısmında, email node’un özellikler sayfasında tanımladığınız Userid adresi gözükecek. Uygulamanın çalışma çıktısı aşağıdaki resimde yer almaktadır: