فهرست مطالب:
- مرحله 1: مطالعه توصیه می شود
- مرحله 2: مواد
- مرحله 3: رزبری پای را پیکربندی کنید
- مرحله 4: آن را بسازید! سخت افزار
- مرحله 5: آن را بسازید! نرم افزار
- مرحله 6: آزمایش و نصب کنید
تصویری: IoT Pet Monitor!: 6 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
مراقب افراد مورد علاقه خود باشید و موسیقی بنوازید یا به آنها بگویید تا زمانی که دور هستید ساکت باشند! این آموزش نحوه استفاده از رایانه Raspberry Pi را برای نظارت بر میزان صدا در خانه (از طریق ابر) نشان می دهد که آیا و چه موقع حیوان خانگی شما ناراحت است.
درام رول … سرگرم کننده ترین قسمت: اگر صدای آن خیلی بلند شود (مثل اینکه فیدو پارس می کند یا صدای خش دار دیگری می دهد) ، ما می توانیم به آنها بگوییم که ساکت باشند یا موسیقی پخش کنند!
به همراه Pi (و بلندگوها) ، ما از برد شکست میکروفون SparkFun MEMS برای اندازه گیری سطح صدا و راه اندازی پخش کننده صوتی استفاده خواهیم کرد. داده ها با استفاده از پروتکل ارتباطی MQTT در سرویس CloudMQTT بارگذاری می شوند.
کل زمان خواندن: ~ 8 دقیقه
کل زمان ساخت: 60 دقیقه (بدون تجربه)
با تشکر فراوان از SparkFun برای حمایت از این پروژه! آموزش را اینجا ببینید.
مرحله 1: مطالعه توصیه می شود
برای ساخت این پروژه ، شما نیاز به یک رایانه Raspberry Pi 3 کاملاً پیکربندی شده و متصل به WiFi با سیستم عامل Raspbian دارید. همچنین دانستن برخی برنامه نویسی پایتون و موارد زیر مفید است: (1) نحوه استفاده و کنترل پین های Raspberry Pi GPIO ؛ (2) ارتباطات MQTT ؛ و (3) سنسورهای آنالوگ اگر هر یک از این موارد ناآشنا است ، یا اگر فقط کنجکاو هستید (کنجکاو باشید!) ، آموزش های زیر را بررسی کنید!
تمشک پای 3
- راهنمای اتصال Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- ارتباط SPI با رزبری پای
پروتکل ارتباطی MQTT
MQTT (Message Query Telemetry Transport) یک پروتکل ارتباطی IoT محبوب است. ما از کتابخانه Paho Client Python و یک سرویس MQTT به نام CloudMQTT استفاده خواهیم کرد. در اینجا بیشتر در مورد MQTT و نحوه استفاده از آن آمده است:
- بررسی پروتکل های ارتباطی برای اینترنت اشیا
- شروع به کار با CloudMQTT
- مروری بر کتابخانه سرویس گیرنده Eclipse Paho MQTT Python
تخته شکستن میکروفون MEMS
میکروفون MEMS یک میکروفون آنالوگ است ، بنابراین ما به یک مبدل آنالوگ به دیجیتال ("ADC") برای خواندن در سیگنال آنالوگ با پین های GPIO دیجیتال Raspberry Pi نیاز داریم.
- شروع به کار با برد شکست میکروفون SparkFun MEMS
- برگه میکروفون MEMS
- برگه اطلاعات 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 ، موارد زیر را انجام دهید:
- یک حساب CloudMQTT تنظیم کنید (طرح "گربه ناز" رایگان است).
- یک نمونه جدید MyCloud ایجاد کنید.
- در کنسول ، یک قانون ACL جدید ایجاد کنید.
- می توانید پیام های منتشر شده را در رابط کاربری "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
توصیه شده:
Leo: The Pet Cat: 7 مرحله (همراه با تصاویر)
Leo: The Pet Cat: سلام ، این اولین دستورالعمل آموزشی من است. اولین نسخه از & quot؛ Sony Aibo Robot (1999) & quot؛ در چهار سالگی مرا به سمت رباتیک کشاند ، از آن زمان ، رویای من این بود که برای من ربات حیوان خانگی بسازم. بنابراین با & quot؛ Leo: the Pet Cat && quot؛ w
Pet Pet: 6 مرحله (همراه با تصاویر)
Pet Bot: Credit: این پروژه از Beetlebot توسط robomaniac الهام گرفته شده است. به روز رسانی: من از آن زمان به Pet Bot تغییر نام دادم. (ویدئو هنوز آن را به عنوان Catfish Bot نشان می دهد) من Robotics را به سازندگان جوان در پلتفرم های ESP8266 ، Arduino و Raspberry PI آموزش می دهم و یکی از چالش برانگیزترین
D4E1 PET Cutter (Artmaker02): 9 مرحله (همراه با تصاویر)
D4E1 PET Cutter (Artmaker02): این برش بطری چه می کند؟ این دستگاه بطری های پلاستیکی بازیافت شده (PET) را با چاقوی گرم شده در حلقه ای ایمن که می تواند با خیال راحت برای همه استفاده شود به حلقه یا مارپیچ برش می دهد. برای ما است؟ ما گروهی از D صنعتی هستیم
Creeper-BOT (Creeper Pet): 9 مرحله (همراه با تصاویر)
Creeper-BOT (Creeper Pet): من همیشه می خواستم یک ربات چهارپاره برای خودم بسازم و مسابقه Minecraft بهانه خوبی بود. علاوه بر این ، من واقعاً یک حیوان خانگی Creeper می خواستم. در این دستورالعمل نحوه ساخت آن را به اشتراک می گذارم و اگر می خواهید خودتان آن را تهیه کنید ، راهنمایی می کنم. فرض می کنم شما در حال حاضر
IoT Outdoor Pet Door: 6 مرحله (همراه با تصاویر)
IoT Outdoor Pet Door: من با الهام از این دستورالعمل ایجاد درب اتوماتیک مرغداری کار کردم. من نه تنها می خواستم درب کارگاه مرغ را روی یک تایمر قرار دهم ، بلکه می خواستم درب را به اینترنت وصل کنم تا بتوانم آن را با تلفن یا رایانه ام کنترل کنم. این د