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

الحبر الإلكتروني: القمر / محطة الفضاء الدولية / الناس في الفضاء : 6 خطوات
الحبر الإلكتروني: القمر / محطة الفضاء الدولية / الناس في الفضاء : 6 خطوات

فيديو: الحبر الإلكتروني: القمر / محطة الفضاء الدولية / الناس في الفضاء : 6 خطوات

فيديو: الحبر الإلكتروني: القمر / محطة الفضاء الدولية / الناس في الفضاء : 6 خطوات
فيديو: الدحيح | محطة الفضاء الدولية 2024, ديسمبر
Anonim

من قبل emihermes

الفاصل الزمني مع Raspberry PI
الفاصل الزمني مع Raspberry PI
الفاصل الزمني مع Raspberry PI
الفاصل الزمني مع Raspberry PI

كان لدي قبعة Raspberry و e-Paper HAT وأردت استخدامها لإظهار معلومات مثل مكان محطة الفضاء الدولية أو عدد الأشخاص الموجودين الآن في الفضاء …

صرحت للبحث عما إذا كانت هناك واجهات برمجة تطبيقات على الإنترنت للحصول على هذه البيانات ، ووجدتها. حسنًا ، مسكتك !!!!

انتظر ، يحتوي HAT هذا على 4 أزرار ، وبعد ذلك ، أحتاج إلى إظهار 4 بيانات …

- أين هي الآن محطة الفضاء الدولية؟ - كم عدد الأشخاص الموجودين الآن في الفضاء؟ - في أي مرحلة يكون القمر؟ - هل ستمطر؟ هل الجو دافئ جدا؟ …

في الوقت الحالي ، أعرض هذه المعلومات ، لكن يمكنني تحديث "Instructable" بمجرد أن تكون لدي فكرة جيدة ، أو إذا كنت تعرف فكرة جيدة ، فيمكنك اقتراحها علي !!!

حسنًا ، لقد قمت بذلك في إحدى الأمسيات وتم إنهاء "FrontEnd" بعد أيام قليلة. لا تشكو من كيفية عرض المعلومات ، لا أحب أن أجعل هذا الجزء:)

اللوازم

- Raspberry PI (صفر كافي). - ورق إلكتروني بحجم 2.7 بوصة. (اشتريت خاصتي هنا) - بطاقة SD (4 جيجابايت كافية).

تحتاج أيضًا إلى رمز من OpenWeather لاستخدام واجهات برمجة التطبيقات (من هنا)

الخطوة 1: تحديث البرنامج (SO)

تحديث البرنامج (SO)
تحديث البرنامج (SO)
تحديث البرنامج (SO)
تحديث البرنامج (SO)
تحديث البرنامج (SO)
تحديث البرنامج (SO)

الخطوة الأولى ، كما هو الحال دائمًا ، هي تجهيز Raspberry PI بأحدث نظام تشغيل. - قم بتنزيل أحدث نظام تشغيل (مع سطح المكتب) من هنا. - اكتب الصورة على بطاقة SD فارغة. - أنشئ ملفًا فارغًا "ssh" للتمكين اتصال SSH. - احفظ ملف "wpa_supplicant.conf" على بطاقة SD لتهيئة Wifi الخاص بك للاتصال بـ Raspberry PI عبر SSH (لقد قمت بإعداده على جهاز الكمبيوتر الخاص بك ، وأنا أعلم ذلك).

ابدأ Raspberry Pi الخاص بك.

اتصل به عبر SSH (يمكنك أيضًا القيام بذلك إذا كان لديك شاشة ولوحة مفاتيح وماوس ، لكن ليس لديّ وأفضل الاتصال عبر SSH) وتحديثه….

sudo apt-get update -y

sudo apt-get الترقية -y

الآن ، يجب عليك تمكين VNC لتتمكن من الاتصال عن بعد و SPI لـ e-Paper HAT:

sudo raspi-config

خيارات التفاعل> VNC> نعم خيارات الواجهة> SPI> نعم

وأعد تشغيله.

الخطوة 2: البرامج المطلوبة

البرامج المطلوبة
البرامج المطلوبة

حسنًا ، لدينا الآن Raspberry PI قيد التشغيل مع أحدث البرامج وجميع الأساسيات للاتصال به.

حان الوقت لبدء تثبيت البرنامج المطلوب للتحكم في قبعة الورق الإلكترونية.

إذا لم تقم بتوصيل HAT على Raspberry PI الخاص بك ، فهذه هي آخر لحظة لتوصيلها. أغلق Raspberry PI الخاص بك وقم بوضع HAT عليه.

للخطوات التالية يمكنك اتباع التعليمات من Waveshare أو اتباعها بالخطوات التالية….

قم بتثبيت مكتبات BCM2835:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60 / sudo./configure sudo اجعل sudo تحقق من sudo قم بتثبيت # لمزيد من التفاصيل ، يرجى الرجوع إلى

تثبيت مكتبات wiringPi:

sudo apt-get install wiringpi

# بالنسبة لـ Pi 4 ، تحتاج إلى تحديثه : cd / tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # ستحصل على معلومات 2.52 إذا قمت بتثبيته بشكل صحيح

تثبيت مكتبات Python: (إذا قمت بتحديث SO بأحدث إصدار ، فستكون كل هذه الخطوات مثل "المتطلبات مستوفاة بالفعل").

sudo apt-get update

sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi. GPIO sudo pip3 install spidev

يمكنك الآن تنزيل الأمثلة من Waveshare: (هذا الجزء غير مطلوب ، ولكن يمكنك تنزيلها لمعرفة كيفية عملها).

sudo git clone

الورق الإلكتروني cd / RaspberryPi / & JetsonNano /

أوصيك بإزالة بعض المجلدات: - الورق الإلكتروني / Arduino (إنه Raspberry PI). - الورق الإلكتروني / STM32 (إنه Raspberry PI). - الورق الإلكتروني / Raspberry & JetsonNano / c (سنستخدم python في هذا المشروع).

لن تستخدمها ، ولست بحاجة إليها في Raspberry PI.

وإذا كنت ترغب في ذلك ، يمكنك إزالة جميع الملفات التي لا تحتاجها من مجلد "lib" ، مثل: - epd1in02.py - epd1in54.py - epd2in9.py - …

إذا كنا سنستخدم 2.7 بوصة ، فلن تكون هناك حاجة لبقية الملفات.

أوصيك بنقل المجلد "lib" قليلاً إلى الخلف لاستخدامه بسهولة:

sudo mv lib / الصفحة الرئيسية / pi / الورق الإلكتروني /

ومع ذلك ، يتم تضمين المكتبات في الكود الخاص بي (من GitHub).

تم تثبيت جميع البرامج المطلوبة.

الخطوة التالية هي رمزنا!

الخطوة 3: قم بتنزيل My Code

نحتاج الآن إلى تنزيل الكود من GitHub:

sudo git clone

مع هذا سيكون لدينا كل الكود المطلوب ، بما في ذلك المكتبات من Waveshare في المشروع الفعلي.

قم بتحرير الملف "ShowInfo.py" لإدخال رمز API الخاص بك من OpenWeather.com…. … والمدينة (استخدم اسم المدينة أو معرفها):

def WeatherForecast ():

url = "https://api.openweathermap.org/data/2.5/forecast؟" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" # مشاكل ASCII !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& Units = metric" # In Metric url = url + "& cnt = 6" # 6 نتائج فقط

ومع ذلك ، نحتاج إلى تثبيت ملفات الخطوط التي نستخدمها في المشروع ، حيث تم تنزيل الملفات بكودها الكامل.

الخطوط موجودة في مجلد "الورق الإلكتروني / الخطوط".

لفك السحاب:

sudo بفك ضغط Bangers.zip -d / usr / share / Fonts / truetype / google /

sudo unzip Bungee_Inline.zip -d / usr / share / Fonts / truetype / google / sudo unzip Bungee_Outline.zip -d / usr / share / Fonts / truetype / google / sudo unzip Bungee_Shade.zip -d / usr / share / lines / truetype / google / sudo unzip droid-sans.zip -d / usr / share / Fonts / truetype / google / sudo unzip Indie_Flower.zip -d / usr / share / Fonts / truetype / google / sudo unzip Jacques_Francois_Shadow.zip -d / usr / share / Fonts / truetype / google / sudo unzip Londrina_Outline.zip -d / usr / share / fonts / truetype / google / sudo unzip zip -d / usr / share / Fonts / truetype / google / sudo unzip Oswald.zip -d / usr / share / Fonts / truetype / google / sudo unzip Roboto.zip -d / usr / share / Fonts / truetype / google / sudo بفك ضغط Vast_Shadow.zip -d / usr / share / Fonts / truetype / google /

أوصيك بحذف ملفات zip بعد التثبيت ، لأننا لم نعد بحاجة إلى هذه الملفات:

sudo rm -R الخطوط

الخطوة 4: قم بإجراء الاختبار

قم بتنفيذ الاختبار
قم بتنفيذ الاختبار
قم بتنفيذ الاختبار
قم بتنفيذ الاختبار

انتقل إلى المجلد الصحيح حيث لدينا ملف الاختبار:

cd ~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk

نفّذ ملف الاختبار بالإصدار 3 من Python:

python3 Test001.py

سيكون لديك تعليقات متتبعة في غضون ذلك يتم تنفيذ البرنامج.

وفي شاشة e-Paper سترى الرسائل.

لكل زر ، ستعرض الشاشة رسالة مختلفة.

الخطوة 5: عرض معلومات القمر / الفضاء / محطة الفضاء الدولية…

إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…
إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…
إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…
إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…
إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…
إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…
إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…
إظهار معلومات القمر / الفضاء / محطة الفضاء الدولية…

حسنًا ، كلنا نركض ونريد الآن أن نرى أين توجد محطة الفضاء الدولية في جميع أنحاء العالم ، أو مرحلة القمر …

عليك أولاً تنفيذ الملف "ShowInfo.py" (الموجود في "~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk").

python3 ~ / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk / ShowInfo.py

والآن ، إذا ضغطت على زر واحد ، فستحصل على المعلومات المبرمجة على هذا الزر:

● الزر 1: توقعات الطقس.

● الزر 2: من هو في الفضاء وأين.

● الزر 3: أين تقع محطة الفضاء الدولية في جميع أنحاء العالم.

● الزر 4: معلومات عن القمر.

الخطوة 6: قم بتنفيذه كخدمة

كبديل ، يمكن بدء نص Python أثناء التمهيد عن طريق إنشاء خدمة - مزيد من المعلومات على https://www.raspberrypi.org/documentation/linux/u …

قم بإنشاء ملف جديد يسمى ShowInfo.service وانسخ المحتويات أدناه إلى الملف الجديد - اضبط مسار دليل العمل وفقًا لذلك:

[وحدة]

الوصف = ShowInfo After = network-online.target Wants = network-online.target [الخدمة] ExecStart = / usr / bin / python3 ShowInfo.py WorkingDirectory = / home / pi / eInk_Moon_ISS_PeopleSpace / e-Paper / ShowEInk / StandardOutput = ورث StandardError = ترث إعادة التشغيل = دائمًا User = pi [تثبيت] WantedBy = multi-user.target

انسخ ملف ShowInfo.service إلى / etc / systemd / system كجذر:

sudo cp ShowInfo.service / etc / systemd / system /

ابدأ الخدمة:

يبدأ sudo systemctl ShowInfo.service

تحقق مما إذا كانت الخدمة قيد التشغيل:

sudo systemctl status ShowInfo.service

يجب أن يكون الإخراج مشابهًا لـ:

● ShowInfo.service - معلومات العرض

تم التحميل: تم تحميله (/etc/systemd/system/ShowInfo.service ؛ معطل ؛ الإعداد المسبق للمورد: ممكّن) نشط: نشط (قيد التشغيل) منذ الجمعة 2020-09-11 15:17:16 CEST ؛ قبل 14 ثانية Main PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 / usr / bin / python3 ShowInfo.py سبتمبر 11 15:33:17 eInk systemd [1]: بدأ ShowInfo.

إذا كانت الخدمة تعمل بشكل جيد ، فيمكنك تمكينها وإعادة تشغيل Raspberry Pi لتحميلها تلقائيًا أثناء التمهيد:

يقوم sudo systemctl بتمكين ShowInfo.service

لإيقاف الخدمة:

sudo systemctl توقف ShowInfo.service

و هذا كل شيء !!!!!

شكرا !!!!!

موصى به: