Mundarija:
- 1 -qadam: Tavsiya etilgan o'qish
- 2 -qadam: materiallar
- 3 -qadam: Raspberry Pi -ni sozlang
- 4 -qadam: Uni yarating! Uskuna
- 5 -qadam: Uni yarating! Dasturiy ta'minot
- 6 -qadam: Sinab ko'ring va o'rnating
Video: IoT Pet Monitor!: 6 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Sevimli bbiesni kuzatib turing va musiqa chaling yoki ularga yo'qligingizda jim bo'lishni ayting! Bu qo'llanmada Raspberry Pi kompyuteri yordamida uyingizdagi ovoz balandligini (Bulut orqali) kuzatib borish va uy hayvonining xafa bo'lganini va qachon ko'rish mumkinligi ko'rsatilgan.
Baraban rulosi… eng qiziqarli qismi: Agar u juda baland ovozda chiqsa (masalan, Fido xirillasa yoki boshqa xirillagan bo'lsa), biz ularga jim bo'lishni yoki musiqa chalishni ayta olamiz!
Pi (va karnaylar) bilan bir qatorda, biz SparkFun MEMS mikrofonni o'chirish platasidan ovoz balandligini o'lchash va audio pleerni ishga tushirish uchun ishlatamiz. Ma'lumotlar CloudMQTT xizmatiga MQTT aloqa protokoli yordamida yuklanadi.
Umumiy o'qish vaqti: ~ 8 min
Umumiy qurilish vaqti: 60 min (tajribasiz)
Ushbu loyihani qo'llab -quvvatlaganingiz uchun SparkFun -ga katta RAHMAT! Qo'llanmani bu erda ko'ring.
1 -qadam: Tavsiya etilgan o'qish
Loyihani yaratish uchun sizga Raspbian operatsion tizimiga ega, to'liq Wi-Fi tarmog'iga ulangan Raspberry Pi 3 kompyuteri kerak bo'ladi. Python dasturlash bilan bir qatorda quyidagi narsalarni bilish ham foydalidir: (1) Raspberry Pi GPIO pinlarini qanday ishlatish va boshqarish; (2) MQTT aloqasi; va (3) analog sensorlar. Agar bulardan birortasi notanish bo'lsa yoki siz shunchaki qiziqmoqchi bo'lsangiz (qiziqib ko'ring!), Quyidagi darsliklarni ko'rib chiqing!
Raspberry Pi 3
- Raspberry Pi 3 boshlang'ich to'plamini ulash bo'yicha qo'llanma
- Raspberry Pi GPIO
- Raspberry Pi bilan SPI aloqasi
MQTT aloqa protokoli
MQTT (Message Query Telemetry Transport) - bu mashhur IoT aloqa protokoli. Biz Paho Client Python kutubxonasidan va CloudMQTT deb nomlangan MQTT xizmatidan foydalanamiz. Bu erda MQTT va undan qanday foydalanish haqida ko'proq ma'lumot:
- IoT uchun aloqa protokollarini o'rganish
- CloudMQTT bilan ishlashni boshlash
- Eclipse Paho MQTT Python mijozlar kutubxonasi haqida umumiy ma'lumot
MEMS mikrofonni uzish taxtasi
MEMS mikrofoni analog mikrofon, shuning uchun Raspberry Pi raqamli GPIO pinlari bilan analog signalni o'qish uchun bizga analogdan raqamli konvertor ("ADC") kerak bo'ladi.
- SparkFun MEMS mikrofonining uzilish taxtasi bilan ishlashni boshlash
- MEMS mikrofon ma'lumotlar jadvali
- MCP3002 ADC ma'lumotlar jadvali
2 -qadam: materiallar
- Raspberry Pi 3 Model B
Shuningdek, bizga quyidagi qo'shimcha qurilmalar kerak bo'ladi: Raspberry Pi 3 qutisi; SD -karta (kamida 8 GB); Raspberry Pi 3 GPIO kabeli; MicroUSB quvvat kabeli; HDMI kabeli va HDMI-ga mos keladigan monitor; USB klaviatura; USB sichqonchasi; 1/8 dyuymli minigarniturali portli dinamiklar.
- SparkFun MEMS mikrofonni kesish taxtasi
-MCP3002 (analog-raqamli konvertor)
-Breadboard va M-to-M kengashli o'tish simlari
3 -qadam: Raspberry Pi -ni sozlang
1 -qadam: Yangilanishlarni tekshirish va o'rnatish Yangilanishlarni tekshirish va o'rnatish har doim boshlashning yaxshi usuli hisoblanadi. Terminal oynasida quyidagi buyruqlarni bajaring:
sudo apt-get yangilanishi
sudo apt-get upgrade
sudo qayta yuklash
2 -qadam: MEMS Microphone + MCP3002 uchun SPI interfeysini o'rnating
MCPS002 orqali MEMS mikrofonida o'qish uchun SPI (ketma -ket port interfeysi) dan foydalanish uchun bizga Python Dev to'plami kerak bo'ladi:
sudo apt-get install python-dev
Bizga SPI interfeysi ham kerak bo'ladi (uni saqlash uchun pastki papka yaratishni xohlashi mumkin):
git klon git: //github.com/doceme/py-spidev
sudo python setup.py ni o'rnating
Agar biron bir muammoga duch kelsangiz, SPI-Dev hujjatlari.
3 -qadam: OMXPlayer yordamida tovushlarni ijro etish
OMXPlayer-bu Raspbian OS-ga oldindan yuklangan audio va video pleer. U ovozli fayllarning ko'p turlari bilan ishlaydi, jumladan:.wav,.mp3 va.m4a. Bu biz Fido juda baland ovozda ovoz chiqarishda ishlatiladi. OMXPlayer -ni boshqarish uchun Python kutubxonasi Raspbian -ga kiritilgan (woo!).
OMXPlayer -ni terminaldan sinab ko'rish uchun quyidagilarni kiriting:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Agar bu ishlamasa, uni mahalliy audio-chiqish qurilmasi orqali majburlab ko'ring:
omxplayer -o mahalliy /home/…/SongFilePath/SongFileName.mp3
4 -qadam: CloudMQTT serverini sozlang
Endi biz MQTT serverini o'rnatdik! Buni CloudMQTT yordamida amalga oshirish uchun quyidagilarni bajaring:
- CloudMQTT hisobini o'rnating ("Yoqimli mushuk" rejasi bepul).
- Yangi MyCloud misolini yarating.
- Konsolda yangi ACL qoidasini yarating.
- Siz "Websocket" interfeysida e'lon qilingan xabarlarni kuzatishingiz mumkin.
Nihoyat, MQTT Paho Client Python kutubxonasini o'rnating:
paho-mqtt ni o'rnatish
4 -qadam: Uni yarating! Uskuna
Raspberry Pi va MCP3002 uchun ulanish sxemalari yuqoridagi rasmlarda.
1. MCP3002 pinlarini taxtaga joylashtiring (yuqoridagi pinout diagrammasini ko'ring).
MCP3002 aloqa uchun 4 ta SPI pinidan foydalanadi: Seriyali soat ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") va Chip Select ("CS"). Bu pinlar Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) va GPIO Pin 8 (CE0) ga mos keladi.
MCP3002 pinlari yordamida quyidagi ulanishlarni amalga oshiring:
- 1 -pinni Raspberry Pi GPIO Pin 8 ga ulang (CE0)
- 2 -pinni MEMS mikrofonni uzish kartasining analog chiqishiga ulang
- 4 -pinni GND ga ulang
- 5 -pinni Raspberry Pi GPIO Pin 10 (MOSI) ga ulang.
- 6 -pinni Raspberry Pi GPIO pin 9 (MISO) ga ulang.
- 7 -pinni Raspberry Pi GPIO Pin 11 -ga ulang (SCLK)
- 8 -pinni Raspberry Pi 3.3V ga ulang
2. Lehim simlari MEMS Mikrofonining uzilish platasiga. MCP3002 va Raspberry Pi -ga ulaning
- Vccni Raspberry Pi 3.3V ga ulang.
- GND ni Raspberry Pi GND ga ulang
- AUDni MCP3002 pin 2 ga ulang
3. Raspberry Pi uchun barcha kabellarni ulang va hamma narsani yoqing
5 -qadam: Uni yarating! Dasturiy ta'minot
"Bark Back" bilan bizning maqsadimiz ikki xil: it baqirganda, ovoz eshitiladi va biz uni tekshirishimiz mumkin bo'lgan serverga ma'lumot yuboramiz.
Mana bu loyiha uchun ochiq manbali Python dasturi, kodni o'zgartirish va o'zgartirishdan o'zingizni tiying.
Dasturni ishga tushirish uchun siz ikkita narsani to'ldirishingiz kerak:
- songList: ijro etishni xohlagan har bir qo'shiq uchun fayl yo'lini va fayl nomini yozing.
- creds: CloudMQTT ma'lumotlarini ushbu lug'atga kiriting.
1 -qadam: SparkFun MEMS mikrofonini kesish taxtasida o'qing
ADM qiymatini (0 dan 1023 gacha) MEMS mikrofonining kesish kartasidan (MCP3002 orqali) SPI kutubxonasidan o'qing va signalning tepalikdan tepalik amplitudasini hisoblang.
Signalning tepalik-tepalik amplitudasini tovush birligiga xaritaga joylashtiring. Joriy kod ADC diapazonini 0 dan 700 gacha (tezkor tajribaga asoslangan) 0 dan 10 gacha bo'lgan ovoz balandligi birligiga moslashtiradi. Mikrofonning sezgirligini sozlash uchun ADC kirish diapazonini rostlang.
MEMS mikrofoni haqida to'liq ma'lumot olish uchun ushbu qo'llanmani ko'rib chiqing.
2 -qadam: audio pleerni ishga tushiring
Birinchidan, bizga ijro etish uchun qo'shiqlar kerak bo'ladi! Siz tovushlarni GarageBand -da (yoki smartfoningizda) tezda yozib olishingiz va ularni Raspberry Pi -ga yuborishingiz mumkin. Python -da, omxplayerga qo'ng'iroq qilish uchun pastki jarayon kutubxonasidan foydalaning.
Kodga * songList * o'zgaruvchisida ijro etishni xohlagan qo'shiqlarning fayl yo'lini kiriting (26 -qator). Asosiy funksiyada joriy tovush chegarasi 7 ga o'rnatiladi.
3 -qadam: ma'lumotlarni CloudMQTT serveriga yuboring
CloudMQTT serverlari bilan muloqot qilish uchun Python Paho Client kutubxonasidan foydalaning. Xulosa qilib aytganda: Mijoz serverini o'rnatish; aloqa protokollarini aniqlash; hisob ma'lumotlari bilan bog'laning (aka creds); va obuna bo'ling va ma'lumotlarimizni e'lon qiling. Bularning asosiy qismi asosiy funksiyada bajariladi (129 - 149 -qatorlar va 169 - 174 -qatorlar).
Qabul qilingan ma'lumotlarni tekshirish uchun CloudMQTT konsolidagi "Websocket UI" yorlig'iga o'ting.
6 -qadam: Sinab ko'ring va o'rnating
BarkBack.py dasturini Terminalda yoki Python IDE -da ishga tushiring (siz ham chiqib ketganingizdan so'ng dasturni ishga tushirish uchun SSH -dan foydalanishingiz mumkin).
Websocket UI yorlig'ida ovoz balandligi borligini tekshiring.
Mikrofonni (qarsak, qichqiriq, qobiq va hokazo) ishga tushirish orqali tizimni sinab ko'ring, karnaylar barcha tovushlarni eshitadi.
Hammasi ishga tushgandan so'ng, agar siz tizimni bir necha kundan ko'proq o'rnatmoqchi bo'lsangiz, komponentlarni PCB (Chop etilgan elektron karta) ga lehimlash tavsiya etiladi.
2017 yilgi mikrokontroller tanlovida ikkinchi o'rinni egalladi
Sensorlar tanlovining 2017 yilgi birinchi sovrini
Tavsiya:
SmartPET - Smart Pet Feeder: 7 qadam (rasmlar bilan)
SmartPET - aqlli uy hayvonlarini oziqlantiruvchi: Hey! Men Maksim Vermeerenman, Howest-da 18 yoshli MCT (multimediya va aloqa texnologiyalari) talabasi. Men o'z loyiham sifatida aqlli uy hayvonlari uchun oziqlantiruvchi yaratishni tanladim. Nega men buni qildim? Men mashinani yasashga qaror qildim
D4E1 PET Cutter (Artmaker02): 9 qadam (rasmlar bilan)
D4E1 PET Cutter (Artmaker02): Bu shisha kesgich nima qiladi? Bu mashina qayta ishlangan plastmassa butilkalarni halqalarga yoki spirallarga qizdirilgan pichoq bilan har kim xavfsiz ishlatishi mumkin bo'lgan yopiq idishda kesib tashlaydi. Biz buni nima uchun va kim qildik? Bu biz uchun sanoat D guruhi
Creeper-BOT (Creeper Pet): 9 qadam (rasmlar bilan)
Creeper-BOT (Creeper Pet): Men har doim o'zimga to'rtburchak robot yasashni xohlardim va Minecraft tanlovi yaxshi bahona edi. Bundan tashqari, men chindan ham "uy hayvonlari" ni xohlardim. Bu yo'riqnomada men buni qanday qilganimni aytib beraman va agar siz o'zingizniki bo'lishni xohlasangiz, sizga ko'rsatma beraman
IoT o'simliklarini monitoring qilish tizimi (IBM IoT platformasi bilan): 11 qadam (rasmlar bilan)
O'simliklarni monitoring qilish tizimi (IBM IoT platformasi bilan): Umumiy ko'rib chiqish O'simliklarni monitoring qilish tizimi (PMS) - bu yashil barmog'i bilan ishchi sinfda bo'lgan shaxslar bilan yaratilgan dastur. Bugungi kunda ishlaydigan odamlar har qachongidan ham band; martabasini oshirish va moliyaviy holatini boshqarish.
Java Viewer bilan Arduino Baby Monitor: 8 qadam (rasmlar bilan)
Java Viewer bilan Arduino Baby Monitor: Xonadagi sharoitni kuzatish uchun Arduino-ga asoslangan ko'p sensorli qurilmani yarating. Bu qurilma namlik, harorat, harakat va tovushni sezishi mumkin. Arduino -dan ketma -ket ma'lumotlarni oladigan java -ga asoslangan tomoshabin biriktirilgan