الكود البرمجي
في البداية نقوم بفتح الـ Terminal الخاص بالراسبري باي وكتابة الأوامر التالية أو نقوم بفتح نافذه الـ SSH الخاصة بها من جهاز آخر مربوط معها علي نفس الشبكة كما تم شرحه في الدرس الخامس.
فى البداية نقوم بتحديث نظام تشغيل الراسبيري باي.
sudo apt-get update sudo apt-get –y upgrade
ثم نقوم بالتعديل في أحد ملفات النظام كالتالي.
sudo nano /etc/modules
قم بإضافة السطر التالي (rtc-ds1307) داخل ملف modules الذى قمنا بفتحه بمحرك النصوص Nano، ثم نقوم بالضغط على Ctrl+O ثم enter ثم Ctrl+X وذلك لحفظ الملف السابق.
نقوم بإعادة تشغيل الراسبري باي كالتالي.
sudo reboot
نقوم بتشغيل الراسبري باي وكتابة الأمر التالي، إذا كنت تستخدم راسبيرى باى ذات الإصدار Rev 1، ستحتاج لتغيير الرقم 1 فى آخر الأمر وإستبدالة بـ 0.
sudo i2cdetect -y 1
سوف تشاهد التالي بعد كتابة الأمر.
فى هذه التجربة يكون 0x68 هو عنوان الـ RTC Module .
ثم نقوم بالتعديل فى أحد ملفات النظام مرة أخرى كالتالي.
sudo nano /etc/rc.local
قم بإضافة السطرين التاليين داخل ملف rc.local الذي قمنا بفتحه بمحرك النصوص Nano.
echo ds1307 ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device hwclock –s
ثم نقوم بالضغط على Ctrl+O ثم enter ثم Ctrl+X وذلك لحفظ الملف السابق.
لاحظ أنه يجب تغيير العنوان 0x68 للعنوان الذي سيظهر لك من الخطوة السابقة، وكذلك إذا كنت تستخدم راسبيري باي Rev1 نقم بتغيير i2c-1 إلى i2c-0.
نقوم بإعادة تشغيل الراسبيري باي مرة أخرى.
sudo reboot
بعد إعادة التشغيل إذا قمت بكتابة أمر i2cdetect ستلاحظ أن عنوان الموديول قد تغير إلى UU، وهذا دليل على أن الموديول يعمل جيداً.
sudo i2cdetect -y 1
الآن نقوم بضبط إعدادات الوقت والتاريخ من خلال الأمر التالي.
sudo raspi-config
نقوم بإختيار Internationalisation Options ثم Change Timezone وتختار بعد المنطقة والدولة التى تقيم بها.
يمكنك قراءة وقت وتاريخ الراسبيري باي بالأمر التالي.
date
إذا أردىت تغير الوقت والتاريخ لأي سبب فبإمكانك ذلك من خلال الأمر التالي وكتابة الوقت والتاريخ الذي تريده بين علامات التنصيص.
sudo date -s “16 APR 2017 23 : 00 : 00”
وبمجرد تغيره يجب عليك كتابته على الـ RTC Module كالتالي.
sudo hwclock –w
وللتأكد يمكنك قراءة الوقت والتاريخ من الموديول مرة أخرى كالتالي.
sudo hwclock –r
يمكنك قراءة وقت الراسبيري باي وكذلك وقت الـ RTC Module سوياً لتتأكد من أنهم نفس التوقيت كالتالي.
sudo date; sudo hwclock –r