فهرست مطالب:

توییت ایستگاه هواشناسی: 8 مرحله (همراه با تصاویر)
توییت ایستگاه هواشناسی: 8 مرحله (همراه با تصاویر)

تصویری: توییت ایستگاه هواشناسی: 8 مرحله (همراه با تصاویر)

تصویری: توییت ایستگاه هواشناسی: 8 مرحله (همراه با تصاویر)
تصویری: واقعا رفتم جزیره لختیها لخت مادرزاد شدم 2024, جولای
Anonim
توییت ایستگاه هواشناسی
توییت ایستگاه هواشناسی

آیا تا به حال خواسته اید شرایط آب و هوایی فعلی شهر شما ، ردپای کربن ، سر و صدا و آلودگی را تحت نظر داشته باشید؟ آیا می خواهید یک صلیبی تغییر اقلیم باشید یا ایستگاه هواشناسی توییت خود را راه اندازی کنید و شرایط آب و هوایی محلی خود را با جهان به اشتراک بگذارید؟

Meet Tweeting Weather IoT Station معروف به TWIST - یک DIY ، پایش محیطی منبع باز و پلت فرم کسب اطلاعات هواشناسی. هدف از TWIST این است که افراد و جوامع بتوانند داده های واقعاً در محیط خود را جمع آوری کرده و این داده ها را در رسانه های اجتماعی مانند توییتر به اشتراک بگذارند.

  • TWIST یک پلت فرم اینترنت اشیاء (IoT) است.
  • مغز TWIST یک برد ادیسون اینتل است.
  • TWIST با انواع حسگرها سازگار است.
  • همه کد ، فایل های طراحی (شماتیک و طرح PCB) منبع باز هستند. این بدان معناست که هرکسی می تواند با به اشتراک گذاشتن کد و شماتیک برای سنسورهای مختلف ، به بستر TWIST کمک کند.

TWIST از سه لایه تکنولوژیکی تشکیل شده است:

لایه اول یک برد سخت افزاری است که شامل تمام سنسورهای آب و هوا و محیط است که به عنوان "برد سنسور" شناخته می شود. همانطور که از نامش مشخص است ، دارای سنسورهایی است که ترکیب هوا ، دما ، رطوبت ، باران را اندازه گیری می کند. سنسورهای اضافی مانند فعالیت لرزه نگاری ، شاخص UV ، فشار بارومتریک ، ارتفاع ، لوکس (درخشندگی) ، سطح صدا ، سرعت و جهت باد و غیره نیز می توانند اضافه شوند. پس از راه اندازی ، سنسور برد می تواند داده های اندازه گیری شده توسط سنسورها را به لایه دوم منتقل کند. لایه دوم Intel Edison Board است که داده ها را از برد سنسور دریافت می کند ، پردازش می کند و به لایه بعدی ارسال می کند. لایه سوم برد ادیسون شما را از طریق Wi-Fi به اینترنت با استفاده از ماژول بی سیم روی برد ادیسون و شرایط فعلی آب و هوا و شرایط محیطی توییت متصل می کند.

برق مورد نیاز دستگاه را می توان با پنل خورشیدی یا آداپتور AC تامین کرد.

مخازن تحت کنترل نسخه

هر سه لایه تکنولوژیکی TWIST منبع باز هستند و بنابراین همه فایل هایی که برای کد ، توسعه PCB ، طراحی مکانیکی و غیره استفاده می کنیم به راحتی در مخزن Github ما موجود است.

آثار شرکت کننده در مسابقه

Intel IoT Invitational

من می خواهم از Intel+Instructables برای ارائه Intel Edison Board تشکر کنم. من قصد دارم بسیاری از دستورالعمل های مرتبط با اینترنت اشیا را با استفاده از برد ادیسون بسازم.

#iotweatherstn

اگر TWIST می کنید ، توییت آب و هوا را با استفاده از #iotweatherstn فراموش نکنید. #iotweatherstn می تواند هشتگی باشد که همه ایستگاه های آب و هوایی توییتر از طریق اینترنت اشیا استفاده می کنند.

مرحله 1: قطعات و مواد

قطعات و مواد
قطعات و مواد
قطعات و مواد
قطعات و مواد
قطعات و مواد
قطعات و مواد

QuantityPartDetails 1

اینتل ادیسون

دارای برد آردوینو برک آوت

1

سنسور گاز قابل احتراق MQ2

1

YL-83

سنسور باران

1

SL-HS-220

سنسور دما و رطوبت

1

مقاومت

32 هزار

4.7 هزار

3 استند فلزی 1 اینچ

1

مقاومت

32 هزار

4.7 هزار

2

ورق چوبی A4 سایز

بعداً می توان اندازه آن را برش داد

3

فلز استندفود

1 اینچ

مرحله 2: طراحی برق

قدرت

کل سیستم از منبع تغذیه 5 ولت 1 آمپر تغذیه می کند. سنسورها (دما ، رطوبت ، باران ، گاز) تقریباً 200 میلی آمپر ، ادیسون حدود 500 میلی آمپر ، زیرا جریان کلی مورد نیاز کمتر از 1 آمپر است ، منبع تغذیه 1 آمپر باید خوب کار کند. LED سبز داخلی در پین دیجیتال 13 برد ادیسون برای نشان دادن وضعیت قدرت استفاده می شود.

اینتل ادیسون نمایش را برای TWIST اجرا می کند. ادیسون بر روی برد برک آردوینو نصب شده است که خواندن سیگنال های دیجیتال و آنالوگ سنسورها را آسان می کند. ادیسون از طریق کابل میکرو USB به ریل 5 ولت متصل می شود. ادیسون دارای رادیو وای فای داخلی است که به آن اجازه می دهد بدون نیاز به سخت افزار اضافی به توییتر متصل شود.

ساعت واقعی (RTC)

از آنجایی که مهر زنی زمان به طور خودکار توسط توییتر برای هر توییت انجام می شود ، دارای رزولوشن محدود به تعداد کل روزها از زمان توییتر است ، از ساعت زمان واقعی برای دقیق زمان گذاری تاریخ و زمان در ساعت و دقیقه استفاده می شود- قالب دوم. ساعت زمان واقعی مورد استفاده در بستر TWIST ماژول DS-1307 RTC است.

اساسی ترین تنظیمات این سیستم دارای چهار سنسور (دما ، رطوبت ، باران ، گاز) است که به ادیسون متصل می شوند. می توان سنسورهای اضافی مانند Noise ، Wind و غیره را اضافه کرد. هر سنسور مستقیماً از ریل 5 ولت تغذیه می شود و پین سیگنال آن به ترتیب به پین های آنالوگ A0 تا A2 و پین دیجیتال 2 روی برد برک آوت ادیسون متصل است. سنسورها همچنین دارای پتانسیومتر تنظیم حساسیت هستند که بر روی هر برد سنسور نصب شده است. MQ-2 یک سنسور گاز قابل احتراق (گاز مایع ، پروپان ، هیدروژن و متان) است که ولتاژ آنالوگ متناسب با غلظت گازها را در قطعات در میلیون تولید می کند. SL-HS-220 دارای ترمیستور است که مقدار دما را نشان می دهد. از آنجا که خروجی ترمیستور غیر خطی است ، جدول دما مربوطه در مخزن سنسور آورده شده است. همانطور که در نمودار مدار نشان داده شده است ، ترمیستور هنگام اتصال به برد ادیسون به مدار تقسیم ولتاژ نیاز دارد. SL-HS-220 دارای رطوبت سنج داخلی است که رطوبت را اندازه گیری می کند و ولتاژ آنالوگ را که مطابق با مقدار رطوبت ثابت است ، خروجی می دهد. جدول رطوبت ولتاژ نیز در مخزن سنسورها آورده شده است. جایگزین رایج SL-HS-220 سنسور DHT11 است. سنسور باران/سنسور آب دارای یک پتانسیومتر است که برای خروجی دیجیتال برای مقدار معینی از باران که حساسیت آن توسط کاربر قابل تنظیم است تنظیم شده است.

ایستگاه هواشناسی. fzz

مرحله 3: طراحی مکانیکی

بدنه TWIST از دو صفحه ورق چوبی ساخته شده است. اگرچه من از تخته سه لا 1/4 اینچ استفاده کردم ، اما طرح را می توان از هر نوع ورق مونتاژ کرد ، زیرا فاصله (حفظ شده توسط سطوح آلومینیومی 1 اینچی) تنها عنصر مهم است. فایلهای وکتور را برای بارگیری در بالا پیوست کرده ام.

برش لیزری

برای همه کسانی که مایل به برش لیزری دو صفحه هستند ، فایلهای برش لیزری را برای بارگیری در زیر پیوست کرده ام. همچنین در طراحی آن یک سنسور اضافی برای کیفیت هوا وجود دارد. بنابراین می توانید بسته به انتخاب خود از ماژول سنسور MQ2 یا ماژول سنسور کیفیت هوا استفاده کنید.

مرحله 4: مجموعه قاب: صورت و پایه

صفحه نما

سنسورها در سوراخ ها و برش های مطابق خود قرار می گیرند و می توانند با استفاده از پیچ یا چسب ثابت شوند.

صفحه پایه

استندهای برد ادیسون بر روی Baseplate پیچ خورده است. مبدل آنالوگ به دیجیتال (ADC) که به سنسور باران متصل است نیز می تواند بر روی Baseplate پیچ شود.

اجزای اضافی مانند وزوز یا مدار تنظیم کننده ولتاژ برای ورودی خورشیدی نیز می توانند بر روی Baseplate پیچ شوند.

Baseplate و Faceplate هر دو با یک تقابل 1 اینچی از هم جدا شده اند.

مرحله 5: مونتاژ الکترونیک و سنسور

قدرت

منبع تغذیه سیستم توسط یک آداپتور دیواری با جک استاندارد بشکه که مستقیماً به کانکتور Edison's Barrel متصل می شود ، تأمین می شود. سیستم همچنین می تواند از طریق پورت USB روی برد ادیسون تغذیه شود. همچنین می توانید برد را از پنل خورشیدی خارجی تغذیه کنید.

سنسورها

سنسورها با تیترهای نر به تخته های برک آوت متصل می شوند و از این رو می توان آنها را مستقیماً از طریق سیم های جهنده مرد به زن به ادیسون متصل کرد.

مرحله 6: پیکربندی توییتر

به منظور توئیت ، ما از یک برنامه شخص ثالث که توسط NeoCat توسعه یافته است استفاده می کنیم که نشان توئیتری را که لازم است با هیئت مدیره ادیسون خود توییت کنید ، دریافت می کند. توکن ها همچنین می توانند از صفحه وب توسعه دهندگان توییتر تهیه شوند.

بنابراین ، برای شروع ، از وب سایت NeoCat دیدن کنید ، آموزش او را دنبال کنید تا کتابخانه توییتر و نشان توئیتر خود را دریافت کنید. همانطور که NeoCat در سایت خود ذکر کرده است ، لطفاً از خدمات سوء استفاده نکنید. توییت های خود را پراکنده نگه دارید. اگر به چیزی نیاز دارید که هر 6 ثانیه توییت می کند ، باید سرور و برنامه توییتر خود را تنظیم کنید و از این رو کدی که من نوشتم اطمینان می دهد که سرور NeoCat بیش از حد بارگیری نمی شود (توییت های TWIST هر 6 ساعت).

کتابخانه از وب سایت NeoCat به عنوان سرور پروکسی برای موارد OAuth استفاده می کند. ممکن است توییت شما در حین نگهداری وب سایت این NeoCat اعمال نشود. به نظر می رسد توییتر توییت های مکرر با محتوای مشابه را رد می کند (خطای 403 را برمی گرداند).

توکن توییتر

کتابخانه صدای جیر جیر آردوینو

مرحله 7: نرم افزار و پیکربندی

قبل از شروع برنامه نویسی ، راهنمای راه اندازی اینتل برای Intel Edsion را دنبال کنید.

این برنامه یک طرح آردوینو است که روی Edison اجرا می شود. من هر یک از بلوک های اصلی کد را در زیر توضیح داده ام.

کد شامل برخی از ثابت های از پیش تعریف شده ، اعلامیه های پین و چند دستور چاپ سریال است که به عیب یابی کمک می کند.

توییت تاخیر

از آنجایی که توییتر توییت هایی را که محتوای یکسانی دارند و در فاصله زمانی کوتاهی بین هر یک از آنها توییت می شود ، فیلتر می کند ، بین هر توییت 3 ساعت (10800000 میلی ثانیه) استاندارد تاخیر تعیین شده است.

tweetMessage ()؛

تاخیر (10800000) ؛

نوع ریخته گری

بسیاری از قرائتی که از سنسورها دریافت می کنیم در نوع داده "int" یا "float" هستند. اما از آنجا که ما این مقادیر را توییت می کنیم ، باید آنها را به نوع داده "String" تبدیل کنیم. برای این منظور از یک تکنیک ویژه Cast-casting استفاده می کنیم.

char *dtostrf (dual val، char char width، char char sign، char *sout) {

char fmt [100]؛ sprintf (fmt، "٪٪٪ d.٪ df"، width، prec)؛ sprintf (sout، fmt، val)؛ بازگشت sout؛ }

توکن توییتر

توکن توییتر در وب سایت NeoCat ایجاد شده است و باید در اینجا در جای توکن جایگذاری شود.

void tweetMessage () {

توییتر توییتر ("اینجا وارد TWITTER TOKEN شوید") ؛

توییت ارزش حسگر

به منظور توییت کردن مقدار سنسور ، ابتدا نوع سنسور را وارد می کنیم. مثال: "رطوبت". سپس یک اعلان نویسه و یک خط کد برای تایپ تایپ مورد نیاز است. سپس یک عبارت برای واحد اندازه گیری اضافه می کنیم. مثال: "٪ RH". ما می توانیم ارزش سنسورهای دیگر را نیز به شیوه ای مشابه اضافه کنیم.

رطوبت () ؛ شناور مرطوب ؛

// پیام توییتر String stringMsg = "رطوبت:"؛ char tmp [10]؛ dtostrf (مرطوب ، 1 ، 2 ، tmp) ؛ stringMsg += tmp؛ stringMsg += "٪ RH"؛

مکان و برچسب گذاری ایستگاه هواشناسی

سپس مکان (شهر ، محل ، و غیره) و برچسب های دیگر مانند #iotweatherstn را تگ می کنیم.

stringMsg += " #بمبئی #باندرا #iotweatherstn"؛

ساعت واقعی (RTC)

همانطور که قبلاً توضیح داده شد ، TWIST همچنین می تواند داده های ساعت واقعی را توییت کند. در زیر نمونه ای از بلوک پارامتر "روز" کد RTC آمده است. ویژگی ساعت واقعی در پلتفرم TWIST اختیاری است زیرا ماژول به صورت جداگانه ارائه می شود. بنابراین یک شاخه جداگانه در مخزن TWIST برای کد و شماتیک شاخه ساعت زمان واقعی ایجاد شده است.

TwistDateTime () ؛ DateTime now = rtc.now ()؛ int twistday، twistmonth، twistyear، twisthour، twistmin، twistsec؛ string stringMsg = ""؛ char ds1307day [10]؛ dtostrf (twistday، 1، 0ds1307day)؛ stringMsg += ds1307day؛ stringMsg += "/"؛

140 شخصیت محدودیت

این بلوک کد ، آرایه رشته را روی 140 آرایه کاراکتر آماده برای توییت پنهان می کند.

char msg [140]؛

stringMsg.toCharArray (msg، 140)؛

عیب یابی پیام و اتصال

این بلوک کد چند خط متن را در Serial Monitor چاپ می کند تا به کاربر در بررسی وضعیت پیام و توییت کمک کند.

// توییت کن اون مکنده!

if (twitter.post (msg)) {int status = twitter.wait ()؛ if (status == 200) {Serial.println ("OK.")؛ Serial.println ("پیام توییت شد") ؛ } else {// تست اتصال Serial.print ("ناموفق: کد") ؛ Serial.println ("پیام توییت نشده") ؛ Serial.println (وضعیت) ؛ }} else {Serial.println ("اتصال انجام نشد.")؛ Serial.println ("پیام توییت نشده") ؛ }

همه بلوک های دیگر کد به سادگی خواندن آنالوگ یا دیجیتال از حسگرها را به داده های قابل استفاده تبدیل می کند.

کد را می توان از اینجا یا از مخزن اصلی بارگیری کرد:

آب و هوا ایستگاه

مرحله 8: کمک به مخزن حسگر

آیا شما یک برنامه نویس ، مهندس یا طراح هستید که ایده فوق العاده ای برای یک ویژگی جدید در TWIST دارید؟ شاید شما ایده خوبی برای رفع اشکال دارید؟ با خیال راحت کد ، شماتیک و فایل های CAD ما را از Github بگیرید و با آن کار کنید.

TWIST GitHub

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

جایزه دوم در Intel® IoT Invitational

توصیه شده: