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

قم ببناء محطة طقس Raspberry Pi SUPER: 8 خطوات (بالصور)
قم ببناء محطة طقس Raspberry Pi SUPER: 8 خطوات (بالصور)

فيديو: قم ببناء محطة طقس Raspberry Pi SUPER: 8 خطوات (بالصور)

فيديو: قم ببناء محطة طقس Raspberry Pi SUPER: 8 خطوات (بالصور)
فيديو: السؤال اللي حير المغاربة | شنو سر الستيل و التبوقيصة ديال العاهل الملكي محمد السادس في آخر ظهوره؟ 2024, يوليو
Anonim
Image
Image

دعونا نواجه الأمر ، نحن البشر نتحدث كثيرًا عن الطقس ⛅️. يتحدث الشخص العادي عن الطقس أربع مرات في اليوم ، بمعدل 8 دقائق و 21 ثانية. قم بالحسابات التي تبلغ 10 أشهر من حياتك ستقضيها في النبح بشأن الطقس. يُصنف الطقس على أنه الموضوع الأول في بداية المحادثة وكسر الصمت غير المريح. إذا كنا سنتحدث عن ذلك كثيرًا ، فقد نأخذ أيضًا مصداقية شارع الطقس لدينا إلى مستوى جديد تمامًا. سيعمل هذا المشروع الفائق المرح والسهل على الاستفادة من إنترنت الأشياء (IoT) و Raspberry Pi للقيام بذلك.

سنقوم ببناء لوحة معلومات IoT الخاصة بالطقس المحلي للغاية ، والتقاط الطقس داخل وخارج منزلنا بمرور الوقت. في المرة القادمة التي يسألك فيها شخص ما "ماذا عن الطقس مؤخرًا؟" ، ستكون قادرًا على سحق هاتفك وتركه لاهثًا باستخدام مهارتك في تحليل الطقس المجنون ☀️.

ما الذي ستحتاجه لأخذ الدورة: 1. Raspberry Pi مع اتصال بالإنترنت

2. Raspberry Pi SenseHAT

3. كابل تمديد ذكر إلى أنثى 6 40-Pin IDE (اختياري لدقة درجة الحرارة)

4. حساب الدولة الأولي

5. هذا كل شيء!

مستوى المشروع: مبتدئ

الوقت التقريبي للإكمال: 20 دقيقة

عامل المرح التقريبي: خارج المخططات

في هذا البرنامج التعليمي خطوة بخطوة ، ستتعلم: كيفية استخدام تكامل Weatherstack API في Initial State للحصول على الطقس المحلي الخارجي في منطقتك

- تعرف على كيفية استخدام Raspberry Pi مع Sense HAT (https://www.raspberrypi.org/products/sense-hat/) لالتقاط بيانات الطقس داخل منزلك

- قم ببناء لوحة معلومات الطقس المحلية الخاصة بك والتي يمكنك الوصول إليها من أي متصفح ويب على الكمبيوتر المحمول أو الجهاز المحمول

- امنح أخصائي الأرصاد الجوية الخاص بك فرصة للحصول على أموالهم

اللوازم

ما الذي ستحتاجه لأخذ الدورة:

1. Raspberry Pi مع اتصال بالإنترنت

2. Raspberry Pi SenseHAT

3. كابل تمديد ذكر إلى أنثى 6 40-Pin IDE (اختياري لدقة درجة الحرارة)

4. حساب الدولة الأولي

5. هذا كل شيء!

الخطوة الأولى: البدء

لقد وضعنا بالفعل الكثير من العمل من أجلك في وضع الشفرة معًا وتنظيم المعلومات. سنحتاج منك فقط إجراء بعض التعديلات على طول الطريق.

لاسترداد جميع الأشياء التي أعددناها لك ، ستحتاج إلى استنساخ المستودع من GitHub. Github هي خدمة رائعة تتيح لنا تخزين ومراجعة وإدارة مشاريع مثل هذه. لاستنساخ المستودع ، كل ما نحتاج إليه هو الانتقال إلى محطة Pi الخاصة بنا ، أو محطة أجهزة الكمبيوتر الخاصة بك التي تكون SSH موجودة في pi واكتب هذا الأمر:

استنساخ git $

اضغط على Enter وستظهر لك هذه المعلومات:

pi @ raspberrypi ~ استنساخ git $

الاستنساخ في "عالم العجائب" …

بعيد: عد الأشياء: 28 ، انتهى.

جهاز التحكم عن بعد: إجمالي 28 (دلتا 0) ، معاد استخدامه 0 (دلتا 0) ، إعادة استخدام الحزمة 28

تفريغ العناصر: 100٪ (28/28) ، تم.

التحقق من الاتصال … تم.

بمجرد أن ترى هذا ، تهانينا ، لقد نجحت في استنساخ Github Repo ولديك جميع الملفات اللازمة لبناء محطة Super Weather الخاصة بك. قبل أن ننتقل إلى الخطوة التالية ، دعنا نأخذ بعض الوقت لاستكشاف هذا الدليل ومعرفة بعض أوامر سطر الأوامر الأساسية.

اكتب الأمر أدناه في جهازك الطرفي:

ليرة سورية

يسرد هذا الأمر كل ما هو متاح في الدليل الذي أنت فيه حاليًا. توضح هذه القائمة أن Github Repo قد تم استنساخه بنجاح في دليلنا تحت اسم "wunderground-sensehat". دعونا نلقي نظرة على ما هو موجود في هذا الدليل. لتغيير الدليل ، كل ما عليك فعله هو كتابة “cd” ثم كتابة اسم الدليل الذي ترغب في الذهاب إليه.

في هذه الحالة ، سنكتب:

$ cd wunderground-sensehat

بمجرد الضغط على مفتاح الإدخال ، سترى أننا الآن في دليل wunderground-sensehat. دعنا نكتب ls مرة أخرى لنرى ما هي الملفات التي ثبتها على pi.

README.md sensehat.py sensehat_wunderground.py wunderground.py

هنا نرى أننا حصلنا على مستندنا التمهيدي ، وملفي بيثون مختلفين. دعونا نلقي نظرة على sensehat.py. بدلاً من القفز إلى الملف مع الأمر cd كما فعلنا مع الدليل ، سنستخدم الأمر nano. يسمح لنا الأمر nano بفتح محرر نصوص nano حيث لدينا كل كود python الخاص بنا لكل جزء من هذا المشروع. انطلق واكتب:

nano sensehat.py

هنا يمكنك رؤية جميع الشفرات التي أعددناها لك لهذا المشروع. لن نجري أي تغييرات على هذا المستند حتى الآن ، ولكن لا تتردد في التمرير والاطلاع على ما سنفعله لاحقًا في هذا البرنامج التعليمي.

الخطوة 2: الحالة الأولية

الحالة الأولية
الحالة الأولية

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

الخطوة 1: التسجيل للحصول على حساب الدولة الأولي

انتقل إلى https://www.initialstate.com/app#/register/ وأنشئ حسابًا جديدًا.

الخطوة 2: قم بتثبيت ISStreamer

قم بتثبيت وحدة Initial State Python على Raspberry Pi الخاص بك: في موجه الأوامر (لا تنس أن SSH في Pi الخاص بك أولاً) ، قم بتشغيل الأمر التالي:

$ cd / الرئيسية / pi /

$ / curl -sSL https://get.initialstate.com/python -o - | سودو باش

ملاحظة أمنية: يحتوي الأمر أعلاه على بعض التشريح المهم الذي يجب أن يكون المستخدم على دراية به.

1) يوجد قبل الضفيرة السابقة. هذا مهم لضمان عدم تشغيل أي اسم مستعار من curl إذا تم إنشاء واحد. يساعد هذا في تقليل مخاطر قيام الأمر بأكثر مما هو مقصود.

2) الأمر عبارة عن أمر مرن ، لذلك عند التشغيل ، فأنت تقوم بتوصيل إخراج البرنامج النصي الذي يتم استرداده من https://get.initialstate.com/python إلى الأمر sudo bash. يتم إجراء ذلك لتبسيط التثبيت ، ومع ذلك ، تجدر الإشارة إلى أن https مهم هنا للمساعدة في ضمان عدم وجود أي تلاعب في البرنامج النصي للتثبيت ، خاصة وأن البرنامج النصي يتم تشغيله بامتيازات مرتفعة. هذه طريقة شائعة لتبسيط التثبيت والإعداد ، ولكن إذا كنت أكثر حذرًا ، فهناك بعض البدائل الأقل ملاءمة: يمكنك تقسيم الأمر إلى خطوتين والتحقق من نص bash الذي يتم تنزيله من الأمر curl بنفسك لتضمنه إنها دقة أو يمكنك اتباع تعليمات النقطة ، فلن تحصل على مثال نصي تم إنشاؤه تلقائيًا.

الخطوة 3: اصنع بعض Automagic

بعد الخطوة 2 ، سترى شيئًا مشابهًا للإخراج التالي على الشاشة:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | سودو باش

كلمة المرور: بداية ISStreamer Python سهلة التثبيت!

قد يستغرق هذا بضع دقائق للتثبيت ، وشرب بعض القهوة:)

لكن لا تنسى العودة ، لدي أسئلة لاحقًا!

تم العثور على easy_install: setuptools 1.1.6

النقطة التي تم العثور عليها: النقطة 1.5.6 من /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7)

الإصدار الرئيسي من النقطة: 1

الإصدار الثانوي Pip: 5

تم العثور على ISStreamer ، جارٍ التحديث …

تم تحديث المتطلبات بالفعل: ISStreamer في /Library/Python/2.7/site-packages تنظيف …

هل تريد الحصول على مثال نصي تلقائيًا؟ [س / لا]

(قد يكون الإخراج مختلفًا ويستغرق وقتًا أطول إذا لم تقم بتثبيت وحدة دفق Python الأولية من قبل)

عند مطالبتك بالحصول على مثال على برنامج نصي تلقائيًا ، اكتب y.

سيؤدي هذا إلى إنشاء برنامج نصي للاختبار يمكننا تشغيله للتأكد من أنه يمكننا دفق البيانات إلى الحالة الأولية من Pi الخاص بنا. سيطلب منك:

أين تريد حفظ المثال؟ [افتراضي:./is_example.py]:

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

الخطوة 4: مفاتيح الوصول

دعنا نلقي نظرة على مثال البرنامج النصي الذي تم إنشاؤه. نوع:

نانو $ is_example.py

في السطر 15 ، سترى سطرًا يبدأ بـ Streamer = Streamer (bucket_…. تنشئ هذه السطور حاوية بيانات جديدة تسمى "Python Stream Example" وترتبط بحسابك. يحدث هذا الارتباط بسبب access_key = "…" المعلمة في نفس السطر. هذه السلسلة الطويلة من الأحرف والأرقام هي مفتاح الوصول إلى حساب الولاية الأولية. إذا انتقلت إلى حساب الولاية الأولية في متصفح الويب ، فانقر على اسم المستخدم الخاص بك في الجزء العلوي الأيمن ، ثم انتقل إلى "حسابي" ، ستجد مفتاح الوصول نفسه في أسفل الصفحة تحت عنوان "Streaming Access Keys".

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

الخطوة 5: قم بتشغيل المثال

قم بتشغيل البرنامج النصي التجريبي للتأكد من أنه يمكننا إنشاء دفق بيانات إلى حساب Initial State الخاص بك.

قم بتشغيل ما يلي:

$ python is_example.py

الخطوة السادسة: الربح

ارجع إلى حساب Initial State الخاص بك في متصفح الويب الخاص بك. يجب أن تظهر مجموعة بيانات جديدة تسمى "Python Stream Example" على اليسار في رف السجل (قد تضطر إلى تحديث الصفحة). انقر فوق هذا المستودع ثم انقر فوق رمز Waves لعرض بيانات الاختبار.

ستحتاج إلى التنقل خلال البرنامج التعليمي Waves للتعرف على كيفية استخدام أداة تصور البيانات هذه. بعد ذلك ، اعرض البيانات في "المربعات" لرؤية هذه البيانات نفسها في نموذج لوحة المعلومات.

أنت الآن جاهز لبدء دفق البيانات الحقيقية من Wunderground والمزيد.

الخطوة 3: الشعور بالقبعة

الشعور HAT
الشعور HAT
الشعور HAT
الشعور HAT
الشعور HAT
الشعور HAT

إن Sense HAT عبارة عن لوحة إضافية لـ Raspberry Pi مليئة بأجهزة الاستشعار ومصابيح LED وعصا التحكم الصغيرة. إن الشيء الرائع في هذه الوظيفة الإضافية الصغيرة هو أنها سهلة التثبيت والاستخدام بشكل لا يصدق بفضل مكتبة Python الرائعة التي يمكنك تثبيتها بسرعة. بالنسبة لهذا المشروع ، سنستخدم مستشعرات درجة الحرارة والرطوبة والضغط الجوي على Sense HAT. لنقم بإعداده.

الخطوة الأولى في استخدام Sense HAT هي تثبيتها فعليًا على Pi الخاص بك. مع تشغيل Pi ، قم بإرفاق HAT كما هو موضح في الصورة.

قم بتشغيل Pi الخاص بك. نحتاج إلى تثبيت مكتبة Python لتسهيل قراءة قيم المستشعر من Sense HAT. أولاً ، ستحتاج إلى التأكد من أن كل شيء محدث في إصدار Raspbian الخاص بك عن طريق كتابة:

sudo apt-get update

بعد ذلك ، قم بتثبيت مكتبة Sense HAT Python:

sudo apt-get install sense-hat

أعد تشغيل Pi الخاص بك

نحن على استعداد لاختبار Sense HAT من خلال قراءة بيانات المستشعر منها وإرسال تلك البيانات إلى الحالة الأولية.

دعنا نختبر Sense HAT للتأكد من أن كل شيء يعمل. سنستخدم البرنامج النصي الموجود في https://github.com/InitialState/wunderground-sensehat/blob/master/sensehat.py. يمكنك نسخ هذا البرنامج النصي إلى ملف موجود على Pi الخاص بك أو الوصول إليه من مستودع Github الذي قمنا باستنساخه سابقًا. قم بالتغيير إلى دليل wunderground-sensehat الخاص بك ثم nano في ملف senshat.py الخاص بك عن طريق كتابة:

nano sensehat.py

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

# --------- إعدادات المستخدم --------- CITY = "ناشفيل"

BUCKET_NAME = ": مشمس جزئي:" + CITY + "طقس"

BUCKET_KEY = "إحساس"

ACCESS_KEY = "Your_Access_Key"

SENSOR_LOCATION_NAME = "المكتب"

MINUTES_BETWEEN_SENSEHAT_READS = 0.1

# ---------------------------------

على وجه التحديد ، تحتاج إلى تعيين ACCESS_KEY الخاص بك إلى مفتاح الوصول إلى حساب الحالة الأولية. لاحظ مدى سهولة قراءة البيانات من Sense HAT في سطر واحد من Python (على سبيل المثال ، sense.get_temperature ()). في موجه الأوامر على Pi الخاص بك ، قم بتشغيل البرنامج النصي:

$ sudo python sensehat.py

انتقل إلى حساب الحالة الأولية الخاص بك واعرض مجموعة البيانات الجديدة التي تم إنشاؤها بواسطة Sense HAT.

الآن ، نحن على استعداد لتجميعها معًا وإنشاء لوحة معلومات الطقس المحلية الخاصة بنا!

الخطوة 4: Hyper Local Weather Dashboard

Hyper Local Weather Dashboard
Hyper Local Weather Dashboard
Hyper Local Weather Dashboard
Hyper Local Weather Dashboard

الخطوة الأخيرة في هذا المشروع هي ببساطة الجمع بين بيانات الطقس الخاصة بنا ونص HAT الخاص بنا في لوحة تحكم واحدة. للقيام بذلك ، سنستخدم تكامل الحالة الأولي مع Weatherstack لإضافة بيانات الطقس إلى لوحة معلومات Sensehat التي أنشأناها في الخطوة الأخيرة.

يعد استخدام واجهة برمجة تطبيقات Weatherstack أمرًا بسيطًا للغاية. في الماضي في هذا البرنامج التعليمي ، كان علينا إنشاء برنامج نصي وتشغيله لسحب البيانات من واجهة برمجة تطبيقات لبيانات الطقس ، ولكن منذ بداية هذا البرنامج التعليمي ، قامت الحالة الأولية بإنشاء سوق تكامل البيانات. يمنحك سوق تكامل البيانات القدرة على الوصول إلى واجهة برمجة التطبيقات (API) ودفقها إلى لوحة معلومات الحالة الأولية بدون رمز. إنها حرفيًا بضع نقرات بالماوس و BAM: بيانات الطقس. على Medium ، كتبت برنامجًا تعليميًا أكثر تعمقًا حول كيفية استخدام تكامل Weatherstack وإنشاء تنبيهات الطقس ، لكنني سأدرج بسرعة كيفية البدء أدناه.

استخدام تكامل Weatherstack

1. قم بتسجيل الدخول إلى حسابك الأولي

2. انقر فوق زر التفاصيل في مربع Weatherstack في صفحة عمليات الدمج. ستخبرك هذه الصفحة بجميع المعلومات الأساسية حول التكامل وما هو مطلوب لاستخدامه. في هذه الحالة ، ستحتاج فقط إلى رمز بريدي (أو خط العرض وخط الطول) للموقع الذي تريد مراقبة الطقس فيه ، وسيتعين عليك معرفة الوحدات التي تريد أن ترى تلك البيانات فيها (متري أو علمي أو إمبراطوري أمريكي).

3. انقر فوق الزر "بدء الإعداد" وسترى نافذة منبثقة مشروطة من الجانب الأيمن من شاشتك. هناك بعض الخطوات السهلة التي يجب اتخاذها قبل أن نتمكن من بدء مشاهدة بيانات الطقس:

4. امنح لوحة القيادة الجديدة اسمًا. سميت لي Nashville Weather. Pro نصيحة: أحب استخدام الرموز التعبيرية في أسماء لوحات المعلومات لمنحهم المزيد من الجاذبية. طريقة سريعة لسحب الرموز التعبيرية على جهاز Mac هي Ctrl + Command + Space bar. بالنسبة لنظام التشغيل Windows ، اضغط على زر Windows مع النقطة (.) أو الفاصلة المنقوطة (؛). 2 5. اكتب موقعك. أستخدم الرمز البريدي للمنطقة التي أرغب في تتبعها ، ولكن يمكنك أيضًا وضع خط الطول وخط العرض لتكون أكثر تحديدًا. من السهل العثور على خطوط الطول والعرض لمنطقتك بمجرد الانتقال إلى خرائط Google والبحث عن مكان ثم نسخ خط الطول وخط العرض خارج المتصفح ولصقه في النموذج. يمكن استخدام مواقع الولايات المتحدة والمملكة المتحدة وكندا فقط في الوقت الحالي.

6. اختر الوحدات الخاصة بك. اخترت US / Imperial لأنني عشت في الولايات المتحدة.

7. اختر إنشاء حاوية جديدة أو إرسال بيانات Weatherstack الخاصة بك إلى حاوية موجودة. في هذا البرنامج التعليمي ، إذا قمت بالفعل بإعداد Sense Hat للدفق إلى الحالة الأولية (في الخطوة الأخيرة) ، فما عليك سوى إرسال بيانات Weatherstack إلى هذا الدلو.

8. اختر ما إذا كنت تريد جميع البيانات التي ترسلها Weatherstack أو إذا كنت تريد فقط إرسال بيانات الطقس المحددة إلى لوحة المعلومات الخاصة بك. يمكنك دائمًا إرسال جميع البيانات وإخراج بعض المربعات لاحقًا.

9. اختر عدد المرات التي تريد أن يتم فيها تحديث لوحة القيادة وفقًا لظروف الطقس. يمكنك الاختيار بين كل 15 دقيقة أو كل ساعة بساعة. ضع في اعتبارك أن إرسال البيانات كل 15 دقيقة يكلف رمزًا إضافيًا مقارنة بإرسالها كل ساعة. لذلك ، إذا كنت ترغب في استخدام عمليات تكامل أخرى في السوق في نفس الوقت ، فقد ترغب في إجراء استطلاع كل ساعة. يمكنك دائمًا إيقاف إرسال البيانات من التكامل والبدء مرة أخرى ، أو تغيير التردد الذي ترسل به البيانات لاحقًا. ومع ذلك ، إذا أوقفته وبدأت من جديد ، فستكون هناك فجوات في بياناتك.

10. انقر فوق بدء التكامل. أنت الآن تبث البيانات من Weatherstack! انقر فوق الزر "عرض في تطبيق IoT" لمشاهدة أول نقاط البيانات التي تظهر.

11. تخصيص لوحة القيادة الخاصة بك. إذا كنت تقوم بالبث إلى حاوية جديدة ، فقد أعددنا لك نموذجًا لتبدأ. ومع ذلك ، يجب أن تجعلها خاصة بك! اضغط على السهم لأسفل في منتصف الجزء العلوي من لوحة المعلومات الخاصة بك لإسقاط المخطط الزمني ، وانقر فوق تحرير البلاط ، وتحريك بعض المربعات ، وتغيير حجمها وتغيير الخلفية. اجعل لوحة التحكم بالطريقة التي تريدها بحيث يسهل عليك استيعاب البيانات التي تريد جمعها. يمكنك أيضًا استخدام قوالب Weatherstack الأخرى التي أنشأناها لك هنا. لإضافة المزيد من السياق إلى لوحة التحكم ، يمكنك أيضًا إضافة خريطة توضح الموقع الذي تراقب فيه الطقس. قد تبدو لوحة القيادة الخاصة بك عارية قليلاً في البداية ، ولكن امنحها بعض الوقت وستمتلئ ببيانات الطقس التاريخية الجميلة.

الخطوة 5: إضافة خريطة إلى لوحة التحكم (مكافأة)

أضف خريطة إلى لوحة المعلومات الخاصة بك (مكافأة)
أضف خريطة إلى لوحة المعلومات الخاصة بك (مكافأة)
أضف خريطة إلى لوحة المعلومات الخاصة بك (مكافأة)
أضف خريطة إلى لوحة المعلومات الخاصة بك (مكافأة)
أضف خريطة إلى لوحة المعلومات الخاصة بك (مكافأة)
أضف خريطة إلى لوحة المعلومات الخاصة بك (مكافأة)

يمكننا بسهولة إضافة مربع خريطة إلى لوحة القيادة الخاصة بنا يوضح موقع تيار الطقس لدينا. يمكنك معرفة المزيد حول عرض الخريطة التفاعلية في المربعات في https://support.initialstate.com/knowledgebase/articles/800232-tiles-map-view. يمكننا ببساطة إضافة بيان streamer.log جديد في نص Python الخاص بنا (وسأشرح كيف يمكنك القيام بذلك في نهاية هذا القسم). بدلاً من ذلك ، سننتهز هذه الفرصة لنوضح لك طريقة مختلفة لإرسال البيانات إلى لوحة التحكم الخاصة بك.

الخطوة 1: احصل على إحداثيات خطوط الطول / العرض لموقعك

تحتاج إلى الحصول على إحداثيات خطوط الطول / العرض لموقعك. تتمثل إحدى طرق القيام بذلك في الانتقال إلى خرائط Google والبحث عن موقعك والتكبير إلى موقعك المحدد. في عنوان URL ، سترى إحداثيات خطوط الطول / العرض الخاصة بك. في المثال أعلاه ، إحداثياتي هي 35.925298 ، -86.8679478.

انسخ إحداثياتك (ستحتاجها في الخطوة 2) ، وتأكد من عدم نسخ أي أحرف إضافية عن طريق الخطأ من عنوان URL.

الخطوة 2: أنشئ عنوان URL لإرسال البيانات إلى لوحة التحكم

انقر على رابط "الإعدادات" أسفل اسم الحاوية في رف الجرافة. سيؤدي هذا إلى إظهار الشاشة أعلاه. انسخ النص في قسم API Endpoint والصقه في محرر النصوص المفضل لديك. سنستخدم هذا لإنشاء عنوان URL يمكننا استخدامه لإرسال البيانات إلى الحاوية ولوحة القيادة الموجودة لدينا. في دلو الخاص بي ، يبدو النص الذي نسخته كما يلي: https://groker.initialstate.com/api/events؟accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1 سيحتوي عنوان URL الخاص بك على مفتاح الوصول ومفتاح bucketKey. نحتاج إلى إضافة اسم دفق وقيمة إلى معلمات URL لإكمال عنوان URL.

أضف "& MapLocation = YOUR_COORDINATES_FROM_STEP1" إلى عنوان URL الخاص بك

(أدخل الإحداثيات من الخطوة 1 ، بدون مسافات ولا تنسخ الإحداثيات !!)

إليك ما يبدو لي: https://groker.initialstate.com/api/events؟accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1&MapLocation=35.925298، -86.8679478

الصق عنوان URL الكامل لشريط العنوان في متصفحك واضغط على Enter (أو استخدم الأمر "curl" في موجه الأوامر) لإرسال إحداثيات خريطتك إلى التدفق ، "MapLocation" ، في الحاوية الجديدة.

إذا نظرت إلى لوحة القيادة في البلاط الآن (قد تضطر إلى التحديث إذا نفد صبرك) ، فمن المفترض أن يظهر مربع جديد يسمى MapLocation مكبّرًا في موقعك الحالي.

الخطوة 2 البديل: تعديل البرنامج النصي الخاص بك

إذا لم تعجبك الخطوة 2 أعلاه ، يمكنك ببساطة إضافة عبارة streamer.log أخرى إلى نص Python الخاص بك. ببساطة أضف السطر

streamer.log ("MapLocation"، "YOUR_COORDINATES_FROM_STEP1")

في مكان ما داخل def main (): وظيفة البرنامج النصي sensehat_wunderground.py (انتبه إلى المسافة البادئة b / c Python يتطلب منك اتباع قواعد المسافة البادئة الصارمة). على سبيل المثال ، أضفت streamer.log ("MapLocation" ، "35.925298 ، -86.8679478") مباشرةً بعد السطر 138.

الخطوة 6: إصلاح قراءة درجة حرارة Sense Hat

إصلاح قراءة درجة حرارة قبعة الاستشعار
إصلاح قراءة درجة حرارة قبعة الاستشعار
إصلاح قراءة درجة حرارة قبعة الاستشعار
إصلاح قراءة درجة حرارة قبعة الاستشعار
إصلاح قراءة درجة حرارة قبعة الاستشعار
إصلاح قراءة درجة حرارة قبعة الاستشعار

قد تلاحظ أن قراءات درجة حرارة Sense HAT تبدو مرتفعة بعض الشيء - وذلك لأنها كذلك. الجاني هو الحرارة الناتجة عن تسخين وحدة المعالجة المركزية الخاصة بـ Pi للهواء حول Sense HAT عندما تكون على قمة Pi.

لجعل مستشعر درجة الحرارة مفيدًا ، نحتاج إما إلى إخراج HAT بعيدًا عن Pi (والذي من شأنه القضاء على الميزة المهمة لكونه حلاً مضغوطًا) أو محاولة معايرة قراءة مستشعر درجة الحرارة. تعد وحدة المعالجة المركزية السبب الرئيسي للحرارة الطفيلية التي تؤثر على مستشعر درجة الحرارة لدينا ، لذلك نحتاج إلى معرفة الارتباط. عند مراجعة Enviro pHAT لـ Pi Zero ، توصلنا إلى معادلة لحساب درجة حرارة وحدة المعالجة المركزية التي تؤثر على قراءة درجة حرارة القبعة. نحتاج فقط إلى درجة حرارة وحدة المعالجة المركزية وعامل قياس لحساب درجة الحرارة المُعايرة:

temp_calibrated = temp - ((cpu_temp - temp) / عامل)

يمكننا إيجاد العامل بتسجيل درجة الحرارة الفعلية وحلها. من أجل العثور على درجة الحرارة الفعلية في الغرفة ، نحتاج إلى إعداد مستشعر درجة حرارة مختلف. باستخدام مستشعر DHT22 (تعليمات الإعداد هنا والنص هنا) ، يمكننا تسجيل وتصور كلتا درجات الحرارة في وقت واحد:

تظهر النتيجة أن قراءة Sense HAT معطلة بمقدار 5-6 درجات فهرنهايت بشكل ثابت. عند إضافة درجة حرارة وحدة المعالجة المركزية إلى المزيج (مع هذا البرنامج النصي) ، يظهر أولاً أنه ساخن للغاية ، ويكشف ثانيًا عن نوع من الموجة التي يحاكيها قياس Sense HAT.

بعد التسجيل لمدة 24 ساعة تقريبًا ، قمت بحل العامل باستخدام ست قراءات مختلفة في ست نقاط مختلفة في الوقت المناسب. أعطى حساب متوسط قيم العامل قيمة عامل نهائي قدرها 5.466. تطبيق المعادلة

temp_calibrated = temp - ((cpu_temp - temp) /5.466)

جاءت درجة الحرارة المُعايرة في حدود درجة واحدة من قراءة درجة الحرارة الفعلية:

يمكنك تشغيل تصحيح المعايرة هذا على Pi نفسه ، داخل البرنامج النصي wunderground_sensehat.py.

الخطوة 7: المكافأة: تكوين تنبيهات الطقس الخاصة بك

المكافأة: تكوين تنبيهات الطقس الخاصة بك
المكافأة: تكوين تنبيهات الطقس الخاصة بك
المكافأة: تكوين تنبيهات الطقس الخاصة بك
المكافأة: تكوين تنبيهات الطقس الخاصة بك

لنقم بإنشاء تنبيه عبر الرسائل القصيرة عندما تنخفض درجة الحرارة عن درجة التجمد.

سنقوم باتباع عملية إعداد إعلام Trigger الموضحة في صفحة الدعم.

تأكد من تحميل دلو بيانات الطقس.

انقر فوق إعدادات الحاوية في رف البيانات (تحت اسمه).

انقر فوق علامة التبويب المشغلات.

حدد دفق البيانات المراد تشغيله (يمكنك استخدام القائمة المنسدلة للاختيار من التدفقات الحالية بمجرد تحميل مجموعة بيانات أو يمكنك كتابة اسم / مفتاح الدفق يدويًا ؛ * ملاحظة لا يدعم Safari القوائم المنسدلة HTML5). في المثال الخاص بي في لقطة الشاشة أعلاه ، اخترت درجة الحرارة (F).

حدد عامل التشغيل الشرطي ، في هذه الحالة "<".

حدد قيمة المشغل التي ستطلق إجراءً (اكتب القيمة المطلوبة يدويًا). في هذه الحالة ، اكتب 32 كما هو موضح أعلاه.

انقر فوق الزر "+" لإضافة شرط Trigger.

حدد الإجراء (يتم الإخطار بالإجراءات الحالية المتاحة عن طريق الرسائل القصيرة أو البريد الإلكتروني).

انقر فوق الزر "+" لإضافة الإجراء. أدخل أي رمز تحقق في حالة إضافة رقم هاتف أو بريد إلكتروني جديد لإكمال الإعداد.

الزناد الخاص بك هو الآن نشط وسيطلق النار عند استيفاء الشرط. انقر فوق "تم" للعودة إلى الشاشة الرئيسية.

PIR SMS

عندما تنخفض درجة الحرارة عن 32 ، ستصلك رسالة نصية. يمكنك تعيين التنبيهات على أي شيء في حاوية بيانات الطقس (* لاحظ أنك بحاجة إلى استخدام الرموز التعبيرية ، وليس الرموز التعبيرية الفعلية).

على سبيل المثال ، عندما تمطر

: سحابي: أحوال الطقس =: مظلة:

كلما كان الجو عاصفا

: اندفاعة: سرعة الرياح (ميلا في الساعة)> 20

إلخ.

الخطوة الثامنة:

مسابقة إنترنت الأشياء 2016
مسابقة إنترنت الأشياء 2016
مسابقة إنترنت الأشياء 2016
مسابقة إنترنت الأشياء 2016

الجائزة الثانية في مسابقة إنترنت الأشياء 2016

موصى به: