Სარჩევი:
- ნაბიჯი 1: შემოთავაზებული კითხვა
- ნაბიჯი 2: მასალები
- ნაბიჯი 3: Raspberry Pi- ის კონფიგურაცია
- ნაბიჯი 4: ააშენეთ იგი! ტექნიკა
- ნაბიჯი 5: ააშენეთ იგი! პროგრამული უზრუნველყოფა
- ნაბიჯი 6: შეამოწმეთ და დააინსტალირეთ
ვიდეო: IoT Pet მონიტორი!: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
თვალყური ადევნეთ თქვენს საყვარელ მეგობრებს და დაუკარით მუსიკა ან უთხარით მათ, რომ გაჩუმდნენ სანამ არ ხართ! ეს გაკვეთილი აჩვენებს, თუ როგორ გამოიყენოთ Raspberry Pi კომპიუტერი თქვენს სახლში ხმის მოცულობის მონიტორინგისთვის (ღრუბლის საშუალებით) იმის გასარკვევად, არის თუ არა თქვენი შინაური ცხოველი აღშფოთებული.
დასარტყამი რულეტი … ყველაზე სახალისო ნაწილი: თუ ის ძალიან ხმამაღალი გახდება (როგორც ფიდო ყეფს, ან რაღაც სხვა ხმამაღლა ლაპარაკობს), ჩვენ შეგვიძლია ვუთხრათ მათ, რომ იყვნენ ჩუმად ან მუსიკას უკრავდნენ!
Pi- თან (და დინამიკებთან ერთად) ჩვენ გამოვიყენებთ SparkFun MEMS მიკროფონის გარღვევის დაფას, რათა გავზომოთ მოცულობის დონე და ჩართოთ აუდიო პლეერი. მონაცემები იტვირთება CloudMQTT სერვისში MQTT საკომუნიკაციო პროტოკოლის გამოყენებით.
სულ წაკითხვის დრო: ~ 8 წთ
მთლიანი მშენებლობის დრო: 60 წთ (ნაკლები გამოცდილებით)
უღრმესი მადლობა SparkFun– ს ამ პროექტის მხარდაჭერისთვის! შეამოწმეთ სახელმძღვანელო აქ.
ნაბიჯი 1: შემოთავაზებული კითხვა
ამ პროექტის შესაქმნელად დაგჭირდებათ სრულად კონფიგურირებული, WiFi- ით დაკავშირებული Raspberry Pi 3 კომპიუტერი Raspbian OS– ით. ასევე სასარგებლოა იცოდეთ პითონის ზოგიერთი პროგრამირება, ასევე შემდეგი რამ: (1) როგორ გამოიყენოთ და გააკონტროლოთ Raspberry Pi GPIO ქინძისთავები; (2) MQTT კომუნიკაცია; და (3) ანალოგური სენსორები. თუ რომელიმე მათგანი უცნობია, ან თუ უბრალოდ გაინტერესებთ (იყავით ცნობისმოყვარე!), გადახედეთ ქვემოთ მოცემულ გაკვეთილებს!
ჟოლო პი 3
- Raspberry Pi 3 Starter Kit Hookup გზამკვლევი
- Raspberry Pi GPIO
- SPI კომუნიკაცია ჟოლოს პითან
MQTT საკომუნიკაციო პროტოკოლი
MQTT (Message Query Telemetry Transport) არის პოპულარული IoT საკომუნიკაციო პროტოკოლი. ჩვენ გამოვიყენებთ პაჰოს კლიენტის პითონის ბიბლიოთეკას და MQTT სერვისს სახელწოდებით CloudMQTT. აქ არის მეტი MQTT და როგორ გამოვიყენოთ იგი:
- IoT– ის საკომუნიკაციო პროტოკოლების შესწავლა
- დავიწყოთ CloudMQTT– ით
- Eclipse Paho MQTT Python კლიენტის ბიბლიოთეკის მიმოხილვა
MEMS მიკროფონის გარღვევის დაფა
MEMS მიკროფონი არის ანალოგური მიკროფონი, ამიტომ ჩვენ გვჭირდება ანალოგურ-ციფრულ გადამყვანად ("ADC"), რომ წავიკითხოთ ანალოგურ სიგნალში Raspberry Pi ციფრული GPIO ქინძისთავებით.
- დაწყება SparkFun MEMS მიკროფონის გარღვევის დაფით
- MEMS მიკროფონის მონაცემთა ცხრილი
- MCP3002 ADC მონაცემთა ცხრილი
ნაბიჯი 2: მასალები
- ჟოლო Pi 3 მოდელი B
ჩვენ ასევე დაგვჭირდება შემდეგი პერიფერიული მოწყობილობები: ჟოლო პი 3 ქეისი; SD ბარათი (მინიმუმ 8 GB); Raspberry Pi 3 GPIO კაბელი; MicroUSB დენის კაბელი; HDMI კაბელი და HDMI თავსებადი მონიტორი; USB კლავიატურა; USB მაუსი; დინამიკები ყურსასმენის პორტით 1/8.
- SparkFun MEMS Mic Breakout დაფა
-MCP3002 (ანალოგური ციფრული გადამყვანი)
-Breadboard & M-to-M Breadboard Jumper Wires
ნაბიჯი 3: Raspberry Pi- ის კონფიგურაცია
ნაბიჯი 1: შეამოწმეთ და დააინსტალირეთ განახლებები შემოწმება და ინსტალაცია ყოველთვის კარგი გზაა დასაწყებად. შეასრულეთ შემდეგი ბრძანებები ტერმინალის ფანჯარაში:
sudo apt-get განახლება
sudo apt-get განახლება
sudo გადატვირთვა
ნაბიჯი 2: დააყენეთ SPI ინტერფეისი MEMS მიკროფონისთვის + MCP3002
იმისათვის, რომ გამოვიყენოთ SPI (სერიული პორტის ინტერფეისი) MEMS მიკროფონში MCP3002– ის საშუალებით წასაკითხად, დაგვჭირდება Python Dev პაკეტი:
sudo apt-get დააინსტალირეთ python-dev
ჩვენ ასევე დაგვჭირდება SPI ინტერფეისი (შეიძლება დაგჭირდეთ ქვესაქაღალდის შექმნა ამის შესანახად):
git კლონი git: //github.com/doceme/py-spidev
sudo python setup.py ინსტალაცია
აქ არის SPI-Dev დოკუმენტაცია, თუ რაიმე პრობლემა შეგექმნათ.
ნაბიჯი 3: ხმების დაკვრა OMXPlayer– ით
OMXPlayer არის აუდიო და ვიდეო პლეერი წინასწარ დატვირთული Raspbian OS– ზე. ის მუშაობს ხმოვანი ფაილების უმეტესობასთან, მათ შორის:.wav,.mp3 და.m4a. ეს არის ის, რასაც ჩვენ გამოვიყენებთ ხმების დასაკრავად, როდესაც ფიდო ხმება ძალიან. პითონის ბიბლიოთეკა OMXPlayer– ის გასაკონტროლებლად შედის Raspbian– ში (woo!).
ტერმინალიდან OMXPlayer შესამოწმებლად, ჩაწერეთ შემდეგი:
omxplayer /home/…/SongFilePath/SongFileName.mp3
თუ ეს არ მუშაობს, სცადეთ აიძულოთ ის ადგილობრივ აუდიო-გამშვებ მოწყობილობაზე:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
ნაბიჯი 4: CloudMQTT სერვერის კონფიგურაცია
ახლა ჩვენ შევქმენით MQTT სერვერი! ამისათვის CloudMQTT გამოყენებით, გააკეთეთ შემდეგი:
- შექმენით CloudMQTT ანგარიში ("საყვარელი კატის" გეგმა უფასოა).
- შექმენით ახალი MyCloud მაგალითი.
- კონსოლში შექმენით ახალი ACL წესი.
- თქვენ შეგიძლიათ აკონტროლოთ გამოქვეყნებული შეტყობინებები "Websocket" ინტერფეისში.
დაბოლოს, დააინსტალირეთ MQTT Paho Client Python ბიბლიოთეკა:
pip დააინსტალირეთ paho-mqtt
ნაბიჯი 4: ააშენეთ იგი! ტექნიკა
Raspberry Pi და MCP3002 Pinout დიაგრამები მოცემულია ზემოთ მოცემულ ფოტოებში.
1. ჩადეთ MCP3002 ქინძისთავები პურის დაფაზე (იხილეთ pinout დიაგრამა ზემოთ)
MCP3002 იყენებს 4 SPI ქინძისთავს კომუნიკაციისთვის: სერიული საათი ("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 ქინძისთავებთან:
- დაუკავშირეთ Pin 1 Raspberry Pi GPIO Pin 8 (CE0)
- შეაერთეთ პინი 2 MEMS მიკროფონის გარღვევის დაფის ანალოგიურ გამომავალთან
- დააკავშირეთ პინ 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 ჟოლოს Pi GND- თან
- შეაერთეთ AUD MCP3002 პინ 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– ს. პითონში გამოიყენეთ ქვეპროცესების ბიბლიოთეკა, რომ დარეკოთ omxplayer.
კოდში შეიყვანეთ სიმღერების ფაილის ბილიკი, რომლის დაკვრა გსურთ * songList * ცვლადში (სტრიქონი 26). მოცულობის მიმდინარე ბარიერი მთავარ ფუნქციაში არის 7.
ნაბიჯი 3: მონაცემების გაგზავნა CloudMQTT სერვერზე
გამოიყენეთ Paho Client Python ბიბლიოთეკა CloudMQTT სერვერებთან დასაკავშირებლად. მოკლედ რომ შევაჯამოთ: დააყენეთ კლიენტის სერვერი; საკომუნიკაციო პროტოკოლების განსაზღვრა; დაკავშირება ჩვენს რწმუნებათა სიგელთან (aka creds); და გამოიწერეთ და გამოაქვეყნეთ ჩვენი მონაცემები. ამის უმეტესობა მთავარ ფუნქციაშია შესრულებული (სტრიქონები 129 - 149 და სტრიქონები 169 - 174).
მიღებული მონაცემების შესამოწმებლად გადადით "Websocket UI" ჩანართზე CloudMQTT კონსოლში.
ნაბიჯი 6: შეამოწმეთ და დააინსტალირეთ
გაუშვით BarkBack.py პროგრამა ტერმინალში ან Python IDE– ში (თქვენ ასევე შეგიძლიათ გამოიყენოთ SSH პროგრამის გასაშვებად უკვე წასვლის შემდეგ).
შეამოწმეთ, რომ თქვენ იღებთ მოცულობის დონეს თქვენს ვებსაიტზე UI ჩანართში.
შეამოწმეთ სისტემა მიკროფონის ჩართვით (ტაში, ყვირილი, ყეფა და ა.შ.), რომ დარწმუნდეთ, რომ დინამიკები უკრავენ ყველა ბგერას.
მას შემდეგ რაც ყველაფერი ამოქმედდება, რეკომენდებულია კომპონენტების შედუღება PCB- ზე (Printed Circuit Board), თუ თქვენ აპირებთ სისტემის დაყენებას რამდენიმე დღეზე მეტ ხანს.
მეორე ადგილი მიკროკონტროლერის კონკურსში 2017
პირველი პრიზი სენსორების კონკურსში 2017
გირჩევთ:
MQTT საცურაო აუზის ტემპერატურის მონიტორი: 7 ნაბიჯი (სურათებით)
MQTT საცურაო აუზის ტემპერატურის მონიტორი: ეს პროექტი არის ჩემი სახლის ავტომატიზაციის სხვა პროექტების თანამგზავრი Smart Data- Logging Log Geyser Controller და Multi-purpose-Room-Lighting and Appliance Controller. ეს არის აუზზე დამონტაჟებული მონიტორი, რომელიც ზომავს აუზის წყლის ტემპერატურას, ატმოსფერულ ჰაერს
WiFi ნავთობის სატანკო მონიტორი: 6 ნაბიჯი (სურათებით)
WiFi ნავთობის სატანკო მონიტორი: არსებობს რამდენიმე გზა იმის შესამოწმებლად, თუ რამდენი საწვავი დარჩა გათბობის ზეთის ავზში. უმარტივესი გზაა გამოიყენოთ საძილე, ძალიან ზუსტი, მაგრამ არც ისე სახალისო ზამთრის ცივ დღეს. ზოგიერთი ტანკი აღჭურვილია მხედველობის მილით, რომელიც კვლავ პირდაპირ მითითებას იძლევა
ჭკვიანი შიდა მცენარეების მონიტორი - იცოდეთ როდის სჭირდება თქვენს მცენარეს მორწყვა: 8 ნაბიჯი (სურათებით)
ჭკვიანი შიდა მცენარეთა მონიტორი - იცოდეთ როდის სჭირდება თქვენს მცენარეს მორწყვა: რამდენიმე თვის წინ მე გავაკეთე ნიადაგის ტენიანობის მონიტორინგის ჯოხი, რომელიც იკვებება ბატარეით და შეიძლება ჩარჩენილი იყოს თქვენი შიდა მცენარის ქოთანში, რათა მოგაწოდოთ სასარგებლო ინფორმაცია ნიადაგის შესახებ ტენიანობის დონე და მოციმციმე LED- ები გეტყვით როდის უნდა დაელოდოთ
ფრინველის მიმწოდებლის მონიტორი V2.0: 12 ნაბიჯი (სურათებით)
Bird Feeder Monitor V2.0: ეს არის პროექტი მონიტორინგის, ფოტოსურათის და ჩაწერის რაოდენობისა და დროის დახარჯული ფრინველების სტუმრად ჩვენი ფრინველის მიმწოდებლის. ამ პროექტისათვის გამოიყენეს მრავალი ჟოლოს პი (RPi). ერთი გამოიყენებოდა, როგორც შეხების სენსორი, Adafruit CAP1188, აღმოსაჩენად, დასადგენად
იაფფასიანი IoT ჰაერის ხარისხის მონიტორი RaspberryPi საფუძველზე 4: 15 ნაბიჯი (სურათებით)
იაფფასიანი IoT ჰაერის ხარისხის მონიტორი, რომელიც დაფუძნებულია RaspberryPi 4 – ზე: სანტიაგო, ჩილე ზამთრის გარემოსდაცვითი საგანგებო სიტუაციის დროს აქვს პრივილეგია იცხოვროს მსოფლიოს ერთ – ერთ ულამაზეს ქვეყანაში, მაგრამ, სამწუხაროდ, ეს ყველაფერი ვარდები არ არის. ზამთრის სეზონზე ჩილე ძალიან განიცდის ჰაერის დაბინძურებას