جدول المحتويات:

قم بالإعداد من Scratch a Raspberry Pi لتسجيل البيانات من Arduino: 5 خطوات
قم بالإعداد من Scratch a Raspberry Pi لتسجيل البيانات من Arduino: 5 خطوات

فيديو: قم بالإعداد من Scratch a Raspberry Pi لتسجيل البيانات من Arduino: 5 خطوات

فيديو: قم بالإعداد من Scratch a Raspberry Pi لتسجيل البيانات من Arduino: 5 خطوات
فيديو: Build your own Data logging system using Arduino and Python 2024, شهر نوفمبر
Anonim
قم بالإعداد من Scratch a Raspberry Pi لتسجيل البيانات من Arduino
قم بالإعداد من Scratch a Raspberry Pi لتسجيل البيانات من Arduino

هذا البرنامج التعليمي مخصص لأولئك الذين ليس لديهم خبرة في تثبيت جهاز أو برنامج جديد ، ناهيك عن Python أو Linux.

لنفترض أنك طلبت Raspberry Pi (RPi) باستخدام بطاقة SD (على الأقل 8 جيجابايت ، استخدمت 16 جيجابايت من النوع الأول) ومصدر طاقة (5 فولت ، 2.5 أمبير على الأقل). اليوم ، قررت إعداده وتسجيل البيانات من Arduinos. لذلك دعونا نبدأ!

يتضمن البرنامج التعليمي إعداد Raspberry Pi من البداية ، بما في ذلك Desktop Remote ، وإعداد Arduino مع مستشعرات درجة حرارة 18B20 ، وتنفيذ نص Python في Raspberry Pi لجمع البيانات وحفظها. لقد قمت بتحديث المنشور بإضافة مشاركة samba لنقل الملف بين الكمبيوتر المضيف (جهاز الكمبيوتر الخاص بك) و Raspberry Pi

الخطوة 1: تحضير Raspberry Pi

تحضير Raspberry Pi
تحضير Raspberry Pi
تحضير Raspberry Pi
تحضير Raspberry Pi
تحضير Raspberry Pi
تحضير Raspberry Pi
تحضير Raspberry Pi
تحضير Raspberry Pi
  1. قم بتنزيل نظام التشغيل لـ RPi. أوصي بنسخة كاملة من Raspbian ، مثل هذه هنا.
  2. افترض أن لديك جهاز كمبيوتر يعمل بنظام Windows ، قم بتنزيل برنامج Rufus لكتابة الصورة على بطاقة SD. قم بالتمرير لأسفل واحصل على rufus 3.0 (يونيو 2018)
  3. قم بفك ضغط ملف Raspbian (4.6 جيجابايت) ، وحدد بطاقة SD المستهدفة بعناية. يستغرق الأمر حوالي 3 دقائق لإكمال كتابة الصورة على البطاقة.
  4. أدخل فتحة بطاقة SD ، وقم بتوصيل كابل الطاقة بمنفذ USB الصغير ، وشاشة العرض مع كابل HDMI ، ولوحة المفاتيح ، والماوس اختياري.
  5. انتظر حتى التمهيد RPi وإظهار سطح المكتب ، واضغط على مفتاح النافذة ، وانتقل إلى الملحقات / المحطة الطرفية وأدخل.
  6. تكوين RPi حسب النوع:

sudo raspi-config

7. قم بتغيير أمرين في تكوين RPi:

  • في 1. تغيير كلمة المرور
  • في 2. خيار الشبكة: تغيير اسم المضيف (شيء فريد ، ملكي هو rpi1001) ، و wifi SSID وكلمة المرور.
  • في 4. خيارات تحديد الموقع: تغيير المنطقة الزمنية ولوحة المفاتيح والإعدادات المحلية
  • في 5. خيارات التفاعل: تمكين SSH (لتسجيل الدخول عبر سطر الأوامر) ، تمكين VNC (لجهاز التحكم عن بعد لسطح المكتب)
  • في 7: الخيار المتقدم: توسيع أنظمة الملفات:
  • اعادة التشغيل
  • بعد التمهيد: لاحظ عنوان IP عن طريق التشغيل

sudo ifconfig

إذا تم استخدام Ethernet ، فيجب أن يكون IP هو الكتلة الأولى ، وإذا تم استخدام Wifi ، فإن IP موجود في الكتلة الثالثة ، مثل 192.168.1.40 ، قم بتشغيل هذا الأمر لتحديث توزيعة Linux:

sudo apt-get update && sudo apt-get Upgrade –y && sudo poweroff

آخر واحد سيتم إيقاف تشغيل RPi بعد الانتهاء من التحديثات

8. إذا نسيت الملاحظة IP الخاص بـ RPi ، أو تم تغييره مؤخرًا ، فاستخدم PowerShell (اكتب PowerShell للبحث في مربع Windows)

في PowerShell إلى ping لـ Rpi: p ing rpi1001.local –4 احصل على شيء مثل هذا 192.168.1.40. rpi1001 هو اسم مضيفي لـ Rpi الخاص بي.

9. قم بتثبيت VNCViewer ، حيث يعمل هذا البرنامج مثل TeamViewer أو Desktop Remote على نظام Windows (فقط Win 10 Pro يحتوي على ميزة Desktop Remote).

قم بالتثبيت على جهاز Windows الخاص بك ، في مربع البحث أعلى VNCViewer ، اكتب عنوان IP الخاص بـ RPi (192.168.1.40) أو اسم مضيف RPi (لي هو rpi1001.local) ثم أدخل. أدخل اسمك كلمة مرور RPi ، حدد "تذكر كلمة المرور" إذا كنت ترغب في ذلك. إذا سارت الأمور على ما يرام ، يجب أن ترى سطح مكتب Rpi المنبثق.

10. لنقل الملف من أو إلى TeamView ، أبسط طريقة لاستخدام نقل الملفات المدمج بواسطة VNCView:

وأنه يمكنك استخدام Raspberry لجمع البيانات من أجلك ، وتسجيل الدخول للحصول على البيانات عند الحاجة.

الخطوة 2: قم بإعداد مثال بسيط لجمع البيانات من Arduino

قم بإعداد مثال بسيط لجمع البيانات من Arduino
قم بإعداد مثال بسيط لجمع البيانات من Arduino
قم بإعداد مثال بسيط لجمع البيانات من Arduino
قم بإعداد مثال بسيط لجمع البيانات من Arduino

لنفترض أنك تريد جمع درجة الحرارة من 4 أجهزة استشعار. في هذا المثال ، استخدمت 18B20 ، وهو مستشعر درجة حرارة شائع. الخيارات الأخرى هي عائلة TMP35 ، 36 أو الثرمستور.

تم تضمين الأسلاك أعلاه. تشترك 18B20s في السلك (أو الحافلة) ، وهنا رمز Arduino على Github. يحتوي المرفق الموجود في الملف أدناه على الرموز وخريطة الأسلاك أيضًا.

أيضًا ، قم بتثبيت برنامج تشغيل USB لـ Arduino في Windows. معظم "استنساخ" Arduino يستخدم برنامج تشغيل CH341 USB. السائق هنا.

تثبيت برنامج التشغيل ، عند توصيل Arduino بـ USB الخاص بنظام Windows ، يجب أن يتعرف على برنامج التشغيل ويخصص منفذ COM (لي هو COM4)

يجب أن يتم إخراج Serial Monitor مثل الصورة أعلاه.

الخطوة 3: قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi

قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi
قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi
قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi
قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi
قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi
قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi
قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi
قم بتشغيل RPi عن طريق فصل الطاقة وتوصيلها بـ RPi. بدء VNCViewer ، تسجيل الدخول الخاص بك RPi

انقل نص Python باستخدام أداة VNCViewer. يوجد لافتة على الجزء العلوي من VNCViewer ، ابحث عن زر سهمين. لنقل البيانات من RPi إلى Windows ، استخدم رمز File Transfer في VNC أعلى اليمين (بالقرب من رمز Wifi) على سطح مكتب RPi.

يعمل Raspberry على نظام Linux ، ويتم تثبيت Python 2 و 3 افتراضيًا. ما عليك سوى تثبيت مكتبة Python تسمى pyserial لتجميع البيانات المطبوعة من السطر التسلسلي.

لتثبيت python Serial ، اكتب هذا السطر في محطة Linux

sudo apt-get install python3-serial. تثبيت sudo apt-get install python3-serial

  • في Windows: اكتب هذا PowellShell:
  • pip.exe تثبيت pyserlal

ثم قم بتنزيل البرنامج النصي وحفظه على سطح مكتب RPi

لتشغيل البرنامج النصي ، اجعله قابلاً للتنفيذ أولاً عن طريق:

sudo chown u + x recordSerial.py

قم بتحميل كود Arduino على لوحة Arduino ، ثم قم بتوصيل كبل USB الخاص بك باستخدام USB ، وتحقق من المنفذ عن طريق:

  • في نظام Linux ، اكتب هذا في المحطة الطرفية: ls / dev / ttyUSB *
  • على Wndows: انتقل إلى إدارة الأجهزة ، حدد COM #

إذا تم تعديل البرنامج النصي على Windows ، فقد تحتاج إلى تشغيل برنامج Python النصي إلى dos2unix لإزالة حرف نهاية السطر الغريب بواسطة Windows. قم بتثبيته بواسطة

sudo apt-get install dos2unix

، وتحويل البرنامج النصي عن طريق تشغيل هذا في المحطة

سجل dos2unixSerial.py

عدل المنفذ الفعلي في البرنامج النصي بواسطة محرر نصوص:

sudo نانو recordSerial.py

ثم قم بتشغيل./recordSerial.py yourfilename.txt

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

لإيقاف التسجيل ، اضغط على Ctrl + C ،

يمكن تشغيل البرنامج النصي على Windows (انقر نقرًا مزدوجًا) ، واسم بيانات السجل هو الاسم الافتراضي الذي يتضمن طابعًا زمنيًا

إذا كنت تستخدم PowerShell ، فيمكنك إدخال اسم ملفك المخصص ،

ملف python.exe recordSerial.py awesome.txt

ليست كل 18B20s هي نفسها. انظر قراءات!

لقد دفعت الرمز إلى GitHub أيضًا.

أتمنى أن يكون هذا البرنامج التعليمي مفيدًا!

الخطوة 4: قم بتثبيت Samba to Share Folder

قم بتثبيت Samba to Share Folder
قم بتثبيت Samba to Share Folder
قم بتثبيت Samba to Share Folder
قم بتثبيت Samba to Share Folder
قم بتثبيت Samba to Share Folder
قم بتثبيت Samba to Share Folder

ستوجهك هذه الخطوة عبر بعض الإعدادات الأساسية للحصول على مجلد مشترك مستضاف على Raspberry Pi والذي يمكن الوصول إليه من أجهزة كمبيوتر أخرى.

أولاً ، قم بتثبيت samba ، وهو برنامج لمشاركة مجلد المشاركة وإدارته عبر الشبكة:

sudo apt-get install samba

إنشاء مجلد مشترك

mkdir ~ / سطح المكتب / sambaShare

تعديل ملف التكوين للسامبا عن طريق:

sudo samba /etc/samba/smb.conf

أضف الأسطر التالية إلى نهاية الملف:

[sambaShare] تعليق = مشاركة مجلد حول مسار البحث RPI = / home / pi / Desktop / sambaShare قابل للتصفح = نعم للقراءة فقط = لا يمكن الكتابة = نعم عام = نعم إنشاء قناع = 0777 قناع مستقيم = 0777 ضيف موافق = نعم

إذا كانت لديك مشكلة في الكتابة على windows ، فقم بإجبارها عن طريق إضافة هذا السطر إلى نهاية الملف: force user = pi

في نظام Linux ، قد تحتاج إلى استخدام المستخدم الجذر (سأقوم بنشر المشكلة بمجرد اكتشافها)

بعد ذلك ، أضف مستخدمًا إلى samba وأنشئ كلمة مرور أيضًا:

sudo smbpasswd -a pi

ثم أدخل كلمة مرور السامبا (يمكن أن تكون هي نفسها أو مختلفة عن كلمة المرور لمستخدم pi على النظام)

اختبار ما إذا كان ملف التكوين على ما يرام

testparm

اضغط على Ctrl + X للحفظ ، ثم أعد تشغيل خدمة samba عن طريق:

إعادة تشغيل sudo systemctl smbd

على الكمبيوتر المضيف ، دعنا نقول Linux:

إذا لم يكن الأمر كذلك ، فقم بتثبيت samba plus sambaclient و cifs لدعم محرك الأقراص المشترك ، يرجى القيام بذلك عن طريق تشغيل:

sudo apt-get يقوم بتثبيت samba smbclient cifs-utils

تحقق مما إذا كان المجلد المشترك على RPI جاهزًا أم لا من خلال:

sudo smbclient -L yourRPI_IP

إذا رأيت محرك الأقراص المشترك ، فقم بإنشاء نقطة تحميل على نظام Linux:

sudo mkdir / mnt / researchRPi

sudo chown المستخدم: مجموعة المستخدمين -R / mnt / ResearchRPI

user، usergroup هو مستخدم Linux الخاص بك واسم المجموعة

ثم قم بتركيب المشاركة عن طريق:

sudo mount -f cifs -o username = pi // your_rpi_IP / sambaShare / mnt / ResearchRPi

أدخل كلمات المرور الخاصة بك ، وقم بعمل رابط لين إلى سطح المكتب الخاص بك:

sudo ln -s / mnt / researchRPi ~ / Desktop / ResearchRPi

إذا كانت لديك مشكلة في إذن القراءة والكتابة في مجلد المشاركة ، فجرّب إذنًا ضعيفًا:

على PI:

sudo chmod -R 776 ~ / Desktop / sambaShare

على Windows ، أصبح الأمر أسهل ،

انتقل إلى My Computer ، وقم بتعيين مجلد ، ثم أدخل IP الخاص بـ RPI ، يجب أن يظهر المجلد المشترك. أعتقد أن هناك شيئًا ما على Mac يمكنك تصفح المجلد المشترك على الشبكة.

الخطوة 5: مراجع مفيدة

فيما يلي بعض المراجع المفيدة:

  1. هناك طريقة أخرى هنا باستخدام مكتبات pyserial و numpy
  2. تبدأ نظرة شاملة على الاتصال الإلكتروني من تثبيت Arduino IDE. مرجع جيد إذا كنت تريد الغوص بشكل أعمق.
  3. كتابة قصيرة ولكن ملموسة. خيارات قصيرة وكافية للبدائل لتسجيل البيانات

موصى به: