اصنع منبه رسائل البريد الإلكتروني باستخدام الاردوينو

مبتدئ

image_pdf

مقدمة

تحتوي الأجهزة الذكية كالهواتف والحواسب اللوحية على تطبيق وظيفته الرئيسية هو إخبارك بأن لديك رسائل جديدة في حساب البريد الإلكتروني الخاص بك، في هذا الدرس ستتعلم كيف تصنع منبه رسائل البريد الإلكتروني باستخدام الاردوينو والشاشة الكرستالية والثنائي المشع للضوء. 

منبه رسائل البريد الإلكتروني

المواد والأدوات

arduino-unread-gmail-email-notifier

1× اردوينو اونو

منبه رسائل البريد الإلكتروني

1× سلك الاردوينو

 

منبه رسائل البريد الإلكتروني

حزمة أسلاك توصيل (ذكر – أنثى)

arduino-unread-gmail-email-notifier

 1× ثنائي مشع للضوء أحمر (LED)

منبه رسائل البريد الإلكتروني

 شاشة كرستالية

منبه رسائل البريد الإلكتروني

I2C / IIC Serial Interface Module

شفرة

1× 40 رأس دبوس

توصيل الدائرة

للمزيد حول الشاشة الكرستالية يمكنك الرجوع للدرس التحكم بالشاشة الكرستالية LCD.

وصَل دائرة منبه رسائل البريد الإلكتروني كما في الشكل: 
 منبه رسائل البريد الإلكتروني

تفعيل IMAP

 افتح المتصفح الخاص بك وسجّل دخول على حسابك في Gmail.

أعلى يمين الصفحة انقر على العلامة الظاهرة بالصورة.

The Settings gear in Gmail

اختر See all settings.

The "See All Settings" button in Gmail

اختر أيقونة Forwarding and POP/IMAP.

Gmail settings with the Forwarding and POP/IMAP tab highlighted

في قسم IMAP access, اختر Enable IMAP.

وفي قسم POP download اختر Enable POP for all email.

The Enable IMAP option

احفظ التغييرات الجديدة.

كود اردوينو IDE

ارفع الكود البرمجي التالي على لوحة الاردوينو باستخدام برنامج اردوينو IDE.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);

int val = 0; 
byte led = 13;

void setup(){
Serial.begin(9600); 
pinMode(led, OUTPUT); 
lcd.begin(); 
lcd.backlight(); 
}

void loop()
{
if(Serial.available()) 
if (val = Serial.read() - '0')
{
lcd.setCursor(1, 0); 
lcd.print("You've messages"); 
digitalWrite(led, val);
}
else
{
lcd.setCursor(1, 0); 
lcd.print("No new messages"); 
digitalWrite(led, val);
}
}

شرح الكود البرمجي

في البداية سنقوم بكتابة المكتبات الضرورية في مشروع صناعة منبه رسائل البريد الإلكتروني مثل <Wire.h> و <LiquidCrystal_I2C.h>.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

في هذه الأسطر سيتم تهيئة المتغير val الذي سيحمل معلومات عن رسائل البريد الإلكتروني والمتغير led تم ربطه مع لوحة الاردوينو بالمنفذ 13.

int val = 0; 
byte led = 13;

في الدالة ()setup سيتم تهيئة الشاشة الكرستالية والثنائي المشع للضوء.

void setup()
{
Serial.begin(9600); 
pinMode(led, OUTPUT); 
lcd.begin(); 
lcd.backlight(); 
}

في الدالة ()loop سيتم تحديث البريد الإلكتروني بشكل مستمر للبحث عن رسائل جديدة.

إذا كان هناك رسائل جديدة سيعمل الثنائي المشع للضوء وسينطبع على الشاشة رسالة You’ve messages.

وإذا لم يكن هناك رسائل سينطفئ الثنائي المشع للضوء وسنطبع على الشاشة No new messages.

void loop()
{
if(Serial.available()) 
if (val = Serial.read() - '0')
{
lcd.setCursor(1, 0); 
lcd.print("You've messages"); 
digitalWrite(led, val);
}
else
{
lcd.setCursor(1, 0); 
lcd.print("No new messages"); 
digitalWrite(led, val);
}
}

 كود البايثون

في البداية عليك تنصب برنامج Python 2.7 يمكنك الرجوع للدرس التالي لمعرفة كيفية تنصيبه تنصيب Python 2.7.

انقر بالسهم اليمين على Command Prompt واختر من القائمة Run as administrator.

arduino-unread-gmail-email-notifier

ادخل على مسار برنامج البايثون.

(هذا السطر قابل للتغيير بناء على موقع برنامج البايثون في جهازك)

cd C:\python27

حدّث Pip من خلال كتابة الأمر التالي.

pip install --upgrade pip

حمّل مكتبة pyserial.

pip install pyserial

افتح برنامج IDLE (Python) من قائمة File اختر New File التالي.

منبه رسائل البريد الإلكتروني

اكتب الكود البرمجي لكن عليك قراءة شرح الكود البرمجي قبل رفعه للوحة الاردوينو.

import imaplib, serial #import modules

ser = serial.Serial('COM3', 9600) #create serial object, enter in the proper port 
obj = imaplib.IMAP4_SSL('imap.gmail.com') #create imap object, set to gmail
obj.login('Your Email', 'Password') #enter in gmail credentials

#runs continuously 
while 1: 
obj.select() #refresh 
val = len(obj.search(None, 'UnSeen')[1][0].split()) #generate a value of 1 or 0
#print "The val is: %s\n" % val #print value to monitor
ser.write(str(val)) #write value to serial port

شرح الكود البرمجي

في البداية سيتم استدعاء المكتبات الضرورية مثل imaplib و serial.

import imaplib, serial #import modules

عليك تحرير هذا السطر وكتابة المنفذ المستخدم هنا تم استعمال المنفذ COM3.

ser = serial.Serial('COM3', 9600) #create serial object, enter in the proper port 

ادخل البريد الإلكتروني الخاص بك هنا Your Email  وكلمة السر هنا Password.

obj.login('Your Email', 'Password') #enter in gmail credentials

هنا سيتم قراءة حالة البريد الإلكتروني بشكل مستمر في حال وصول رسالة جديدة سيعمل منبه رسائل البريد الإلكتروني مباشرة.

while 1: 
obj.select() #refresh 
val = len(obj.search(None, 'UnSeen')[1][0].split()) #generate a value of 1 or 0
#print "The val is: %s\n" % val #print value to monitor
ser.write(str(val)) #write value to serial port

 ارفع الكود البرمجي على لوحة الاردوينو من قائمة Run انقر على Run module.

يمكنك اختبار منبه رسائل البريد الإلكتروني بعد رفع الكود البرمجي.

 لا تنسَ فصل مصدر الطاقة بعد الانتهاء من استخدام النظام.

X
تم إضافة المنتج إلى السلة بنجاح