فهرست مطالب:
- تدارکات
- مرحله 1: مونتاژ سخت افزار
- مرحله 2: حالت اولیه
- مرحله 3: اسکریپت پایتون
- مرحله 4: داشبورد Trick-or-Treat
تصویری: Pumpkin Pi Trick-or-Treat Tracker: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
بیشتر توسط نویسنده دنبال کنید:
آیا به دنبال یک پروژه سریع هالووین هستید که از جهات مختلفی مفید باشد؟ آیا می خواهید از Pi Zero WH به خوبی استفاده کنید؟ آیا احساس می کنید از داده ها برای تعیین میزان آب نبات مورد نیاز برای سال آینده استفاده می کنید؟
برای ساخت Pumpkin Pi Trick-or-Treat Tracker آماده شوید! این Pi-in-a-Pumpkin که به عنوان دکوراسیون و یک ردیاب مردم شناخته می شود ، با تشخیص حرکت ، رنگ را تغییر می دهد و جریان می یابد. با شروع از ابتدا ، این پروژه نباید بیش از یک بعد از ظهر برای انجام آن زمان ببرد - درست در زمان هالووین!
تدارکات
- Pi Zero WH با کارت SD
- سنسور حرکت PIR
- LED RGB
- مقاومت 220 اهم
- (3) خطوط کراوات (F/F ، M/F ، M/M)
- باتری قابل حمل
- کدو حلوایی تقلبی
مرحله 1: مونتاژ سخت افزار
هنگامی که Pi خود را راه اندازی کردید ، باید سنسور حرکت و LED ها را به هم وصل کنیم. در این مرحله مطمئن شوید که Pi به برق متصل نیست.
سنسور حرکت ما نیاز دارد که آن را به برق 3.3 ولت ، زمین و پین داده متصل کنیم. من پین سنسور 3.3V را به پین 1 Pi ، پین سنسور Ground را به پین 6 Pi و پین سنسور Data را به پین 16 Pi وصل کردم. تصویر اول اتصال کامل Pi و سنسور حرکت را نشان می دهد.
LED ها کمی سخت تر از سنسور حرکت هستند زیرا برای عملکرد صحیح و بدون آسیب رساندن به آنها یا Pi به مقاومت احتیاج دارند. من از سه مقاومت 220 اهم استفاده کردم اما مقاومتهای 220 و 330 اهم معمولاً با LED ها استفاده می شود.
برای سیم کشی همه چیز می توانید:
- پایه های LED را به مقاومت ها بچسبانید و سپس سیم ها را داخل Pi قرار دهید
- برای اتصال همه چیز از تخته نان و خط کراوات استفاده کنید
- برای اتصال همه چیز از خطوط کراوات و نوار برقی استفاده کنید (مانند من).
ما LED خود را به پین 11 ، 13 و 15 متصل می کنیم ، اما این کمی پیچیده تر از سنسور حرکت است ، زیرا پایه های LED با رنگ خاصی مطابقت دارد! پای بلند GND است. و حداقل در LED من ، پاها قرمز ، GND ، آبی ، سبز شده اند. من آبی را به Pi 11 ، سبز را به Pi 13 و قرمز را به Pi 15 متصل کردم. تصویر دوم اتصالات نهایی مدار را نشان می دهد.
مرحله 2: حالت اولیه
مطمئناً ما می توانیم ببینیم که حرکت با LED چگونه تشخیص داده می شود ، اما چگونه می توانیم ردیابی کنیم که چند ترفند برای سرقت آب نبات ما رفته اند؟
هربار که حرکت شروع و متوقف شود ، ما به داشبورد منتقل می شویم. از آنجا که این داشبورد از هر نقطه ای با اتصال به اینترنت قابل دسترسی است ، می توانیم از راه دور کنترل کنیم که آیا کسی به درب ورودی/کاسه آب نبات نزدیک می شود یا خیر.
مرحله 1: برای حساب دولت اولیه ثبت نام کنید به https://iot.app.initialstate.com بروید و یک حساب جدید ایجاد کنید.
مرحله 2: ISStreamer را نصب کنید
ماژول اولیه حالت پایتون را روی رزبری پای خود نصب کنید. در خط فرمان (ابتدا SSH را در Pi خود فراموش نکنید) ، دستور زیر را اجرا کنید:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
مرحله 3: مقداری Automagic بسازید
پس از مرحله 2 ، چیزی شبیه خروجی زیر را روی صفحه خواهید دید:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
رمز عبور: شروع ISStreamer Python نصب آسان! ممکن است چند دقیقه طول بکشد تا نصب شود ، کمی قهوه بخورید:) اما فراموش نکنید که برگردید ، بعداً س questionsالاتی دارم! یافت شد easy_install: setuptools 1.1.6 پیپ یافت شد: pip 1.5.6 از /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) نسخه اصلی پیپ: 1 پیپ نسخه کوچک: 5 ISStreamer پیدا شد ، در حال بروزرسانی است … الزامات از قبل به روز شده است: ISStreamer در /Library/Python/2.7/site-packages تمیز کردن … آیا می خواهید به صورت خودکار یک اسکریپت نمونه دریافت کنید؟ [y/N] کجا می خواهید مثال را ذخیره کنید؟ [پیش فرض:./is_example.py] لطفاً از کدام برنامه اولیه استفاده می کنید: 1. app.initialstate.com 2. [جدید!] iot.app.initialstate.com گزینه 1 یا 2 را وارد کنید: iot.app را وارد کنید نام کاربری.initialstate.com: گذرواژه iot.app.initialstate.com را وارد کنید:
وقتی از شما خواسته شد به طور خودکار یک اسکریپت نمونه دریافت کنید ، y را تایپ کنید. این یک اسکریپت آزمایشی ایجاد می کند که می توانیم اجرا کنیم تا مطمئن شویم که می توانیم داده ها را در حالت اولیه جریان دهیم. پیغام بعدی می پرسد که کجا می خواهید فایل نمونه را ذخیره کنید. شما می توانید یک مسیر محلی سفارشی را تایپ کنید یا Enter را بزنید تا مکان پیش فرض را بپذیرید. در نهایت ، از شما س askedال می شود که از کدام برنامه حالت اولیه استفاده می کنید. اگر اخیراً یک حساب کاربری ایجاد کرده اید ، گزینه 2 را انتخاب کنید ، نام کاربری و رمز عبور خود را وارد کنید. پس از آن نصب کامل می شود.
مرحله 4: کلیدهای دسترسی
بیایید نگاهی به نمونه اسکریپت ایجاد شده بیندازیم. $ nano is_example.py در خط 15 ، خطی را مشاهده خواهید کرد که با streamer = Streamer (bucket_… پارامتر access_key =”…” در همان خط. آن سری طولانی حروف و اعداد کلید دسترسی به حساب حالت اولیه شما است. اگر در مرورگر وب خود به حساب حالت اولیه خود می روید ، روی نام کاربری خود در بالا سمت راست کلیک کنید ، سپس بروید در "تنظیمات من" ، همان کلید دسترسی را در پایین صفحه در زیر "Streaming Access Keys" پیدا خواهید کرد.
هر بار که یک جریان داده ایجاد می کنید ، آن کلید دسترسی آن جریان داده را به حساب شما هدایت می کند (بنابراین کلید خود را با هیچ کس به اشتراک نگذارید).
مرحله 5: مثال را اجرا کنید
اسکریپت آزمایشی را اجرا کنید تا مطمئن شوید که می توانیم یک جریان داده به حساب وضعیت اولیه شما ایجاد کنیم. موارد زیر را اجرا کنید:
$ python is_example.py
مرحله ششم: سود
در مرورگر وب خود به حساب حالت اولیه خود بازگردید. یک سطل داده جدید به نام "مثال جریان پایتون" باید در سمت چپ در قفسه ورود به سیستم نمایش داده شود (ممکن است مجبور شوید صفحه را بازخوانی کنید). روی این سطل کلیک کنید و سپس روی نماد Waves کلیک کنید تا داده های آزمایش را مشاهده کنید.
مرحله 3: اسکریپت پایتون
یک اسکریپت ایجاد کنید و ویرایشگر متن را با دستور زیر باز کنید:
nano vistors.py
کد را از اینجا به ویرایشگر متن خود کپی و ارسال کنید.
قبل از اینکه بخواهیم هر چیزی را اجرا کنیم ، باید چند ویرایش انجام دهیم و آنچه در اسکریپت ما اتفاق می افتد را مرور کنیم.
RPi. GPIO را به عنوان GPIO وارد کنید
از زمان وارد کردن خواب از ISStreamer. Streamer import Streamer # به Pi بگویید که از سیستم شماره گذاری آن استفاده می کنیم GPIO.setmode (GPIO. BCM) # پین هایی که D1 و LED به PIN = 23 BLUE = 17 GREEN = 27 RED متصل هستند = 22 # پین سنسور حرکت ما را به عنوان ورودی GPIO.setup (PIN، GPIO. IN) # پین های LED ما را به عنوان خروجی GPIO.setup (RED، GPIO. OUT) GPIO.output (RED، 0) GPIO.setup (GREEN) مشخص کنید. ، GPIO. OUT) GPIO.output (سبز ، 0) GPIO.setup (آبی ، GPIO. OUT) GPIO.output (آبی ، 0)
خطوط 1-21 برای راه اندازی اولیه است. ابتدا رابط GPIO Pi و راهی برای خواباندن اسکریپت خود را وارد می کنیم. سپس استریمر حالت اولیه را که در صفحه قبل نصب کرده ایم وارد می کنیم.
GPIO.setmode مشخص می کند که از کدام سیستم شماره گذاری برای پین ها استفاده می کنیم. به جای مکان فیزیکی ، ما از سیستم شماره گذاری Pi استفاده می کنیم. مانند نمودار قبلی ، پین هایی که انتخاب کردیم 23 ، 17 ، 27 و 22 بودند. سپس پین حرکت را به عنوان ورودی و پایه های LED را به عنوان خروجی تنظیم می کنیم.
# نام سطل حالت اولیه (نمایش داده شده)
BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # کلید سطل اولیه حالت (پنهان) BUCKET_KEY = "trickortreat" # کلید دسترسی حالت اولیه ACCESS_KEY = "کلید_دسترسی شما" # متغیرهایی که اطمینان می دهند جریان وجود یا نبودن را پخش نمی کنیم حرکت دوبار پشت سر هم LED به زرد GPIO.output (قرمز ، 1) GPIO.output (سبز ، 1)
خطوط 23-41 مهم هستند زیرا ما جریان اولیه حالت اولیه را تنظیم می کنیم و LED را روی زرد تنظیم می کنیم. کلید دسترسی حالت اولیه خود را در خط 28 قرار دهید.
# به صورت نامحدود حلقه کنید
while True: # اگر سنسور حرکت بالا بکشد (حرکت را تشخیص می دهد): اگر GPIO.input (PIN) == 1: چاپ "حرکت تشخیص داده شد" # اگر ما هنوز جریان را پخش نکرده ایم: اگر قبلاً نشده LED را روی GPIO.output قرمز (قرمز ، 1) GPIO.output (GREEN ، 0) # جریان به حالت اولیه streamer.log (": ghost: or:ocolate_bar:؟"، ":ocolate_bar: Time for treats!") تنظیم کنید streamer.log (": candy: Hungry Humans؟: candy:"، counter) streamer.flush () alreadyRecordedMotion = True alreadyRecordedNoMotion = اشتباه دیگر: # اسکریپت را برای 1 ثانیه خواب موقت (1) دیگر: چاپ "هیچ حرکتی تشخیص داده نمی شود" # اگر ما هنوز جریانی نکرده ایم: اگر هنوز ثبت نشده NoMotion: # LED را روی GPIO زرد تنظیم کنید. خروجی (RED ، 1) GPIO.output (GREEN ، 1) # جریان به حالت اولیه streamer.log (": ghost: or:ocolate_bar::
خطوط 43-77 گوشت کد است. اگر حرکت تشخیص داده شود ، اسکریپت بررسی می کند که آیا "زمان درمان"! قبلاً پخش شده است اگر چنین نشده است ، به حالت اولیه ارسال می شود و LED روی قرمز تنظیم شده است. در صورت وجود ، فیلمنامه 1 ثانیه منتظر می ماند و سپس دوباره از سنسور حرکت می خواند. اگر حرکتی تشخیص داده نشود ، همین امر صادق است.
زمان آزمایش کد فرا رسیده است! مطمئن شوید فایل ویرایش شده خود را با کلید دسترسی خود در خط 28 ذخیره کرده اید و سپس وارد ترمینال شوید:
بازدیدکنندگان پایتون. py
باید ببینید چراغ LED روشن می شود و "بدون حرکت تشخیص داده می شود" چاپ را در خط فرمان شروع می کند. سعی کنید دست خود را بر روی سنسور حرکت حرکت دهید - اکنون باید یک چراغ قرمز را ببینید و "حرکت تشخیص داده شد" چاپ را شروع کنید!
اکنون برای تأیید اینکه خوانش های ما در حالت اولیه جریان دارد.
مرحله 4: داشبورد Trick-or-Treat
به حالت اولیه بروید و داشبورد خود را بررسی کنید! شما باید سطلی به نام "؟ Trick or Treat Tracker" را مشاهده کنید. دست خود را نزدیک سنسور حرکت قرار دهید و به روز رسانی آن را تماشا کنید!
داشبورد من شامل 2 کاشی خلاصه است که آخرین مقدار و یک هیستوگرام شمارش رویداد را نشان می دهد تا بتوانم ببینم سنسور در چه زمان هایی فعال شده است.
در اینجا مواردی است که باید در نظر بگیرید:
- احتمالاً می خواهید تعداد "انسان های گرسنه" را بر 2 تقسیم کنید تا این واقعیت را در نظر بگیرید که همان شخص دو بار در راه به درب شما و در راه بازگشت از مقابل سنسور حرکت عبور می کند. شما می توانید این کار را با عبارات در زمان واقعی با استفاده از معادله "= math.round (([انسان گرسنه؟]/2) ، 0)" انجام دهید.
- می توانید حساس باشید که سنسور حرکت شما چقدر حساس به نظر می رسد و بر این اساس آن را در پیاده رو خود قرار دهید. من پیشنهاد می کنم آن را آنقدر از درب دور کنید که وقتی کسی در جلوی در ایستاده است باعث ایجاد آن نشود.
- همچنین می توانید هشدارهای متنی را تنظیم کنید تا به شما اطلاع دهد کسی در حال نزدیک شدن است.
- یک تصویر پس زمینه را انتخاب کنید تا به داشبورد خود کمی ترسناک جلوه دهید!
توصیه شده:
آموزش LoRa GPS Tracker - LoRaWAN با Dragino و TTN: 7 مرحله
آموزش LoRa GPS Tracker | LoRaWAN با Dragino و TTN: هی ، چه خبر ، بچه ها! Akarsh اینجا از CETech. چند پروژه قبلی ما نگاهی به دروازه LoRaWAN از Dragino داشتیم. ما گره های مختلف را به Gateway متصل کردیم و داده ها را از گره ها به Gateway با استفاده از TheThingsNetwork به عنوان s ارسال کردیم
DIY GPS Tracker --- برنامه پایتون: 5 مرحله (همراه با تصاویر)
DIY GPS Tracker --- برنامه پایتون: من دو هفته پیش در یک رویداد دوچرخه سواری شرکت کردم. پس از اتمام کار ، می خواستم مسیر و سرعتی را که در آن زمان حرکت می کردم بررسی کنم. متأسفانه به نتیجه نرسید. اکنون من از ESP32 برای ساخت ردیاب GPS استفاده می کنم و از آن برای ثبت مسیر دوچرخه سواری خود استفاده می کنم
ساعت هوشمند DIY Fitness Tracker با اکسی متر و ضربان قلب - ماژول های الکترونیکی مدولار از TinyCircuits - کوچکترین بازی: 6 مرحله
ساعت هوشمند DIY Fitness Tracker با اکسی متر و ضربان قلب | ماژول های الکترونیکی مدولار از TinyCircuits | کوچکترین بازی: هی ، چه خبر ، بچه ها! Akarsh در اینجا از CETech. امروز ما برخی از ماژول های حسگر را با خود داریم که در زندگی روزمره ما بسیار مفید هستند ، اما در نسخه کوچکی از آنها هستند. اندازه سنسورهایی که امروزه در اختیار داریم در مقایسه با تراشه بسیار کوچک است
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: 15 مرحله (همراه با تصاویر)
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: Movie Tracker یک قالب ردیابی است که به شکل clapperboard ساخته شده و دارای قدرت رزبری پای است. از TMDb API برای چاپ پوستر ، عنوان ، تاریخ اکران و نمای کلی فیلم های آینده در منطقه شما ، در یک بازه زمانی مشخص (به عنوان مثال ، فیلم های منتشر شده این هفته) در
کنترل کننده تزئینات دیجیتال Pumpkin Pi: 5 مرحله (همراه با تصاویر)
کنترل کننده تزئینات دیجیتال Pumpkin Pi: سلام دوستان ، اجازه دهید شما را با Pumpkin Pi آشنا کنم. به زبان ساده ، یک کنترلر ورودی/خروجی برای رزبری پای با دوازده خروجی قابل برنامه ریزی است ، اما با کمی hocus-pocus (یا کد پایتون برای من و شما) به یک کنترل کننده تزئین دیجیتال تبدیل می شود