top of page

FunProject - Arduino ile e-Mail Posta Kutusu Yapımı

Güncelleme tarihi: 29 Oca 2022



Bu projede Amerikan posta kutusuna benzer bir email posta kutusu yaptım. Bu posta kutusu ile eğer bir email gelirse fiziksel olarak da anlayabilir siniz. Projede oldukça az malzeme olmasına rağmen yazılım kısmı biraz uğraştırdı diyebilirim.


Yazılım kısmında sadece email gelince oluşturduğum posta kutusu hareket etsin istemedim. Fiziksel olarak bildiri yapmasının yanında masaüstü ekranında da ekranın sağ alt köşesinde, bir popup pencere ile gelen bu emailin içeriğini göstermekteyim. Gelen mailleri bir json listede tutarak geriye dönük maillere de bakılabilmekte.


Yazılımın ön yüzünde yine ElectronJs ve ReactJs kullandım. Tabiki sadece bu iki teknolojiyi kullanmak yetmedi. Bu ikisi temel olmakla birlikte bir çok kütüphaneyi de yine bu projede kullandım.


Aşağıda gördüğünüz resim gelen email in ekranın sağ alt köşede görünümüdür.


Diğer hobi projelerim de olduğu gibi yine işin donanım kısmını anlatmakla başlayacağım. Bu iş için bir adet servo motor ve bir adet de Arduino Uno kullandım.


Bağlantı Şeması


Servo motorda üç adet bağlantı kablosu bulunmakta. Bir tanesini Arduino nun artı(5V) bir tanesi eksi(GND) diğerini de bir pine bağlamanız gerekmekte. Ben dokuzuncu pini servo pozisyonunu ayarlamak için kullandım.


Kullanılan Malzemeler


Cihaz Görüntüsü



Arduino Kodları


Arduino kısmında aslında pek bişi yok. Sadece gönderdiğim değerleri servo motora ileten bir kod blogu bulunmakta. Birde 1000 değerini servo pozisyonunu başlangıç değerine getirmek için kullanıyorum.


Projede kullandığım teknolojiler ve kütüphaneler:


Backend

Frontend

Editör

  • VsCode

Backend Kodlarının Yazımı


Arka uç noktasının yazımında C# dilini ve .Net in gücünü kullandım. Daha önceki projelerde olduğu gibi yine kendi oluşturduğum bir framework olan Dakota frameworkü burada da kullandım.


Öncelikle bir class library projesi oluşturarak işe başladım. Daha sonra Newtonsoft json kütüphanesini ve kendi yazdığım Dakota frameworkü projeye ekledim.


Model kısmında da arayüz kısmında kaydedeceğim ayarların bilgisini yükleyeceğim class modellerini oluşturdum.


Ön uç da edge kütüphanesini kullanacağım için arka uç daki methodların ona uygun olması gerekiyordu. O yüzden asenkron olarak methodlarımı oluşturdum. Bu methodlardan birincisi Arduino ya bağlanmak, ikincisi yeni mail geldiğinde tetiklemek, üçüncüsünü de servoyu resetlemek için kullandım.

Frontend Kodlarının Yazımı


Ön kısımdaki ana uygulamayı tray icon başlayacak şekilde ayarladım. Çünkü aslında bu uygulama daha çok bir servis gibi çalışıyor.


Forma baktığınızda iki ana kısımdan oluşuyor birinci kısım header kısmı ve ikinci kısım gelen maillerin oluşturduğu liste.


Mail sunucunuzun IMAP ayarlarını açtıktan sonra, buradaki ayarlar kısmına bu bilgileri girmeniz gerekmektedir. Proje IMAP protokolü üzerinden çalışmaktadır.


Bir mail geldiğinde sağ altta popup şeklinde mail içeriği ile birlikte çıkmaktadır. Buradan mail içeriği okunabilir. Aşağıda örnek bir gif görebilirsiniz.


İki uç noktada oldukça fazla kod bulunmakta fakat bu kodları anlatmak çok uzun sürdüğü için sadece özet geçmenin daha faydalı olacağını düşündüm.


Detaylı incelemek isteyenler Github hesabımdan kaynak kodları inceleyebilirler.


Github




38 görüntüleme0 yorum

Son Yazılar

Hepsini Gör
bottom of page