Агуулгын хүснэгт:

IoT Pet Monitor!: 6 алхам (зурагтай)
IoT Pet Monitor!: 6 алхам (зурагтай)

Видео: IoT Pet Monitor!: 6 алхам (зурагтай)

Видео: IoT Pet Monitor!: 6 алхам (зурагтай)
Видео: Камера-ЛАМПА со слежением и определением человека. 2024, Арваннэгдүгээр
Anonim
Image
Image
Санал болгож буй уншлага
Санал болгож буй уншлага

Хайртай bbies -ээ ажиглаж, хөгжим тоглож эсвэл тэднийг хол байхад чимээгүй байхыг хэлээрэй! Энэхүү заавар нь Raspberry Pi компьютерийг ашиглан гэрийнхээ дууны хэмжээг (Үүлээр дамжуулан) хэрхэн хянаж, гэрийн тэжээвэр амьтан тань сэтгэл дундуур байгаа эсэхийг мэдэх болно.

Бөмбөрийн өнхрөх … хамгийн хөгжилтэй хэсэг: Хэрэв хэт чанга сонсогдвол (Фидо хуцах эсвэл өөр чимээ гаргах гэх мэт), бид тэднийг чимээгүй бай эсвэл хөгжим тогло гэж хэлж чадна.

Pi (болон чанга яригч) -тай хамт бид SparkFun MEMS микрофоны самбарыг ашиглан дууны түвшинг хэмжиж, аудио тоглуулагчийг ажиллуулна. Өгөгдлийг MQTT холбооны протокол ашиглан CloudMQTT үйлчилгээнд байршуулдаг.

Нийт унших хугацаа: ~ 8 мин

Нийт бүтээх хугацаа: 60 мин (бага туршлагатай)

Энэхүү төслийг дэмжсэн SparkFun -д маш их БАЯРЛАЛАА! Хичээлийг эндээс үзээрэй.

Алхам 1: Санал болгож буй унших

Энэхүү төслийг бүтээхийн тулд танд Raspbian үйлдлийн системтэй, WiFi сүлжээнд холбогдсон Raspberry Pi 3 компьютер хэрэгтэй болно. Python програмчлал болон дараах зүйлсийг мэдэх нь бас тустай: (1) Raspberry Pi GPIO тээглүүрийг хэрхэн ашиглах, хянах; (2) MQTT холбоо; ба (3) аналог мэдрэгч. Хэрэв эдгээрийн аль нэг нь танил бус, эсвэл та зүгээр л сонирхож байгаа бол (сонирхож үзээрэй!), Доорх хичээлүүдийг үзээрэй!

Raspberry Pi 3

  1. Raspberry Pi 3 Starter Kit Hookup Guide
  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 загвар Б.

Мөн бидэнд дараах нэмэлт төхөөрөмжүүд хэрэгтэй болно: Raspberry Pi 3 хайрцаг; SD карт (хамгийн багадаа 8 GB); 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 update

sudo apt-get шинэчлэлт

sudo дахин ачаална уу

Алхам 2: MEMS Microphone + MCP3002 -д SPI интерфэйсийг тохируулна уу

MCP3002 -ээр MEMS микрофон дээр уншихын тулд SPI (Цуваа порт интерфэйс) ашиглахын тулд бидэнд Python Dev багц хэрэгтэй болно.

sudo apt-get python-dev суулгах

Бидэнд SPI интерфэйс хэрэгтэй болно (үүнийг хадгалахын тулд дэд хавтас үүсгэхийг хүсч магадгүй юм):

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

sudo python setup.py суулгах

Хэрэв танд ямар нэгэн асуудал тулгарвал SPI-Dev-ийн баримт бичгийг энд оруулав.

Алхам 3: OMXPlayer ашиглан дуу тоглуулах

OMXPlayer бол Raspbian OS дээр урьдчилан ачаалагдсан аудио болон видео тоглуулагч юм. Энэ нь.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" UI дээр хянах боломжтой.

Эцэст нь MQTT Paho Client Python номын санг суулгана уу.

paho-mqtt-ийг суулгах

Алхам 4: Үүнийг бүтээгээрэй! Техник хангамж

Үүнийг бүтээ! Техник хангамж
Үүнийг бүтээ! Техник хангамж
Үүнийг бүтээ! Техник хангамж
Үүнийг бүтээ! Техник хангамж
Үүнийг бүтээ! Техник хангамж
Үүнийг бүтээ! Техник хангамж

Raspberry Pi болон MCP3002 -ийн холболтын диаграммыг дээрх зурган дээр үзүүлэв.

1. MCP3002 тээглүүрийг талхны самбар руу оруулна уу (дээрх холболтын диаграмыг үзнэ үү)

MCP3002 нь харилцаанд 4 SPI зүү ашигладаг: Цуваа цаг ("SCL"), Мастер оролтын боол гаралт ("MISO"), Мастер гаралтын боол оролт ("MOSI"), Чип сонгох ("CS"). Эдгээр зүү нь Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 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 микрофон таслах самбараас уншина уу

ADI утгыг (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).

Хүлээн авсан өгөгдлийг шалгахын тулд CloudMQTT консол дахь "Websocket UI" таб руу очно уу.

Алхам 6: Туршаад суулгаарай

Туршилт ба суулгац!
Туршилт ба суулгац!

BarkBack.py програмыг Терминал эсвэл Python IDE дээр ажиллуулна уу (та аль хэдийн гарсны дараа програмыг ажиллуулахын тулд SSH ашиглаж болно).

Та Websocket UI таб дээрээс дууны түвшинг авч байгаа эсэхээ шалгаарай.

Чанга яригч бүх дуугаар тоглодог гэдэгт итгэлтэй байхын тулд микрофоныг (алга таших, хашгирах, хуцах гэх мэт) асаах замаар системийг туршиж үзээрэй.

Бүх зүйл бэлэн болсны дараа, хэрэв та системийг хэдхэн хоногоос илүү хугацаанд суулгах гэж байгаа бол бүрэлдэхүүн хэсгүүдийг ПХБ -д (Хэвлэмэл хэлхээний самбар) гагнахыг зөвлөж байна.

Микроконтроллерийн тэмцээн 2017
Микроконтроллерийн тэмцээн 2017
Микроконтроллерийн тэмцээн 2017
Микроконтроллерийн тэмцээн 2017

2017 оны микроконтроллерийн тэмцээнд 2 -р байр эзэлсэн

Мэдрэгчдийн тэмцээн 2017
Мэдрэгчдийн тэмцээн 2017
Мэдрэгчдийн тэмцээн 2017
Мэдрэгчдийн тэмцээн 2017

Мэдрэгчдийн уралдааны 2017 оны тэргүүн шагнал

Зөвлөмж болгож буй: