مقدمة
تحتوي الأجهزة الذكية كالهواتف والحواسب اللوحية على تطبيق وظيفته الرئيسية هو إخبارك بأن لديك رسائل جديدة في حساب البريد الإلكتروني الخاص بك، في هذا الدرس ستتعلم كيف تصنع منبه رسائل البريد الإلكتروني باستخدام الاردوينو والشاشة الكرستالية والثنائي المشع للضوء.
المواد والأدوات
1× اردوينو اونو
1× I2C / IIC Serial Interface Module
1× 40 رأس دبوس
توصيل الدائرة
للمزيد حول الشاشة الكرستالية يمكنك الرجوع للدرس التحكم بالشاشة الكرستالية LCD.
وصَل دائرة منبه رسائل البريد الإلكتروني كما في الشكل:
تفعيل IMAP
افتح المتصفح الخاص بك وسجّل دخول على حسابك في Gmail.
أعلى يمين الصفحة انقر على العلامة الظاهرة بالصورة.
اختر See all settings.
اختر أيقونة Forwarding and POP/IMAP.
في قسم IMAP access, اختر Enable IMAP.
وفي قسم POP download اختر Enable POP for all email.
احفظ التغييرات الجديدة.
كود اردوينو 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.
ادخل على مسار برنامج البايثون.
(هذا السطر قابل للتغيير بناء على موقع برنامج البايثون في جهازك)
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.
يمكنك اختبار منبه رسائل البريد الإلكتروني بعد رفع الكود البرمجي.
لا تنسَ فصل مصدر الطاقة بعد الانتهاء من استخدام النظام.