Съдържание:
- Стъпка 1: Предложено четиво
- Стъпка 2: Материали
- Стъпка 3: Конфигурирайте Raspberry Pi
- Стъпка 4: Изградете го! Хардуер
- Стъпка 5: Изградете го! Софтуер
- Стъпка 6: Тествайте и инсталирайте
Видео: IoT Pet Monitor!: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Наблюдавайте любимите си бебета и пускайте музика или им кажете да мълчат, докато сте далеч! Този урок ще покаже как да използвате компютър Raspberry Pi за наблюдение на силата на звука във вашия дом (чрез облака), за да видите дали и кога вашият домашен любимец е разстроен.
Drum roll … най -забавната част: Ако стане прекалено силно (като Фидо лае или прави някакво друго грозно), ще можем да им кажем да мълчат или да пускат музика!
Заедно с Pi (и високоговорителите), ще използваме дъската за пробиване на микрофона SparkFun MEMS за измерване на нивата на силата на звука и задействане на аудио плейъра. Данните се качват в услугата CloudMQTT, използвайки комуникационния протокол MQTT.
Общо време за четене: ~ 8 мин
Общо време за изграждане: 60 минути (по -малко без опит)
Огромно БЛАГОДАРЯ на SparkFun за подкрепата на този проект! Вижте урока тук.
Стъпка 1: Предложено четиво
За да изградите този проект, ще ви е необходим напълно конфигуриран, свързан с WiFi компютър Raspberry Pi 3 с Raspbian OS. Също така е полезно да знаете някои програми на Python, както и следните неща: (1) как да използвате и контролирате Raspberry Pi GPIO щифтове; (2) MQTT комуникация; и (3) аналогови сензори. Ако нещо от това е непознато или просто сте любопитни (бъдете любопитни!), Разгледайте уроците по -долу!
Малина Пи 3
- Ръководство за свързване на Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- SPI комуникация с Raspberry Pi
Комуникационен протокол MQTT
MQTT (Message Query Telemetry Transport) е популярен протокол за комуникация на IoT. Ще използваме библиотеката Paho Client Python и услуга MQTT, наречена CloudMQTT. Ето повече за MQTT и как да го използвате:
- Проучване на комуникационните протоколи за IoT
- Първи стъпки с CloudMQTT
- Преглед на клиентската библиотека на Eclipse Paho MQTT Python
MEMS микрофонна платка
Микрофонът MEMS е аналогов микрофон, така че ще се нуждаем от аналогово-цифров преобразувател ("ADC"), за да четем аналоговия сигнал с цифровите GPIO щифтове на Raspberry Pi.
- Първи стъпки с дъската за микрофон SparkFun MEMS
- Информационен лист за микрофон на MEMS
- Информационен лист за ADC на MCP3002
Стъпка 2: Материали
- Raspberry Pi 3 Модел B
Ще ни трябват и следните периферни устройства: Raspberry Pi 3 Case; SD карта (минимум 8 GB); Raspberry Pi 3 GPIO кабел; Захранващ кабел MicroUSB; HDMI кабел и HDMI-съвместим монитор; USB клавиатура; USB мишка; високоговорители с 1/8 порт за слушалки.
- SparkFun MEMS Mic Breakout Board
-MCP3002 (аналогово-цифров преобразувател)
-Кабелни платки и M-to-M джъмперни проводници
Стъпка 3: Конфигурирайте Raspberry Pi
Стъпка 1: Проверете и инсталирайте актуализации Проверката и инсталирането на актуализации винаги е добър начин да започнете. Изпълнете следните команди в прозореца на терминала:
sudo apt-get update
sudo apt-get надстройка
sudo рестартиране
Стъпка 2: Настройте SPI интерфейс за MEMS микрофон + MCP3002
За да използваме SPI (интерфейс за сериен порт) за четене в микрофона MEMS чрез MCP3002, ще ни е необходим пакета за разработчици на Python:
sudo apt-get install python-dev
Ще ни трябва и SPI интерфейс (може да искате да създадете подпапка, за да запишете това в):
git клониране git: //github.com/doceme/py-spidev
sudo python setup.py install
Ето документацията за SPI-Dev, ако срещнете някакви проблеми.
Стъпка 3: Възпроизвеждане на звуци с OMXPlayer
OMXPlayer е аудио и видео плейър, предварително зареден на Raspbian OS. Работи с повечето типове звукови файлове, включително:.wav,.mp3 и.m4a. Това ще използваме за възпроизвеждане на звуци, когато Фидо стане твърде силен. Библиотеката Python за управление на OMXPlayer е включена в Raspbian (woo!).
За да тествате OMXPlayer от терминала, въведете следното:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Ако това не работи, опитайте да го принудите към локалното устройство за аудио изход:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Стъпка 4: Конфигурирайте CloudMQTT сървър
Сега създадохме MQTT сървър! За да направите това с помощта на CloudMQTT, направете следното:
- Настройте акаунт в CloudMQTT (планът „Cute Cat“е безплатен).
- Създайте нов екземпляр на MyCloud.
- В конзолата създайте ново правило за ACL.
- Можете да наблюдавате публикуваните съобщения в потребителския интерфейс на „Websocket“.
И накрая, инсталирайте библиотеката на MQTT Paho Client Python:
pip install paho-mqtt
Стъпка 4: Изградете го! Хардуер
Диаграмите на разводки за Raspberry Pi и MCP3002 са на снимките по -горе.
1. Вмъкнете щифтовете MCP3002 в макет (вижте схемата на изваждане по -горе)
MCP3002 използва 4 SPI пина за комуникация: сериен часовник ("SCL"), главен входен подчинен изход ("MISO"), главен изходен подчинен вход ("MOSI") и избор на чип ("CS"). Тези щифтове съответстват на Raspberry Pi GPIO пин 11 (SCLK), GPIO пин 9 (MISO), GPIO Pin 10 (MOSI) и GPIO Pin 8 (CE0).
Направете следните връзки с пинове MCP3002:
- Свържете Pin 1 към Raspberry Pi GPIO Pin 8 (CE0)
- Свържете Pin 2 към аналоговия изход на MEMS микрофонната платка
- Свържете Pin 4 към GND
- Свържете Pin 5 към Raspberry Pi GPIO Pin 10 (MOSI)
- Свържете Pin 6 към Raspberry Pi GPIO pin 9 (MISO)
- Свържете Pin 7 към Raspberry Pi GPIO Pin 11 (SCLK)
- Свържете Pin 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 е двойна: да задейства звук при възпроизвеждане, когато кучето лае, и да изпращаме данните до сървър, където можем да го проверим.
Ето програмата Python с отворен код за този проект. Не се колебайте (и моля, направете) да коригирате и модифицирате кода.
За да стартирате програмата, трябва да попълните две неща:
- songList: Напишете пътя на файла и името на файла за всяка от песните, които искате да възпроизведете.
- creds: Въведете вашата CloudMQTT информация в този речник.
Стъпка 1: Прочетете в дъската за пробиване на микрофона SparkFun MEMS
Прочетете стойността на ADC (между 0 и 1023) от MEMS микрофонната платка (чрез MCP3002), използвайки SPI библиотеката и изчислете амплитудата на пика на пика.
Съпоставете амплитудата пик на пик на сигнала с единица за обем. Текущият код картографира диапазона на ADC между 0 и 700 (въз основа на бързи експерименти) на единица за сила на звука между 0 и 10. За да регулирате чувствителността на микрофона, регулирайте ADC входния диапазон.
За подробен преглед на микрофона MEMS вижте този урок.
Стъпка 2: Задействайте аудио плейъра
Първо ще ни трябват песни за свирене! Можете бързо да записвате звуци в GarageBand (или на вашия смартфон) и да ги изпращате на Raspberry Pi. В Python използвайте библиотеката на подпроцесите, за да извикате omxplayer.
В кода въведете пътя на файла на песните, които искате да възпроизведете, в променливата * songList * (ред 26). Текущият праг на силата на звука е зададен на 7 в основната функция.
Стъпка 3: Изпратете данни до CloudMQTT сървър
Използвайте библиотеката Paho Client Python за комуникация със сървърите на CloudMQTT. За да обобщим най -общо: Настройте клиентски сървър; определят комуникационни протоколи; свържете се с нашите идентификационни данни (известни още като creds); и се абонирайте и публикувайте нашите данни. Повечето от това се прави в основната функция (редове 129 - 149 и редове 169 - 174).
За да проверите получените данни, отидете в раздела „Websocket UI“в конзолата CloudMQTT.
Стъпка 6: Тествайте и инсталирайте
Стартирайте програмата BarkBack.py в Terminal или в Python IDE (можете също да използвате SSH, за да стартирате програмата, след като вече сте напуснали).
Проверете дали получавате нива на силата на звука в раздела на потребителския интерфейс на Websocket.
Тествайте системата, като задействате микрофона (пляскане, викане, лай и т.н.), за да сте сигурни, че високоговорителите възпроизвеждат всички звуци.
След като всичко започне и работи, се препоръчва да запоите компонентите към печатна платка (печатна платка), ако възнамерявате да инсталирате системата за повече от само няколко дни.
Вицешампион в конкурса за микроконтролер 2017
Първа награда в конкурса за сензори 2017
Препоръчано:
LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки)
LED светлини (и), захранвани от батерии, със слънчево зареждане: Жена ми учи хората как да правят сапун, повечето от часовете й бяха вечер и тук през зимата се стъмва около 16:30 ч. Някои от нейните ученици имаха проблеми с намирането на нашите къща. Имахме табела отпред, но дори и с улично осветление
Лек хак за стая със зрителни увреждания със слухови увреждания: 7 стъпки (със снимки)
Лек хак на стаята със слухови увреждания на вратата: Проблем: баща ми е регистриран като глух, а майка ми е с увреден слух и поради това често им е трудно да чуят звънеца на вратата. Това би могло да бъде проблем, претърпян и от много други.Купиха мигащ светлинен звънец на вратата, за да им помогнат с
D4E1 PET фреза (Artmaker02): 9 стъпки (със снимки)
D4E1 PET Cutter (Artmaker02): Какво прави тази фреза за бутилки? Тази машина реже рециклирани пластмасови (PET) бутилки на пръстени или спирали с нагрет нож в безопасно заграждение, което може да се използва безопасно от всички. Защо направихме това и кой Това е за? Ние сме група от промишлени D
Creeper-BOT (Creeper Pet): 9 стъпки (със снимки)
Creeper-BOT (Creeper Pet): Винаги съм искал да направя свой собствен четириног робот и конкурсът Minecraft беше добро извинение. Освен това наистина исках „домашен любимец“на Creeper. В този Instructable ще споделя как съм го направил и ще ви дам ръководство, ако искате да направите свой собствен. Предполагам, че сте
Персонализиран часовник със стрелки за снимки: 5 стъпки (със снимки)
Персонализиран часовник със стрелки за снимки: Някои хора наблюдават часовника. Сега всеки може да бъде часовник. Други проекти персонализират лицето на часовника. Този персонализира стрелките на часовника. Изглежда скъп, но е по -малко от 5 долара и около 30 минути на часовник. Перфектен за Chr