Mục lục:

IoT Pet Monitor!: 6 bước (có hình ảnh)
IoT Pet Monitor!: 6 bước (có hình ảnh)

Video: IoT Pet Monitor!: 6 bước (có hình ảnh)

Video: IoT Pet Monitor!: 6 bước (có hình ảnh)
Video: Cuộc chiến của đội cảnh sát cơ động 2024, Tháng mười một
Anonim
Image
Image
cách đọc được đề nghị
cách đọc được đề nghị

Hãy để mắt đến những chiếc bbies yêu quý của bạn và phát nhạc hoặc yêu cầu họ im lặng khi bạn đi vắng! Hướng dẫn này sẽ chỉ cho bạn cách sử dụng máy tính Raspberry Pi để theo dõi âm lượng âm thanh trong nhà của bạn (thông qua Đám mây) để xem liệu và khi nào thú cưng của bạn khó chịu.

Drum roll… phần thú vị nhất: Nếu nó quá to (như Fido đang sủa hoặc làm một số người khác khàn khàn), chúng tôi sẽ bạn có thể yêu cầu họ im lặng hoặc phát nhạc!

Cùng với Pi (và loa), chúng tôi sẽ sử dụng bảng phân tích micrô SparkFun MEMS để đo mức âm lượng và kích hoạt trình phát âm thanh. Dữ liệu được tải lên dịch vụ CloudMQTT bằng giao thức truyền thông MQTT.

Tổng thời gian đọc: ~ 8 phút

Tổng thời gian xây dựng: 60 phút (ít hơn / kinh nghiệm)

Rất cảm ơn SparkFun đã hỗ trợ dự án này! Kiểm tra hướng dẫn ở đây.

Bước 1: Đọc đề xuất

Để xây dựng dự án này, bạn sẽ cần một máy tính Raspberry Pi 3 được cấu hình đầy đủ, kết nối WiFi với Hệ điều hành Raspbian. Cũng rất hữu ích nếu bạn biết một số lập trình Python cũng như những điều sau: (1) cách sử dụng và điều khiển các chân GPIO của Raspberry Pi; (2) Truyền thông MQTT; và (3) cảm biến tương tự. Nếu bất kỳ điều nào trong số này không quen thuộc hoặc nếu bạn chỉ tò mò (hãy tò mò!), Hãy xem các hướng dẫn bên dưới!

Raspberry Pi 3

  1. Hướng dẫn kết nối Raspberry Pi 3 Starter Kit
  2. Raspberry Pi GPIO
  3. Giao tiếp SPI với Raspberry Pi

Giao thức truyền thông MQTT

MQTT (Message Query Telemetry Transport) là một giao thức truyền thông IoT phổ biến. Chúng tôi sẽ sử dụng thư viện Paho Client Python và một dịch vụ MQTT được gọi là CloudMQTT. Dưới đây là thông tin thêm về MQTT và cách sử dụng nó:

  1. Khám phá các giao thức truyền thông cho IoT
  2. Bắt đầu với CloudMQTT
  3. Tổng quan về thư viện máy khách Eclipse Paho MQTT Python

Bảng đột phá micrô MEMS

Micrô MEMS là micrô tương tự, vì vậy chúng tôi sẽ cần một bộ chuyển đổi Analog-to-Digital ("ADC") để đọc tín hiệu tương tự bằng các chân GPIO kỹ thuật số Raspberry Pi.

  1. Bắt đầu với Bảng đột phá micrô SparkFun MEMS
  2. Biểu dữ liệu micrô MEMS
  3. MCP3002 ADC Datasheet

Bước 2: Vật liệu

Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu
Vật liệu

- Raspberry Pi 3 Model B

Chúng tôi cũng sẽ cần các thiết bị ngoại vi sau: Vỏ Raspberry Pi 3; Thẻ SD (tối thiểu 8 GB); Cáp Raspberry Pi 3 GPIO; Cáp nguồn MicroUSB; Cáp HDMI và màn hình tương thích với HDMI; Bàn phím USB; Chuột USB; loa có cổng tai nghe 1/8”.

- Bảng đột phá mic SparkFun MEMS

- MCP3002 (Bộ chuyển đổi Analog-to-Digital)

- Breadboard & M-to-M Breadboard Jumper Wires

Bước 3: Định cấu hình Raspberry Pi

Định cấu hình Raspberry Pi
Định cấu hình Raspberry Pi
Định cấu hình Raspberry Pi
Định cấu hình Raspberry Pi
Định cấu hình Raspberry Pi
Định cấu hình Raspberry Pi
Định cấu hình Raspberry Pi
Định cấu hình Raspberry Pi

Bước 1: Kiểm tra và cài đặt bản cập nhật Kiểm tra và cài đặt bản cập nhật luôn là một cách tốt để bắt đầu. Chạy các lệnh sau trong cửa sổ dòng lệnh:

sudo apt-get cập nhật

sudo apt-get nâng cấp

khởi động lại sudo

Bước 2: Thiết lập giao diện SPI cho MEMS Micrô + MCP3002

Để sử dụng SPI (Giao diện cổng nối tiếp) để đọc trong MEMS Micrô qua MCP3002, chúng tôi sẽ cần Gói Python Dev:

sudo apt-get install python-dev

Chúng tôi cũng sẽ cần Giao diện SPI (có thể muốn tạo một thư mục con để lưu nó vào):

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

sudo python setup.py cài đặt

Đây là Tài liệu SPI-Dev nếu bạn gặp bất kỳ sự cố nào.

Bước 3: Phát Âm thanh với OMXPlayer

OMXPlayer là một trình phát âm thanh và video được tải sẵn trên hệ điều hành Raspbian. Nó hoạt động với hầu hết các loại tệp âm thanh, bao gồm:.wav,.mp3 và.m4a. Đây là những gì chúng tôi sẽ sử dụng để phát lại âm thanh khi Fido quá to. Thư viện Python để điều khiển OMXPlayer được bao gồm trong Raspbian (woo!).

Để kiểm tra OMXPlayer từ thiết bị đầu cuối, hãy nhập như sau:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Nếu cách đó không hiệu quả, hãy thử buộc nó qua thiết bị phát âm thanh cục bộ:

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

Bước 4: Định cấu hình Máy chủ CloudMQTT

Bây giờ chúng tôi thiết lập một máy chủ MQTT! Để thực hiện việc này bằng CloudMQTT, hãy làm như sau:

  1. Thiết lập tài khoản CloudMQTT (gói "Mèo dễ thương" miễn phí).
  2. Tạo một phiên bản MyCloud mới.
  3. Trong Bảng điều khiển, hãy tạo một quy tắc ACL mới.
  4. Bạn có thể theo dõi các thông báo đã xuất bản trong giao diện người dùng "Websocket".

Cuối cùng, cài đặt thư viện MQTT Paho Client Python:

pip cài đặt paho-mqtt

Bước 4: Xây dựng nó! Phần cứng

Xây dựng nó! Phần cứng
Xây dựng nó! Phần cứng
Xây dựng nó! Phần cứng
Xây dựng nó! Phần cứng
Xây dựng nó! Phần cứng
Xây dựng nó! Phần cứng

Sơ đồ sơ đồ chân cho Raspberry Pi và MCP3002 trong các bức ảnh trên.

1. Chèn các chân MCP3002 vào breadboard (xem sơ đồ sơ đồ chân ở trên)

MCP3002 sử dụng 4 chân SPI để giao tiếp: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") và Chip Select ("CS"). Các chân này tương ứng với chân GPIO của Raspberry Pi 11 (SCLK), chân GPIO 9 (MISO), GPIO Pin 10 (MOSI) và GPIO Pin 8 (CE0).

Thực hiện các kết nối sau với chân MCP3002:

  • Kết nối Pin 1 với Raspberry Pi GPIO Pin 8 (CE0)
  • Kết nối Pin 2 với đầu ra tương tự của bảng ngắt Micrô MEMS
  • Kết nối Pin 4 với GND
  • Kết nối Pin 5 với Raspberry Pi GPIO Pin 10 (MOSI)
  • Kết nối Pin 6 với Raspberry Pi GPIO pin 9 (MISO)
  • Kết nối Pin 7 với Raspberry Pi GPIO Pin 11 (SCLK)
  • Kết nối Pin 8 với đầu ra Raspberry Pi 3.3V

2. Hàn dây vào bảng ngắt Micrô MEMS. Kết nối với MCP3002 và Raspberry Pi

  • Kết nối Vcc với Raspberry Pi 3.3V.
  • Kết nối GND với Raspberry Pi GND
  • Kết nối AUD với MCP3002 Pin 2

3. Cắm tất cả các cáp cho Raspberry Pi và bật mọi thứ

Bước 5: Xây dựng nó! Phần mềm

Xây dựng nó! Phần mềm
Xây dựng nó! Phần mềm

Mục tiêu của chúng tôi với Bark Back là gấp đôi: kích hoạt âm thanh phát lại khi con chó sủa và gửi dữ liệu đến máy chủ nơi chúng tôi có thể kiểm tra.

Đây là chương trình Python mã nguồn mở cho dự án này. Cảm thấy thoải mái (và vui lòng thực hiện) điều chỉnh và sửa đổi mã.

Để bắt đầu và chạy chương trình, bạn cần điền vào hai điều:

- songList: Viết đường dẫn tệp và tên tệp cho mỗi bài hát bạn muốn phát.

- tín dụng: Nhập thông tin CloudMQTT của bạn vào từ điển này.

Bước 1: Đọc trong bảng giới thiệu SparkFun MEMS Microphone

Đọc giá trị ADC (từ 0 đến 1023) từ bảng đột phá Micrô MEMS (thông qua MCP3002) bằng cách sử dụng thư viện SPI và tính toán biên độ từ đỉnh đến đỉnh của tín hiệu.

Ánh xạ biên độ từ đỉnh đến đỉnh của tín hiệu thành Đơn vị âm lượng. Mã hiện tại ánh xạ phạm vi ADC từ 0 đến 700 (dựa trên thử nghiệm nhanh) thành Đơn vị âm lượng từ 0 đến 10. Để điều chỉnh độ nhạy của micrô, hãy điều chỉnh phạm vi đầu vào ADC.

Để biết tổng quan kỹ lưỡng về micrô MEMS, hãy xem hướng dẫn này.

Bước 2: Kích hoạt trình phát âm thanh

Trước tiên, chúng tôi sẽ cần các bài hát để chơi! Bạn có thể nhanh chóng ghi lại âm thanh trong GarageBand (hoặc trên điện thoại thông minh của bạn) và gửi chúng đến Raspberry Pi. Trong Python, sử dụng thư viện quy trình con để gọi omxplayer.

Trong mã, hãy nhập đường dẫn tệp của bài hát bạn muốn phát lại trong biến * songList * (dòng 26). Ngưỡng âm lượng hiện tại được đặt thành 7 trong chức năng chính.

Bước 3: Gửi dữ liệu đến Máy chủ CloudMQTT

Sử dụng thư viện Paho Client Python để giao tiếp với các máy chủ CloudMQTT. Tóm lại một cách khái quát: Thiết lập một máy chủ Khách hàng; xác định các giao thức truyền thông; kết nối với thông tin đăng nhập của chúng tôi (hay còn gọi là tín dụng); và đăng ký và xuất bản dữ liệu của chúng tôi. Hầu hết điều này được thực hiện trong hàm main (dòng 129 - 149 và dòng 169 - 174).

Để kiểm tra dữ liệu đã nhận, hãy chuyển đến tab "Giao diện người dùng Websocket" trong bảng điều khiển CloudMQTT.

Bước 6: Kiểm tra và cài đặt

Kiểm tra và cài đặt!
Kiểm tra và cài đặt!

Chạy chương trình BarkBack.py trong Terminal hoặc trong Python IDE (bạn cũng có thể sử dụng SSH để chạy chương trình sau khi đã rời khỏi).

Kiểm tra để đảm bảo rằng bạn đang nhận được mức âm lượng trong tab Giao diện người dùng Websocket của mình.

Kiểm tra hệ thống bằng cách kích hoạt micrô (vỗ tay, la hét, sủa, v.v.) để đảm bảo rằng loa phát qua tất cả các âm thanh.

Khi mọi thứ đã bắt đầu và hoạt động, bạn nên hàn các thành phần vào PCB (Bảng mạch in) nếu bạn có ý định lắp đặt hệ thống trong hơn một vài ngày.

Cuộc thi Vi điều khiển 2017
Cuộc thi Vi điều khiển 2017
Cuộc thi Vi điều khiển 2017
Cuộc thi Vi điều khiển 2017

Á quân Cuộc thi Vi điều khiển 2017

Cuộc thi Cảm biến 2017
Cuộc thi Cảm biến 2017
Cuộc thi Cảm biến 2017
Cuộc thi Cảm biến 2017

Giải nhất cuộc thi Cảm biến năm 2017

Đề xuất: