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

التغريد محطة الطقس: 8 خطوات (بالصور)
التغريد محطة الطقس: 8 خطوات (بالصور)

فيديو: التغريد محطة الطقس: 8 خطوات (بالصور)

فيديو: التغريد محطة الطقس: 8 خطوات (بالصور)
فيديو: أداة انشاء جميع خرائط الطقس الحالي بضغطة واحدة ArcGIS 2024, يوليو
Anonim
التغريد محطة الطقس
التغريد محطة الطقس

هل أردت يومًا مراقبة أحوال الطقس الحالية في مدينتك ، والبصمة الكربونية ، ومستويات الضوضاء والتلوث؟ هل تريد أن تكون مناصرًا لتغير المناخ أو أن تنشئ محطة الطقس الخاصة بك على تويتر وشارك أحوال الطقس المحلية مع العالم؟

تعرف على Tweeting Weather IoT Station ويعرف أيضًا باسم TWIST - منصة مراقبة بيئية مفتوحة المصدر والحصول على بيانات الأرصاد الجوية. الغرض من برنامج TWIST هو تمكين الأفراد والمجتمعات من جمع بيانات عما يحدث بالفعل في بيئتهم ومشاركة هذه البيانات على وسائل التواصل الاجتماعي مثل Twitter.

  • تويست هي عبارة عن منصة مدعومة من إنترنت الأشياء (IoT).
  • عقل تويست هو لوحة إنتل إديسون.
  • تويست متوافق مع مجموعة متنوعة من أجهزة الاستشعار.
  • جميع التعليمات البرمجية وملفات التصميم (المخططات وتخطيط ثنائي الفينيل متعدد الكلور) مفتوحة المصدر. هذا يعني أنه يمكن لأي شخص المساهمة في منصة تويست من خلال مشاركة الكود والخطط لأجهزة الاستشعار المختلفة.

يتكون تويست من ثلاث طبقات تكنولوجية:

الطبقة الأولى عبارة عن لوحة أجهزة تحتوي على جميع مستشعرات الطقس والبيئة المعروفة باسم "لوحة الاستشعار". كما يوحي الاسم ، فإنه يحمل أجهزة استشعار تقيس تكوين الهواء ودرجة الحرارة والرطوبة والمطر. يمكن أيضًا إضافة مستشعرات إضافية مثل النشاط الزلزالي ، مؤشر الأشعة فوق البنفسجية ، الضغط الجوي ، الارتفاع ، لوكس (اللمعان) ، مستويات الصوت ، سرعة الرياح واتجاهها ، إلخ. بمجرد أن يتم إعدادها ، فإن لوحة الاستشعار قادرة على دفق البيانات التي تم قياسها بواسطة المستشعرات إلى الطبقة الثانية. الطبقة الثانية هي Intel Edison Board التي تتلقى البيانات من لوحة الاستشعار ، وتعالجها وترسلها إلى الطبقة التالية. تربط الطبقة الثالثة لوحة Edison Board الخاصة بك بالإنترنت عبر Wi-Fi باستخدام الوحدة اللاسلكية على لوحة Edison و Tweet في الطقس الحالي والظروف البيئية.

يمكن توفير الطاقة للجهاز بواسطة لوحة شمسية أو محول تيار متردد.

مستودعات التحكم في الإصدار

جميع الطبقات التكنولوجية الثلاث لـ TWIST مفتوحة المصدر ، وبالتالي فإن جميع الملفات التي نستخدمها للتعليمات البرمجية وتطوير PCB والتصميم الميكانيكي وما إلى ذلك متاحة بسهولة في مستودع Github الخاص بنا.

إدخالات المسابقة

Intel IoT Invitational

أود أن أشكر Intel + Instructables لتزويدي بلوحة Intel Edison Board. أخطط لعمل المزيد من التعليمات المتعلقة بإنترنت الأشياء باستخدام لوحة Edison.

# يوتويذر

إذا قمت بعمل تويست ، فلا تنس أن تغرد الطقس باستخدام #iotweatherstn. يمكن أن يكون #iotweatherstn علامة تصنيف مستخدمة من قبل جميع محطات Tweeting الخاصة بالطقس التي تعمل بإنترنت الأشياء.

الخطوة 1: الأجزاء والمواد

الأجزاء والمواد
الأجزاء والمواد
الأجزاء والمواد
الأجزاء والمواد
الأجزاء والمواد
الأجزاء والمواد

QuantityPartDetails 1

إنتل اديسون

مع لوحة اندلاع اردوينو

1

مستشعر الغاز القابل للاحتراق MQ2

1

[يل -83]

جهاز استشعار المطر

1

SL-HS-220

مستشعر درجة الحرارة والرطوبة

1

المقاوم

32 ك

4.7 ك

3 المواجهة المعدنية 1 بوصة

1

المقاوم

32 ك

4.7 ك

2

ورق خشب مقاس A4

يمكن في وقت لاحق أن تقطع في الحجم

3

المواجهة المعدنية

1 بوصة

الخطوة الثانية: التصميم الكهربائي

قوة

يتم تشغيل النظام بأكمله من مصدر طاقة 5 فولت 1 أمبير. المستشعرات (درجة الحرارة ، الرطوبة ، المطر ، الغاز) تجذب حوالي 200 مللي أمبير ، و Edison حوالي 500 مللي أمبير ، نظرًا لأن إجمالي التيار المطلوب أقل من 1 أمبير ، يجب أن يعمل مصدر 1 أمبير بشكل جيد. يتم استخدام مؤشر LED الأخضر المدمج على الرقم 13 من لوحة Edison لإظهار حالة الطاقة.

ControlAn إنتل إديسون يدير العرض ل تويست. يتم تثبيت Edison على لوحة اندلاع Arduino ، مما يجعل من السهل قراءة الإشارات الرقمية والتناظرية من المستشعرات. يتم توصيل Edison بسكة 5V عبر كابل USB صغير. يحتوي Edison على راديو Wi-Fi مدمج ، والذي يسمح له بالاتصال بتويتر دون الحاجة إلى أي أجهزة إضافية.

ساعة الوقت الحقيقي (RTC)

نظرًا لأن الختم الزمني الذي ينفذه Twitter تلقائيًا لكل تغريدة له دقة محدودة بعدد الأيام الإجمالية منذ وقت التغريد ، يتم استخدام ساعة في الوقت الفعلي لختم التاريخ والوقت بدقة في الساعة-الدقيقة- التنسيق الثاني. ساعة الوقت الحقيقي المستخدمة في منصة تويست هي وحدة DS-1307 RTC.

المستشعرات: يحتوي الإعداد الأساسي لهذا النظام على أربعة مستشعرات (درجة الحرارة ، الرطوبة ، المطر ، الغاز) التي تتصل بـ Edison. يمكن إضافة مستشعرات إضافية مثل الضوضاء والرياح وما إلى ذلك. يتم تشغيل كل مستشعر بشكل مباشر من سكة 5 فولت ويتم توصيل دبوس الإشارة الخاص به على التوالي بالمسامير التناظرية من A0 إلى A2 والدبوس الرقمي 2 على لوحة الفصل Edison. يحتوي كل جهاز استشعار أيضًا على مقياس جهد لتعديل الحساسية مركب على كل لوحة مستشعر ؛ MQ-2 عبارة عن مستشعر غاز قابل للاحتراق (غاز البترول المسال ، البروبان ، الهيدروجين ، والميثان) ينتج جهدًا تناظريًا يتناسب مع تركيز الغازات في أجزاء في المليون. يحتوي SL-HS-220 على ثرمستور يعطي قيمة درجة الحرارة. نظرًا لأن خرج الثرمستور غير خطي ، يتم توفير جدول درجة الحرارة المقابل في مستودع المستشعر. يتطلب الثرمستور دائرة مقسم جهد عند توصيله بلوحة Edison كما هو موضح في مخطط الدائرة. يحتوي SL-HS-220 أيضًا على مقياس رطوبة يحمل في ثناياه عوامل يقيس الرطوبة ويخرج جهدًا تناظريًا يتوافق مع قيمة رطوبة ثابتة. جدول الرطوبة والجهد موجود أيضًا في مستودع المستشعرات. بديل شائع لـ SL-HS-220 هو مستشعر DHT11. يحتوي مستشعر المطر / مستشعر المياه على مقياس جهد يتم تعديله لإعطاء مخرجات رقمية لكمية معينة من المطر والتي يمكن للمستخدم تعديل حساسيتها.

محطة الطقس

الخطوة الثالثة: التصميم الميكانيكي

يتكون جسم تويست من لوحين من الألواح الخشبية. على الرغم من أنني استخدمت الخشب الرقائقي 1/4 بوصة ، إلا أنه يمكن تجميع التصميم من أي مادة صفائح حيث أن التباعد (الذي يتم الحفاظ عليه بواسطة مواضع من الألومنيوم 1 بوصة) هو العنصر الأساسي الوحيد. لقد أرفقت ملفات المتجه للتنزيل أعلاه.

قطع بالليزر

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

الخطوة 4: تجميع الإطار: الوجه والقاعدة

غطاء

تتلاءم المستشعرات مع الثقوب والقواطع المطابقة لها ويمكن تثبيتها باستخدام البراغي أو الغراء.

لوح القاعده

مواجهات لوحة Edison مثبتة على اللوح الأساسي. يمكن أيضًا ربط المحول التناظري إلى الرقمي (ADC) المتصل بمستشعر المطر على اللوح الأساسي.

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

يتم فصل كل من اللوح الأساسي ولوحة الواجهة بواسطة مواجهات 1 بوصة.

الخطوة 5: تجميع الإلكترونيات وأجهزة الاستشعار

قوة

يتم توفير الطاقة للنظام بواسطة محول حائط مزود بمقبس أسطواني قياسي متصل مباشرة بموصل Edison's Barrel. يمكن أيضًا تشغيل النظام من خلال منفذ USB على لوحة Edison. يمكنك أيضًا تشغيل اللوحة من لوحة شمسية خارجية.

مجسات

يتم توصيل المستشعرات بألواح الفصل ذات الرؤوس الذكور ، وبالتالي يمكن توصيلها مباشرة بـ Edison عبر أسلاك توصيل من الذكور إلى الإناث.

الخطوة 6: تهيئة Twitter

من أجل التغريد ، نستخدم تطبيقًا تابعًا لجهة خارجية تم تطويره بواسطة NeoCat والذي يحصل على رمز Twitter الذي ستحتاجه للتغريد باستخدام لوحة Edison الخاصة بك. يمكن أيضًا الحصول على الرموز من صفحة ويب Twitter للمطورين.

لذلك ، للبدء ، قم بزيارة موقع NeoCat على الويب ، واتبع البرنامج التعليمي للحصول على مكتبة Twitter ورمز Twitter الخاص بك. كما ذكرت NeoCat على موقعهم ، يرجى عدم إساءة استخدام الخدمة. حافظ على تغريداتك قليلة. إذا كنت بحاجة إلى شيء يقوم بالتغريد كل 6 ثوانٍ ، فيجب عليك إعداد الخادم الخاص بك وتطبيق تويتر ، وبالتالي فإن الكود الذي كتبته يضمن عدم تحميل خادم NeoCat بشكل زائد (تغريدات تويست كل 6 ساعات).

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

رمز تويتر

مكتبة التغريد اردوينو

الخطوة 7: البرنامج والتكوين

اتبع دليل إعداد Intel لإصدار Intel Edsion قبل البدء في الترميز.

البرنامج عبارة عن رسم تخطيطي من Arduino يعمل على Edison. لقد شرحت كل من الكتل الرئيسية من الكود أدناه.

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

سقسقة تأخير

نظرًا لأن Twitter يقوم بتصفية التغريدات التي تحتوي على نفس المحتوى ويتم تغريدها خلال فترات زمنية قصيرة بين كل تغريدة ، فقد تم تعيين تأخير قياسي لمدة 3 ساعات (10800000 مللي ثانية) بين كل تغريدة.

tweetMessage () ،

تأخير (10800000) ؛

اكتب صب

توجد الكثير من القراءات التي نحصل عليها من المستشعرات في نوع البيانات "int" أو "float". ولكن نظرًا لأننا نغرد هذه القيم ، فنحن بحاجة إلى تحويلها إلى نوع بيانات "سلسلة". لهذا نستخدم تقنية خاصة من النوع Type-casting.

char * dtostrf (حرف مزدوج ، عرض حرف مُوقع ، حرف حرف غير مُوقَّع ، حرف * سوت) {

char fmt [100] ؛ sprintf (fmt، "٪٪٪ d.٪ df"، width، prec) ؛ sprintf (سوت ، fmt ، فال) ؛ عودة صوت }

رمز تويتر

يتم إنشاء رمز Twitter المميز على موقع NeoCat الإلكتروني ويجب لصقه في مساحة الرمز المميز هنا.

tweetMessage باطل () {

Twitter twitter ("أدخل رمز تويتر هنا") ؛

التغريد قيم الاستشعار

من أجل التغريد بقيمة المستشعر ، نقوم أولاً بتضمين نوع المستشعر ؛ مثال: "الرطوبة". يتبع ذلك إعلان عن الحرف وسطر من الكود المطلوب للتلبيس. بعد ذلك نضيف بيانًا لوحدة القياس ؛ مثال: "٪ RH". يمكننا الاستمرار في إضافة قيم أجهزة الاستشعار الأخرى أيضًا بطريقة مماثلة.

رطوبة()؛ تطفو رطبة

// Twitter message String stringMsg = "الرطوبة:" ؛ شار tmp [10] ؛ dtostrf (رطب ، 1 ، 2 ، tmp) ؛ stringMsg + = tmp ؛ stringMsg + = "٪ RH" ؛

موقع محطة الطقس والعلامات

بعد ذلك ، نضع علامة على الموقع (المدينة ، والمنطقة المحلية ، وما إلى ذلك) والعلامات الأخرى مثل #iotweatherstn.

stringMsg + = "#Mumbai #Bandra #iotweatherstn" ؛

ساعة الوقت الحقيقي (RTC)

كما هو موضح سابقًا ، يمكن لـ TWIST أيضًا التغريد على بيانات ساعة الوقت الحقيقي. يوجد أدناه مثال على كتلة معلمة "اليوم" الخاصة برمز RTC. ميزة Real Time Clock اختيارية في منصة تويست لأن الوحدة تأتي بشكل منفصل. ومن ثم ، يوجد فرع منفصل تم إنشاؤه في مستودع تويست للرمز والتخطيطات لفرع ساعة الوقت الحقيقي.

TwistDateTime () ، DateTime now = rtc.now () ؛ int twistday ، twistmonth ، twistyear ، twisthour ، twistmin ، twistec ؛ String stringMsg = "" ؛ شار ds1307day [10] ؛ dtostrf (تويستداي ، 1 ، 0ds1307day) ؛ stringMsg + = ds1307day ؛ stringMsg + = "/" ؛

140 حرفًا كحد أقصى

تغطي كتلة الكود هذه مجموعة السلسلة إلى 140 حرفًا جاهزًا للتغريد.

char msg [140]؛

stringMsg.toCharArray (msg، 140) ،

استكشاف أخطاء الرسائل والاتصال وإصلاحها

تطبع كتلة الكود هذه سطرين من النص في Serial Monitor لمساعدة المستخدم على التحقق من الرسالة وحالة التغريدات.

// تويت هذا المصاص!

if (twitter.post (msg)) {int status = twitter.wait () ؛ إذا (الحالة == 200) {Serial.println ("موافق.") ؛ Serial.println ("رسالة Twitter") ؛ } else {// Connection Test Serial.print ("فشل: كود") ؛ Serial.println ("لم يتم تغريد الرسالة") ؛ Serial.println (الحالة) ؛ }} else {Serial.println ("فشل الاتصال.")؛ Serial.println ("لم يتم تغريد الرسالة") ؛ }

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

يمكن تنزيل الكود من هنا أو من المستودع الرئيسي:

محطة الطقس

الخطوة الثامنة: المساهمة في مستودع المستشعرات

هل أنت مبرمج أو مهندس أو مصمم لديه فكرة رائعة عن ميزة جديدة في تويست؟ ربما لديك فكرة جيدة لإصلاح الخلل؟ لا تتردد في الحصول على الكود والمخططات وملفات CAD الخاصة بنا من Github والعبث بها.

تويست جيثب

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

الجائزة الثانية في Intel® IoT Invitational

موصى به: