فهرست مطالب:

Raspberry Pi Internet Weather Station: 5 مرحله (همراه با تصاویر)
Raspberry Pi Internet Weather Station: 5 مرحله (همراه با تصاویر)

تصویری: Raspberry Pi Internet Weather Station: 5 مرحله (همراه با تصاویر)

تصویری: Raspberry Pi Internet Weather Station: 5 مرحله (همراه با تصاویر)
تصویری: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, جولای
Anonim
ایستگاه هواشناسی رزبری پای اینترنتی
ایستگاه هواشناسی رزبری پای اینترنتی
ایستگاه هواشناسی اینترنت رزبری پای
ایستگاه هواشناسی اینترنت رزبری پای

*** به روز رسانی ***

این دستورالعمل قدیمی شده است خدمات آب و هوا برای داده های آب و هوا ، در این دستورالعمل استفاده می شود ، دیگر کار نمی کند. با این حال ، یک پروژه جایگزین وجود دارد که اساساً همان کار را انجام می دهد (فقط بهتر - این دستورالعمل همیشه فقط یک هک بود). بنابراین در اینجا پیوندی است که می خواهید دنبال کنید:

https://piweatherrock.technicalissues.us/

خیلی متشکرم به Gene Liverman در PiWeatherRock بروید تا مانتو این پروژه را بردارید.

این دستورالعمل به شما نشان می دهد که چگونه می توانید یک ایستگاه هواشناسی واقعاً جالب Raspberry Pi در اینترنت بسازید. در واقع ، نامیدن این ساختمان به عنوان "ایستگاه هواشناسی" کمی بی اهمیت است. این ساختمان به راحتی می تواند گسترش یابد تا بسیار بیشتر از آب و هوا باشد. با این حال ، شروع خوبی است و روی میز من واقعاً عالی به نظر می رسد.

خانواده ما (خوب ، بیشتر من) از داشتن iPad خانواده روی پیشخوان آشپزخانه ، وقتی استفاده نمی شود ، لذت می برم و شرایط آب و هوایی بیرونی را بی سر و صدا نشان می دهیم. با این حال ، بارگذاری و تخلیه iPad در داخل و خارج از قاب گهواره ای دردآور است. به علاوه ، درست زمانی که برای بررسی وضعیت آب و هوا می روم ، متوجه می شوم که شخصی صفحه نمایش iPad / weather را گرفته است. چیزی که نیاز است یک صفحه نمایش دائمی روی صفحه است که بچه ها قرار نیست مانند iPad آن را بکشید.

مرحله 1: جنرال 1 - ایستگاه هواشناسی Lunchbox Pi

Gen 1 - ایستگاه هواشناسی Lunchbox Pi
Gen 1 - ایستگاه هواشناسی Lunchbox Pi
Gen 1 - ایستگاه هواشناسی Lunchbox Pi
Gen 1 - ایستگاه هواشناسی Lunchbox Pi

اولین فکر من استفاده از نمایشگر ویدئویی کامپوزیت کوچک بود. من تصویر موجود در Ebay را با 22 دلار انتخاب کردم - به سادگی در "مانیتور خودرو 4.3 اینچ TFT LCD Car Rear View Car Car Monitor" جستجو کنید. این صفحه نمایش دارای رزولوشن 656 در 416 پیکسل است که به طرز شگفت انگیزی نمایش بسیاری از اطلاعات مفید را به چالش می کشد! صفحه نمایش به عنوان ولتاژ تغذیه به 12Vdc نیاز دارد. البته رزبری پای به عنوان منبع تغذیه به 5Vdc نیاز دارد. برای حل این مشکل ، من یک شارژر اتومبیل USB ارزان از آمازون خریدم. با حدود 6 دلار ، من یک تعویض ماشین 5Vdc در 2 آمپر پیدا کردم. بنابراین ، جعبه ناهار خوری دارای منبع تغذیه خارجی 12Vdc زگیل دیواری است. 12Vdc به طور مستقیم صفحه نمایش را تغذیه می کند. 12Vdc همچنین به شارژر ماشین USB می رود که ولتاژ را به 5Vdc تنظیم شده کاهش می دهد. به عنوان آخرین هک ، من یک جفت سیم را مستقیماً بین شارژر ماشین و رزبری پای لحیم کردم - این بهترین ایده من نبود.

در حالی که همه چیز به نوعی کار می کرد ، من از کیفیت ویدئو روی صفحه کامپوزیت راضی نبودم. فونت کوچک روی صفحه نمایش فازی تر از آن چیزی بود که من می خواهم. علاوه بر این ، در حالی که جعبه ناهار در ابتدا زیبا به نظر می رسید بعداً به نظر می رسد که کمی پنیری است.

مرحله 2: جنرال 2 - مانیتور HDMI + قاب بازی پلکسی گلاس با برش لیزری

Gen 2 - مانیتور HDMI + قاب بازی پلکسی گلاس با برش لیزری
Gen 2 - مانیتور HDMI + قاب بازی پلکسی گلاس با برش لیزری
Gen 2 - مانیتور HDMI + قاب بازی پلکسی گلاس با برش لیزری
Gen 2 - مانیتور HDMI + قاب بازی پلکسی گلاس با برش لیزری
Gen 2 - مانیتور HDMI + قاب بازی پلکسی گلاس با برش لیزری
Gen 2 - مانیتور HDMI + قاب بازی پلکسی گلاس با برش لیزری

در eBay ، من یک مانیتور فریم HDMI 54 دلاری زیبا با رزولوشن 800x600 پیدا کردم. طبق تعریف ، هر چارچوبی باز به چارچوبی برای نصب نیاز دارد. از آنجا که ظرافت جعبه ناهار خوری طولانی شده بود ، وقت آن رسیده بود که آکریلیک برش لیزری داشته باشید. فضای داخلی هکر i3Detroit من دارای یک برش بسیار خوب 150 واتی است که می تواند گوشت چرخ کرده را با اکریلیک 4.5 میلی متری تهیه کند.

من آزادانه محوطه بازی خود را بر روی جعبه بازی iPad قرار دادم. اگر من تا به حال طراحی Gen 3 داشته باشم ، به طرز شگفت انگیزی یک سینی متحرک / کشویی برای Pi را شامل می شود. به نظر می رسد ، این یک درد بزرگ در گردن است که سعی می کند چیزها را به Pi وصل و خارج کند ، زیرا فاصله زیادی بین Pi و دیوارهای جانبی وجود ندارد.

مانیتور HDMI همچنین به تغذیه 12Vdc نیاز دارد. بنابراین ، من از همان ترفند استفاده مجدد از شارژر ماشین USB استفاده کردم. با این حال ، این بار ، من یک کابل USB قدیمی را خرد کردم ، بنابراین سیمهای لحیم کاری روی Pi مورد نیاز نبود.

اگر کسی به مورد بازی علاقه مند است نظر خود را در زیر بنویسید و من فایل های DXF را بارگذاری می کنم. یا ، فایل ها در وب سایت من در ph-elec.com هستند.

مرحله 3: تنظیم Pi

تنظیم Pi
تنظیم Pi

راه اندازی رزبری پای جدید با نرم افزار مورد نیاز چندان سخت نیست. تمام نرم افزارها در پایتون نوشته شده اند و تنها یک ماژول پایتون اضافه شده است. ماژول اضافی پایتون "pywapi" نامیده می شود. در اینجا پیوندی وجود دارد که می توانید ماژول را بارگیری کنید. این ماژول دریافت آب و هوا در زمان واقعی را از Yahoo ، Weather.com یا NOAA آسان می کند.

اولین چیز در ابتدا ، در اینجا یک چک لیست برای راه اندازی رزبری پای خام است:

  1. جدیدترین Raspbian (Debian Wheezy) را بارگیری کنید. برای به دست آوردن یک فایل.img از حالت فشرده خارج کنید.
  2. کارت را با "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb" به کارت SD بنویسید
  3. دستور dd حدود پنج دقیقه طول می کشد. پس از اتمام ، "همگام سازی" را اجرا کنید تا لوله ها شسته شوند.
  4. کارت SD را در Pi نصب کرده و راه اندازی مجدد کنید. مطمئن شوید که اتصال اترنت به Pi وجود دارد.
  5. با استفاده از صفحه "دستگاه های متصل" در روتر ، آدرس IP Pi جدید را پیدا کنید.
  6. با استفاده از "ssh [email protected]. ؟؟؟" به Pi وارد شوید جایی که ؟؟؟ شماره IP از بالا است. رمز عبور "تمشک" خواهد بود.
  7. در Pi ، از دستور "raspi-config" برای تنظیم پیش فرض استفاده کنید.

    1. بوت خودکار را به GUI روشن کنید.
    2. نام میزبان را روی چیزی مانند "MyPi" تنظیم کنید.
  8. VNC را روی Pi با "sudo apt-get install tightvncserver" نصب کنید.

    "tightvncserver" را اجرا کنید که رمز عبور را تنظیم می کند

  9. برای بازگشت به جعبه بزرگ لینوکس ، از "Remote Desktop" برای مشاهده دسکتاپ Pi GUI استفاده کنید.

    1. پروتکل را روی "VNC" و شماره IP را روی "192.168.1.؟؟؟:1" تنظیم کنید. به ": 1" در انتهای شماره IP توجه کنید.
    2. دکمه اتصال را فشار دهید و رمز VNC را وارد کنید.
    3. Bingo ، رومیزی GUI Pi از راه دور!

      با این کار می توانید مانیتور ، صفحه کلید و موس را بیرون بکشید تا به Pi جدید متصل شوید

    4. روی دسکتاپ ، نماد راه اندازی WiFi را اجرا کنید. WiFi جدید Pi / USB را برای اتصال به شبکه تنظیم کنید.
    5. اتصال VNC را ببندید - اکنون کار با رایانه های رومیزی را انجام داده ایم.
  10. در پنجره ssh ، Pi را با "sudo reboot" راه اندازی مجدد کنید. کابل اترنت را قطع کنید زیرا وای فای اکنون راه اندازی شده است.
  11. با بازگشت به روتر خانگی ، شماره IP جدیدی را که Pi از طریق WiFi استفاده می کند پیدا کنید.
  12. با استفاده از ssh ، با استفاده از شماره IP جدید وارد سیستم شوید. این بار اتصال از طریق WiFi انجام می شود.
  13. با استفاده از Files Manger در لینوکس ، با استفاده از فرمان "اتصال به سرور" به Pi متصل شوید.

    آدرس سرور "sftp: //192.168.1. ؟؟؟/home/pi" است

  14. تنظیمات اولیه کامل شد.

در مرحله بعد ، pywapi باید بارگیری و نصب شود. باز هم ، این کار با مراحل زیر چندان سخت نیست:

  1. جدیدترین ها را از اینجا بارگیری کنید. بایگانی را در یک فهرست جدید استخراج کنید.
  2. با استفاده از File Manger ، فهرست را در فهرست اصلی Pi کپی کنید.
  3. با استفاده از ssh ، موارد زیر را در Pi انجام دهید:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py install
  4. انجام شده.

به روز رسانی ، من دو مورد دیگر را فراموش کردم:

  1. در Pi دستور زیر را اجرا کنید:

    1. sudo apt-get avahi-daemon را نصب کنید

      این اجازه می دهد تا نام Pi را به Pi متصل کنید. بنابراین ، در رایانه اصلی خود می توانید به جای استفاده از شماره های IP ، به عنوان "ssh [email protected]" متصل شوید. با استفاده از Pi های متعدد در شبکه ، به راحتی می توانید آنها را گیج کنید مگر اینکه با نام آنها صدا زده شود

    2. sudo raspi-config

      1. گزینه 4 را با نام "Internationalization Options" جستجو کرده و اجرا کنید و منطقه زمانی خود را تنظیم کنید.
      2. با تنظیم منطقه زمانی و ntpd (پروتکل زمان شبکه) اجرای Pi همیشه زمان صحیح را در عرض چند میلی ثانیه نمایش می دهد! باید عاشقش باشم
  2. خوب ، ما دوباره کار را تمام کردیم.

مرحله 4: کد منبع

کد منبع
کد منبع

تمام کد منبع برای این صفحه نمایش کوچک آب و هوا بر اساس Python ، PyGame و Pywapi است. همه نرم افزارهای منبع باز / رایگان

PyGame برای انجام کلیه امور GUI استفاده می شود. واقعاً چیزهای شگفت انگیز با استفاده از PyGame ، کل صفحه نمایش یک بار در ثانیه بازسازی می شود. در نزدیکی بالای کد منبع من قسمتی را خواهید دید که امکان تغییر سایزهای مختلف صفحه نمایش را دارد. یک قسمت برای صفحه نمایش ویدئوی کامپوزیت کوچک و قسمت دوم برای صفحه نمایش HDMI بزرگتر وجود دارد. من به سادگی یکی از دو بخش را بر اساس اندازه صفحه نمایش مورد نیاز خود کامنت می کنم.

برای اینکه کد منبع من اجرا شود ، فایل پیوست را از حالت فشرده خارج کرده و با استفاده از File Manage کل فهرست را روی Pi کپی کنید. پس از کپی کردن ، کد را از دستورات ssh زیر استفاده کنید:

  1. سی دی آب و هوا
  2. sudo python weather.py

دستور sudo مورد نیاز است تا پایتون بتواند پین های GPIO را کنترل / بخواند. احتمالاً راهی برای دور زدن این محدودیت وجود دارد اما از من دور می شود.

هنگامی که همه چیز با استفاده از ssh کار می کند ، وقت آن است که آب و هوا به طور خودکار در راه اندازی مجدد شروع شود. انجام این کار نیز واقعاً آسان است.

  1. با استفاده از ssh ، "sudo vi /etc/rc.local" را اجرا کنید
  2. درست قبل از آخرین خط ، که می گوید "خروج 0" ، موارد زیر را به خطوط اضافه کنید.

    1. cd/home/pi/آب و هوا
    2. sudo python weather.py &> err.log

این به طور خودکار برنامه آب و هوا را در Pi پس از راه اندازی مجدد راه اندازی می کند. اگر بعداً می خواهید این مورد را خاموش کنید ، فقط از ssh برای ویرایش فایل استفاده کنید و کاراکتر نظر "#" را در جلوی هر دو خط اضافه کرده و راه اندازی مجدد کنید.

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

چند نکته دیگر در مورد کد من باید توجه داشته باشید. مدفون شده در آنجا متوجه کدی برای صحبت با دستگاه X10 می شوید. این تلاش من برای کنترل چراغ های قطب خارجی من در آدرس A3 بود. من فقط می خواستم چراغ ها هنگام غروب روشن و سحر خاموش شوند. به نظر می رسد به اندازه کافی آسان است و من فکر کردم که آن را کار می کنم. با استفاده از دانگل USB-to-RS232 در Pi ، ماژول CM11A X10 را متصل کرده بودم. CM11A یک ماژول ماکرو قدیمی X10 است. CM11A همچنین دارای پورت RS232 است که امکان کنترل روی گذرگاه X10 را فراهم می کند. به نظر می رسد هنوز اشکالاتی وجود دارد زیرا چراغ های چراغ چراغ پیام را دریافت نمی کنند!

همچنین لازم به ذکر است ، در صفحه نمایش بزرگتر یک شکاف باز خوب در امتداد سمت راست صفحه وجود دارد. برنامه من اضافه کردن چند چراغ وضعیت در آن منطقه است. من با برخی از رادیوهای IEEE802.15.4 بازی می کنم و خروجی های آنها روزی در آن نقطه باز نشان داده می شود.

برای آخرین و بزرگترین به روز رسانی لطفاً از وب سایت من در ph-elec.com دیدن کنید.

خوب ، هر گونه س questionsالی که دارید ممکن است در قسمت نظرات به من اطلاع دهید.

ممنون ، جیم

اوه ، و فراموش نکنید که به من رای دهید! بازم ممنون.

BTW: همیشه اطلاعات بیشتری در وب سایت من وجود دارد: www.ph-elec.com

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

پیوست نسخه جدیدی است که امکان نمایش متریک یا امپریالیستی را می دهد.

امیدوارم این کمک کند ،

جیم

توصیه شده: