IoT Pet Monitor!: 6 қадам (суреттермен)
IoT Pet Monitor!: 6 қадам (суреттермен)
Anonim
Image
Image
Ұсынылған оқу
Ұсынылған оқу

Сүйікті бибилеріңізді қадағалаңыз және музыка ойнаңыз немесе оларға жоқта тыныш болыңыз деп айтыңыз! Бұл оқулықта сіздің үйіңіздегі дыбыс деңгейін бақылау үшін Raspberry Pi компьютерін қалай пайдалану керектігін көрсетеді (бұлт арқылы) және сіздің үй жануарыңыздың қашан ренжігенін білу үшін.

Барабанның ролі … ең қызықты бөлігі: егер ол қатты шықса (мысалы, Фидо үреді немесе басқа даусын шығарады), біз оларға тыныш болуға немесе музыка ойнауға айтуға болады!

Pi (және динамиктермен) бірге біз дыбыс деңгейін өлшеу және аудио ойнатқышты іске қосу үшін SparkFun MEMS микрофонының ажырату тақтасын қолданамыз. Деректер MQTT байланыс протоколы арқылы CloudMQTT қызметіне жүктеледі.

Жалпы оқу уақыты: ~ 8 мин

Жалпы құрастыру уақыты: 60 мин (тәжірибесіз)

Бұл жобаны қолдағаныңыз үшін SparkFun -ға үлкен РАХМЕТ! Оқулықты мына жерден қараңыз.

1 -қадам: Ұсынылған оқу

Бұл жобаны құру үшін сізге толық конфигурацияланған, Raspbian ОЖ бар WiFi қосылған Raspberry Pi 3 компьютері қажет. Кейбір Python бағдарламалауды, сондай -ақ келесі әрекеттерді білу пайдалы: (1) Raspberry Pi GPIO түйреуіштерін қалай пайдалану және басқару; (2) MQTT байланысы; және (3) аналогтық сенсорлар. Егер бұлардың кез келгені бейтаныс болса немесе сіз жай ғана білгіңіз келсе (қызығыңыз!), Төмендегі оқулықтарды қараңыз!

Таңқурай Pi 3

  1. Raspberry Pi 3 стартерлік жинаққа қосылуға арналған нұсқаулық
  2. Raspberry Pi GPIO
  3. Raspberry Pi -мен SPI байланысы

MQTT байланыс протоколы

MQTT (Message Query Telemetry Transport) - бұл танымал IoT байланыс протоколы. Біз Paho Client Python кітапханасын және CloudMQTT деп аталатын MQTT қызметін қолданамыз. MQTT туралы және оны пайдалану туралы толығырақ:

  1. IoT үшін байланыс протоколдарын зерттеу
  2. CloudMQTT -пен жұмысты бастау
  3. Eclipse Paho MQTT Python клиенттік кітапханасына шолу

MEMS микрофонын ажырату тақтасы

MEMS микрофон-бұл аналогты микрофон, сондықтан Raspberry Pi цифрлық GPIO түйреуіштерімен аналогтық сигналды оқу үшін бізге аналогты-цифрлық түрлендіргіш («ADC») қажет болады.

  1. SparkFun MEMS микрофонын ажырату тақтасын бастау
  2. MEMS микрофонының деректер кестесі
  3. MCP3002 ADC мәліметтер кестесі

2 -қадам: материалдар

Материалдар
Материалдар
Материалдар
Материалдар
Материалдар
Материалдар

- Raspberry Pi 3 моделі B

Бізге келесі қосымша құрылғылар қажет болады: Raspberry Pi 3 корпусы; SD картасы (кемінде 8 ГБ); Raspberry Pi 3 GPIO кабелі; MicroUSB қуат кабелі; HDMI кабелі мен HDMI үйлесімді монитор; USB пернетақтасы; USB тінтуірі; 1/8 дюймдік гарнитура порты бар динамиктер.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (Аналогты-цифрлық түрлендіргіш)

-Breadboard & M-to-M Breadboard jumper сымдары

3 -қадам: Raspberry Pi конфигурациясын жасаңыз

Raspberry Pi конфигурациясын жасаңыз
Raspberry Pi конфигурациясын жасаңыз
Raspberry Pi конфигурациясын жасаңыз
Raspberry Pi конфигурациясын жасаңыз
Raspberry Pi конфигурациясын жасаңыз
Raspberry Pi конфигурациясын жасаңыз
Raspberry Pi конфигурациясын жасаңыз
Raspberry Pi конфигурациясын жасаңыз

1 -қадам: Жаңартуларды тексеру және орнату Жаңартуларды тексеру мен орнатуды бастау - әрқашан жақсы әдіс. Терминал терезесінде келесі пәрмендерді іске қосыңыз:

sudo apt-get жаңартуы

sudo apt-get жаңарту

sudo қайта жүктеу

2 -қадам: MEMS Microphone + MCP3002 үшін SPI интерфейсін орнатыңыз

MCPS002 арқылы MEMS микрофонында оқу үшін SPI (сериялық порт интерфейсі) пайдалану үшін бізге Python Dev пакеті қажет болады:

sudo apt-get install python-dev

Бізге SPI интерфейсі де қажет болады (оны сақтау үшін ішкі қалта жасау қажет болуы мүмкін):

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

sudo python setup.py орнату

Міне, егер сізде қандай да бір мәселелер туындаса, SPI-Dev құжаттары.

3 -қадам: OMXPlayer көмегімен дыбыстарды ойнату

OMXPlayer-бұл Raspbian ОЖ-де алдын ала жүктелген аудио және бейне ойнатқыш. Ол көптеген дыбыстық файл түрлерімен жұмыс істейді, соның ішінде:.wav,.mp3 және.m4a. Бұл Фидо қатты шыққан кезде дыбыстарды ойнату үшін қолданатын құрал. OMXPlayer басқаруға арналған Python кітапханасы Raspbian (woo!) Құрамына кіреді.

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 кітапханасын орнатыңыз:

paho-mqtt орнатыңыз

4 -қадам: Оны жасаңыз! Аппараттық құрал

Құру! Аппараттық құрал
Құру! Аппараттық құрал
Құру! Аппараттық құрал
Құру! Аппараттық құрал
Құру! Аппараттық құрал
Құру! Аппараттық құрал

Raspberry Pi және MCP3002 диаграммалары жоғарыдағы суреттерде көрсетілген.

1. MCP3002 түйреуіштерін тақтаға салыңыз (жоғарыдағы түйісу диаграммасын қараңыз)

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 2 -пинге қосыңыз

3. Raspberry Pi үшін барлық кабельдерді қосыңыз және бәрін қосыңыз

5 -қадам: Оны жасаңыз! Бағдарламалық қамтамасыз ету

Құру! Бағдарламалық қамтамасыз ету
Құру! Бағдарламалық қамтамасыз ету

Bark Back -тегі біздің мақсатымыз екі түрлі: ит үргенде ойнату дыбысын шығарады және деректерді біз тексере алатын серверге жібереміз.

Міне, бұл жобаның ашық көзі Python бағдарламасы. Кодты реттеуге және өзгертуге ерініңіз.

Бағдарламаны іске қосу үшін екі нәрсені толтыру қажет:

- songList: ойнағыңыз келетін әндердің әрқайсысы үшін файл жолын және файл атауын жазыңыз.

- creds: CloudMQTT ақпаратын осы сөздікке енгізіңіз.

1 -қадам: SparkFun MEMS микрофонының ажырату тақтасынан оқыңыз

ADI мәнінде (0-ден 1023-ке дейін) SPI кітапханасын қолдана отырып, MEMS микрофонының ажырату тақтасынан (MCP3002 арқылы) оқыңыз және сигналдың шыңнан амплитудасын есептеңіз.

Сигналдың амплитудасын дыбыс бірлігіне салыстырыңыз. Ағымдағы код ADC диапазонын 0 -ден 700 -ге дейін (жылдам эксперимент негізінде) 0 мен 10 арасындағы дыбыс бірлігіне салыстырады. Микрофон сезімталдығын реттеу үшін ADC кіріс диапазонын реттеңіз.

MEMS микрофонына толық шолу жасау үшін осы оқулықты қараңыз.

2 -қадам: аудио ойнатқышты іске қосыңыз

Алдымен бізге ән айту керек! Сіз GarageBand -та (немесе смартфонда) дыбыстарды тез жазып, оларды Raspberry Pi -ге жібере аласыз. Python -да omxplayer -ге қоңырау шалу үшін ішкі процесс кітапханасын пайдаланыңыз.

Кодта * songList * айнымалысына ойнатқыңыз келетін әндердің файл жолын енгізіңіз (26 -жол). Негізгі функцияда ағымдағы дыбыс шегі 7 -ге орнатылады.

3 -қадам: деректерді CloudMQTT серверіне жіберіңіз

Paho Client Python кітапханасын CloudMQTT серверлерімен байланысу үшін пайдаланыңыз. Қысқаша айтқанда: Клиент серверін орнату; байланыс протоколдарын анықтау; біздің тіркелгі деректерімізбен байланысыңыз (aka creds); және жазылыңыз және біздің деректерді жариялаңыз. Мұның көпшілігі негізгі функцияда орындалады (129 - 149 жолдар және 169 - 174 жолдар).

Қабылданған деректерді тексеру үшін CloudMQTT консоліндегі «Websocket UI» қойындысына өтіңіз.

6 -қадам: Тексеріңіз және орнатыңыз

Тексеру және орнату!
Тексеру және орнату!

BarkBack.py бағдарламасын Терминалда немесе Python IDE -де іске қосыңыз (сонымен қатар бағдарламадан шығып кеткеннен кейін оны іске қосу үшін SSH -ді қолдануға болады).

Websocket UI қойындысында дыбыс деңгейін алатындығыңызды тексеріңіз.

Динамиктердің барлық дыбыстар арқылы ойнайтынына сенімді болу үшін микрофонды (шапалақ, айқай, үру және т.б.) іске қосу арқылы жүйені тексеріңіз.

Барлығы іске қосылғаннан кейін, егер сіз жүйені бірнеше күннен артық орнатқыңыз келсе, компоненттерді ПХД -ге (баспа схемасына) дәнекерлеу ұсынылады.

Микроконтроллер сайысы 2017
Микроконтроллер сайысы 2017
Микроконтроллер сайысы 2017
Микроконтроллер сайысы 2017

2017 жылғы микроконтроллер байқауында екінші орын

Сенсорлар сайысы 2017
Сенсорлар сайысы 2017
Сенсорлар сайысы 2017
Сенсорлар сайысы 2017

Сенсорлар байқауының бірінші жүлдесі 2017 ж

Ұсынылған: