فهرست مطالب:

IoT Pet Monitor!: 6 مرحله (همراه با تصاویر)
IoT Pet Monitor!: 6 مرحله (همراه با تصاویر)

تصویری: IoT Pet Monitor!: 6 مرحله (همراه با تصاویر)

تصویری: IoT Pet Monitor!: 6 مرحله (همراه با تصاویر)
تصویری: How to install Ram sticks in your pc (For pc beginners) #shorts 2024, نوامبر
Anonim
Image
Image
خواندن پیشنهادی
خواندن پیشنهادی

مراقب افراد مورد علاقه خود باشید و موسیقی بنوازید یا به آنها بگویید تا زمانی که دور هستید ساکت باشند! این آموزش نحوه استفاده از رایانه Raspberry Pi را برای نظارت بر میزان صدا در خانه (از طریق ابر) نشان می دهد که آیا و چه موقع حیوان خانگی شما ناراحت است.

درام رول … سرگرم کننده ترین قسمت: اگر صدای آن خیلی بلند شود (مثل اینکه فیدو پارس می کند یا صدای خش دار دیگری می دهد) ، ما می توانیم به آنها بگوییم که ساکت باشند یا موسیقی پخش کنند!

به همراه Pi (و بلندگوها) ، ما از برد شکست میکروفون SparkFun MEMS برای اندازه گیری سطح صدا و راه اندازی پخش کننده صوتی استفاده خواهیم کرد. داده ها با استفاده از پروتکل ارتباطی MQTT در سرویس CloudMQTT بارگذاری می شوند.

کل زمان خواندن: ~ 8 دقیقه

کل زمان ساخت: 60 دقیقه (بدون تجربه)

با تشکر فراوان از SparkFun برای حمایت از این پروژه! آموزش را اینجا ببینید.

مرحله 1: مطالعه توصیه می شود

برای ساخت این پروژه ، شما نیاز به یک رایانه Raspberry Pi 3 کاملاً پیکربندی شده و متصل به WiFi با سیستم عامل Raspbian دارید. همچنین دانستن برخی برنامه نویسی پایتون و موارد زیر مفید است: (1) نحوه استفاده و کنترل پین های Raspberry Pi GPIO ؛ (2) ارتباطات MQTT ؛ و (3) سنسورهای آنالوگ اگر هر یک از این موارد ناآشنا است ، یا اگر فقط کنجکاو هستید (کنجکاو باشید!) ، آموزش های زیر را بررسی کنید!

تمشک پای 3

  1. راهنمای اتصال Raspberry Pi 3 Starter Kit
  2. Raspberry Pi GPIO
  3. ارتباط SPI با رزبری پای

پروتکل ارتباطی MQTT

MQTT (Message Query Telemetry Transport) یک پروتکل ارتباطی IoT محبوب است. ما از کتابخانه Paho Client Python و یک سرویس MQTT به نام CloudMQTT استفاده خواهیم کرد. در اینجا بیشتر در مورد MQTT و نحوه استفاده از آن آمده است:

  1. بررسی پروتکل های ارتباطی برای اینترنت اشیا
  2. شروع به کار با CloudMQTT
  3. مروری بر کتابخانه سرویس گیرنده Eclipse Paho MQTT Python

تخته شکستن میکروفون MEMS

میکروفون MEMS یک میکروفون آنالوگ است ، بنابراین ما به یک مبدل آنالوگ به دیجیتال ("ADC") برای خواندن در سیگنال آنالوگ با پین های GPIO دیجیتال Raspberry Pi نیاز داریم.

  1. شروع به کار با برد شکست میکروفون SparkFun MEMS
  2. برگه میکروفون MEMS
  3. برگه اطلاعات MCP3002 ADC

مرحله 2: مواد

مواد
مواد
مواد
مواد
مواد
مواد

- Raspberry Pi 3 Model B

ما همچنین به لوازم جانبی زیر نیاز داریم: Raspberry Pi 3 Case؛ کارت SD (حداقل 8 گیگابایت) ؛ کابل Raspberry Pi 3 GPIO ؛ کابل برق MicroUSB ؛ کابل HDMI و مانیتور سازگار با HDMI ؛ صفحه کلید USB ؛ موس USB ؛ بلندگوهایی با درگاه هدفون 1/8 اینچی

- تخته SpackFun MEMS Mic Breakout

-MCP3002 (مبدل آنالوگ به دیجیتال)

-Breadboard & M-to-M Breadboard Jumper Wires

مرحله 3: رزبری پای را پیکربندی کنید

رزبری پای را پیکربندی کنید
رزبری پای را پیکربندی کنید
رزبری پای را پیکربندی کنید
رزبری پای را پیکربندی کنید
رزبری پای را پیکربندی کنید
رزبری پای را پیکربندی کنید
رزبری پای را پیکربندی کنید
رزبری پای را پیکربندی کنید

مرحله 1: بررسی و نصب به روز رسانی ها بررسی و نصب به روز رسانی ها همیشه راه خوبی برای شروع است. دستورات زیر را در پنجره ترمینال اجرا کنید:

sudo apt-get update

sudo apt-get upgrade

راه اندازی مجدد sudo

مرحله 2: رابط SPI را برای میکروفون MEMS + MCP3002 تنظیم کنید

برای استفاده از SPI (رابط پورت سریال) برای خواندن در میکروفون MEMS از طریق MCP3002 ، ما به پکیج Dev Python نیاز داریم:

sudo apt-get python-dev را نصب کنید

ما همچنین به رابط SPI نیاز داریم (ممکن است بخواهید یک پوشه فرعی ایجاد کنید تا این را ذخیره کنید):

git clone git: //github.com/doceme/py-spidev

sudo python setup.py install

در صورت برخورد با هرگونه مشکل ، در اینجا اسناد SPI-Dev را مشاهده می کنید.

مرحله 3: پخش صدا با OMXPlayer

OMXPlayer یک پخش کننده صوتی و تصویری است که از قبل روی سیستم عامل Raspbian بارگیری شده است. با اکثر انواع فایل های صوتی از جمله:.wav ،.mp3 ، و.m4a کار می کند. وقتی Fido بیش از حد بلند می شود ، این را برای پخش صداها استفاده می کنیم. کتابخانه پایتون برای کنترل OMXPlayer در Raspbian گنجانده شده است (وو!).

برای آزمایش OMXPlayer از ترمینال ، موارد زیر را تایپ کنید:

omxplayer /home/…/SongFilePath/SongFileName.mp3

اگر این کار نمی کند ، سعی کنید آن را به وسیله دستگاه خروجی صدا محلی مجبور کنید:

omxplayer -o local /home/…/SongFilePath/SongFileName.mp3

مرحله 4: سرور CloudMQTT را پیکربندی کنید

اکنون ما یک سرور MQTT راه اندازی کرده ایم! برای انجام این کار با استفاده از CloudMQTT ، موارد زیر را انجام دهید:

  1. یک حساب CloudMQTT تنظیم کنید (طرح "گربه ناز" رایگان است).
  2. یک نمونه جدید MyCloud ایجاد کنید.
  3. در کنسول ، یک قانون ACL جدید ایجاد کنید.
  4. می توانید پیام های منتشر شده را در رابط کاربری "Websocket" نظارت کنید.

در نهایت ، کتابخانه MQTT Paho Client Python را نصب کنید:

pip نصب paho-mqtt

مرحله 4: آن را بسازید! سخت افزار

بسازش! سخت افزار
بسازش! سخت افزار
بسازش! سخت افزار
بسازش! سخت افزار
بسازش! سخت افزار
بسازش! سخت افزار

نمودارهای Pinout برای رزبری پای و MCP3002 در عکسهای بالا آمده است.

1. پین های MCP3002 را در نانبرد وارد کنید (نمودار pinout بالا را ببینید)

MCP3002 از 4 پین SPI برای ارتباط استفاده می کند: Serial Clock ("SCL") ، Master Input Slave Output ("MISO") ، Master Output Slave Input ("MOSI") و Chip Select ("CS"). این پین ها با Raspberry Pi GPIO pin 11 (SCLK) ، GPIO pin 9 (MISO) ، GPIO Pin 10 (MOSI) و GPIO Pin 8 (CE0) مطابقت دارند.

اتصالات زیر را با پین های MCP3002 ایجاد کنید:

  • پین 1 را به Raspberry Pi GPIO Pin 8 (CE0) وصل کنید
  • پین 2 را به خروجی آنالوگ برد شکست میکروفون MEMS وصل کنید
  • پین 4 را به GND وصل کنید
  • پین 5 را به Raspberry Pi GPIO Pin 10 (MOSI) متصل کنید
  • پین 6 را به Raspberry Pi GPIO pin 9 (MISO) وصل کنید
  • پین 7 را به Raspberry Pi GPIO Pin 11 (SCLK) وصل کنید
  • پین 8 را به Raspberry Pi 3.3V وصل کنید

2. سیم را به برد شکستن میکروفون MEMS بچسبانید. به MCP3002 و Raspberry Pi متصل شوید

  • Vcc را به Raspberry Pi 3.3V متصل کنید.
  • GND را به Raspberry Pi GND وصل کنید
  • AUD را به MCP3002 Pin 2 وصل کنید

3. تمام کابل های Raspberry Pi را وصل کرده و همه چیز را روشن کنید

مرحله 5: آن را بسازید! نرم افزار

بسازش! نرم افزار
بسازش! نرم افزار

هدف ما از Bark Back دو چیز است: هنگامی که سگ پارس می کند ، صدای پخش را پخش می کنیم و داده ها را به سروری ارسال می کنیم تا بتوانیم آن را بررسی کنیم.

در اینجا برنامه پایتون منبع باز برای این پروژه آمده است. در صورت تمایل (و لطفاً) کد را تنظیم و اصلاح کنید.

برای راه اندازی برنامه ، باید دو مورد را پر کنید:

- songList: در مسیر فایل و نام فایل برای هر یک از آهنگ هایی که می خواهید پخش کنید بنویسید.

- اعتبار: اطلاعات CloudMQTT خود را در این فرهنگ لغت وارد کنید.

مرحله 1: در برد شکستن میکروفون SparkFun MEMS بخوانید

مقدار ADC (بین 0 تا 1023) را از روی برد شکست میکروفون MEMS (از طریق MCP3002) با استفاده از کتابخانه SPI بخوانید و دامنه پیک تا پیک سیگنال را محاسبه کنید.

دامنه پیک تا پیک سیگنال را به واحد حجم رسم کنید. کد فعلی محدوده ADC را بین 0 تا 700 (بر اساس آزمایش سریع) به واحد حجم بین 0 تا 10 ترسیم می کند. برای تنظیم حساسیت میکروفون ، محدوده ورودی ADC را تنظیم کنید.

برای بررسی کامل میکروفون MEMS ، این آموزش را بررسی کنید.

مرحله 2: پخش کننده صدا را فعال کنید

ابتدا برای پخش به آهنگ نیاز داریم! می توانید صداها را به سرعت در GarageBand (یا در تلفن هوشمند خود) ضبط کرده و آنها را به رزبری پای ارسال کنید. در پایتون ، از کتابخانه فرعی برای فراخوانی omxplayer استفاده کنید.

در کد ، مسیر فایل آهنگ هایی که می خواهید پخش شوند را در متغیر * songList * وارد کنید (خط 26). آستانه حجم فعلی در عملکرد اصلی روی 7 تنظیم شده است.

مرحله 3: ارسال داده ها به سرور CloudMQTT

از کتابخانه Paho Client Python برای ارتباط با سرورهای CloudMQTT استفاده کنید. به طور خلاصه: راه اندازی یک سرور مشتری ؛ تعریف پروتکل های ارتباطی ؛ با اطلاعات کاربری ما (با نام مستعار) ارتباط برقرار کنید ؛ و اطلاعات ما را مشترک و منتشر کنید بیشتر این کار در عملکرد اصلی (خطوط 129 - 149 و خطوط 169 - 174) انجام می شود.

برای بررسی داده های دریافتی ، به برگه "Websocket UI" در کنسول CloudMQTT بروید.

مرحله 6: آزمایش و نصب کنید

تست و نصب کنید!
تست و نصب کنید!

برنامه BarkBack.py را در ترمینال یا در Python IDE اجرا کنید (همچنین می توانید از SSH برای اجرای برنامه بعد از خروج از برنامه استفاده کنید).

بررسی کنید که در برگه رابط کاربری Websocket خود میزان صدا را دریافت کرده اید.

سیستم را با فعال کردن میکروفون (کف زدن ، فریاد زدن ، پارس کردن و غیره) آزمایش کنید تا مطمئن شوید که بلندگوها همه صداها را پخش می کنند.

هنگامی که همه چیز راه اندازی شد ، توصیه می شود اگر قصد دارید سیستم را بیش از چند روز نصب کنید ، قطعات را به PCB (برد مدار چاپی) لحیم کنید.

مسابقه میکروکنترلر 2017
مسابقه میکروکنترلر 2017
مسابقه میکروکنترلر 2017
مسابقه میکروکنترلر 2017

نفر دوم در مسابقه میکروکنترلر 2017

مسابقه حسگرها 2017
مسابقه حسگرها 2017
مسابقه حسگرها 2017
مسابقه حسگرها 2017

جایزه اول در مسابقه سنسورهای 2017

توصیه شده: