Mục lục:
- Bước 1: Đọc đề xuất
- Bước 2: Vật liệu
- Bước 3: Định cấu hình Raspberry Pi
- Bước 4: Xây dựng nó! Phần cứng
- Bước 5: Xây dựng nó! Phần mềm
- Bước 6: Kiểm tra và cài đặt
Video: IoT Pet Monitor!: 6 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
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
- Hướng dẫn kết nối Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- 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ó:
- Khám phá các giao thức truyền thông cho IoT
- Bắt đầu với CloudMQTT
- 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.
- Bắt đầu với Bảng đột phá micrô SparkFun MEMS
- Biểu dữ liệu micrô MEMS
- MCP3002 ADC Datasheet
Bước 2: 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
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:
- Thiết lập tài khoản CloudMQTT (gói "Mèo dễ thương" miễn phí).
- Tạo một phiên bản MyCloud mới.
- Trong Bảng điều khiển, hãy tạo một quy tắc ACL mới.
- 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
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
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
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.
Á quân Cuộc thi Vi điều khiển 2017
Giải nhất cuộc thi Cảm biến năm 2017
Đề xuất:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Hình ảnh - Máy ảnh Raspberry Pi in 3D.: 14 bước (có Hình ảnh)
Hình ảnh - Máy ảnh Raspberry Pi 3D được in: Cách đây trở lại vào đầu năm 2014, tôi đã xuất bản một máy ảnh có thể hướng dẫn được gọi là SnapPiCam. Máy ảnh được thiết kế để đáp ứng với Adafruit PiTFT mới được phát hành. Đã hơn một năm trôi qua và với bước đột phá gần đây của tôi vào in 3D, tôi nghĩ rằng n
MÁY ẢNH UNICORN - Raspberry Pi Zero W NoIR Cấu hình máy ảnh 8MP: 7 bước (có hình ảnh)
UNICORN CAMERA - Raspberry Pi Zero W NoIR Camera 8MP Build: Pi Zero W NoIR Camera 8MP BuildThis hướng dẫn được tạo ra để giúp bất kỳ ai muốn có Camera hồng ngoại hoặc Camera di động thực sự tuyệt vời hoặc Camera Raspberry Pi di động hoặc chỉ muốn giải trí, heheh . Đây là cấu hình và giá cả phải chăng nhất
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc