تخزين البيانات على ملف باستخدام الراسبيري باي

مبتدئ

image_pdf

مقدمة

في هذا الدرس سنتعلم طريقة تخزين البيانات التي تتم قراءتها من البيئة الخارجية على ملف CSV باستخدام لوحة الراسبيري باي وحساس الحرارة والرطوبة.

writing-data-to-files-on-the-raspberry-pi

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

النظام الأمني

 راسبيري باي (Raspberry Pi 4)

writing-data-to-files-on-the-raspberry-pi

 1× سلك (HDMI)

1× محول تيار

writing-data-to-files-on-the-raspberry-pi

 1× كرت ذاكرة

تخزين البيانات على ملف

1× لوحة تجارب – حجم وسط

تخزين البيانات على ملف

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

تخزين البيانات على ملف

1× مقاومة 220 Ω

تخزين البيانات على ملف

حساس الحرارة والرطوبة

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

تخزين البيانات على ملف

تهيئة الراسبيري باي

أولا، سوف تحتاج إلى تثبيت نظام الراسبيان على الراسبيري باي إذا لم تكن قد فعلت ذلك قم بالإطلاع على  الدرس الأول نظام تشغيل الراسبيري باي

وبعد تثبيت النظام، يمكنك تهيئة النظام من خلال الرجوع  للدرس الثاني تهيئة نظام التشغيل

افتح الشاشة السوداء LXterminal للبدء باستخدام الراسبيري باي.

writing-data-to-files-on-the-raspberry-pi

للبدء، قم بإستخدام الـ Termial لتحديث الراسبيري باي إلى أحدث إصدار.

sudo apt-get update
sudo apt-get upgrade

ثم أعد تشغيل الراسبيري باي.

reboot

حمّل  البيئة التطويرية المتكاملة للبايثون على الراسبيري باي.

sudo apt install python3 idle3

  حمّل مكتبة Adafruit_Python_DHT حتى تتمكن من استخدام حساس الحرارة والرطوبة مع الراسبيري باي.

sudo pip3 install Adafruit_Python_DHT

البرمجة

ستشاهد في قائمة Programming وجود برنامج جديد وهو Python 3 (IDLE) انقر عليه.

الراسبيري باي

 من قائمة File اختر  New File.

انسخ الكود التالي والصقه بالملف الفارغ.

import Adafruit_DHT
from datetime import datetime
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4

humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)

if humidity is not None and temperature is not None:
	file = open("log.csv","a")
	file.write("{0:0.2f}".format(temperature)+","+"{0:0.2f}".format(humidity)+",")

else:
	file = open("log.csv","a")
	file.write("NAN     "+",")

file.write(datetime.today().strftime('%Y-%m-%d'+"," '%H:%M:%S')+"\n")
file.close()

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

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

import Adafruit_DHT

هنا يظهر اسم المنفذ الذي تم ربط فيه حساس الحرارة والرطوبة مع لوحة الراسبيري باي.

DHT_PIN = 4

إذا تم تسجيل درجة حرارة ورطوبة في المكان سيتم انشاء ملف بشكل تلقائي يدعى log.csv وسيتم تسجيل القيم بداخله.

if humidity is not None and temperature is not None:
	file = open("log.csv","a")
	file.write("{0:0.2f}".format(temperature)+","+"{0:0.2f}".format(humidity)+",")

إذا لم يتم تسجيل درجة حرارة ورطوبة في المكان أي هناك خطأ ما ستظهر كلمة NAN.

else:
	file = open("log.csv","a")
	file.write("NAN     "+",")

سيتم تخزين درجة الحرارة والرطوبة والوقت والتاريخ في الملف.

file.write(datetime.today().strftime('%Y-%m-%d'+"," '%H:%M:%S')+"\n")
file.close()

احفظ الملف من قائمة File اختر Save اكتب اسم الملف log.py ثم انقر على Save.

الراسبيري باي

يمكنك الآن رفع الكود البرمجي من قائمة Run اختر Run module.

writing-data-to-files-on-the-raspberry-pi

بعد رفع الكود البرمجي سيظهر ملف log.csv يحتوي على البيانات المقروءة.

تخزين البيانات على ملف

تخزين البيانات على ملف

 

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