Sisukord:
- Samm: tarvikud
- 2. samm: skeem ja juhtmestik
- 3. samm: andmebaasi kujundamine
- Samm: seadistage Raspberry Pi
- Step 5: Setting Up the Database to the RPi
- Samm: Bluetoothi seadistamine meie RPi -s
- Samm: täieliku taustaprogrammi kirjutamine
- 8. samm: kasutajaliidese kirjutamine (HTML, CSS ja JavaScript)
- 9. samm: minu juhtumi ehitamine ja selle kõik kokku panemine
Video: Meeleolukõlar- võimas kõlar meeleolumuusika esitamiseks ümbritseva õhu temperatuuril: 9 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Tere!
Oma kooliprojekti jaoks MCT Howest Kortrijkis tegin meeleolu kõlari, see on nutikas Bluetooth -kõlar, millel on erinevad andurid, LCD ja WS2812b LED -riba. Kõlar esitab taustamuusikat vastavalt temperatuurile, kuid seda saab kasutada ka tavalise bluetoothina kõneleja. Kõik töötab Raspberry Pi -l (andmebaas, veebiserver, taustaprogramm).
Nii et see juhend on samm -sammult protsess, kuidas ma selle projekti kolme nädala jooksul realiseerisin. Nii et kui soovite minu projekti uuesti luua, saate seda juhendit järgida
See õpetlik on minu esimene, mille ma kirjutasin, nii et kui on mingeid ootusi, proovin neile vastata nii kiiresti kui võimalik!
Minu GitHub:
Samm: tarvikud
Raspberry Pi 3B ja 16 GB SD -kaart
Kogu minu projekt töötab minu seadmel Raspberry Pi 3B koos konfigureeritud pildiga, mida selgitan hilisemas etapis (4. samm: Raspberry Pi seadistamine)
LCD ekraan 16x2
Temperatuuri, heleduse ja IP -aadressi printimiseks kasutasin tavalist LCD -ekraani.
Andmeleht:
DS18B20 temperatuuriandur
DS18B20 on ühe juhtmega andur, mis mõõdab temperatuuri, tootja Maxim Integrated. Seal on kahte tüüpi DS18B20 andureid, ainult komponent (mida ma kasutasin) ja veekindel versioon, mis on palju suurem, kuid see pole minu projekti jaoks vajalik, seega kasutasin ainult komponenti. Andur suudab mõõta temperatuuri vahemikus -55 ° C kuni +125 ° C (-67 ° F kuni +257 ° F) ja selle täpsus on 0,5 ° C vahemikus -10 ° C kuni +85 ° C. Sellel on ka programmeeritav eraldusvõime 9 bitist 12 bitini.
Andmeleht:
MCP3008
LDR- ja PIR-anduri andmete lugemiseks kasutasin MCP3008, mis on SPI-liidesega 8-kanaliline 10-bitine analoog-digitaalmuundur ja mida on üsna lihtne programmeerida.
Andmeleht:
PIR liikumisandur
Et tuvastada, millal keegi minu tuppa siseneb ja sealt lahkub, kasutasin passiivset infrapunaandurit, kuna neid on lihtne kasutada ja need on väikesed.
Andmeleht:
LDR
Kasutasin valgusresistorit või LDR-i (valgust vähendav takistus või valgusest sõltuv takisti), et tuvastada ruumi heledustase. Samuti lülitasin oma LED-riba sisse, kui on pime.
Kõlar - 3”läbimõõt - 4 oomi 3 vatti
See on kõlarite koonus, mille valisin pärast vajaliku pinge ja amprite arvutamist ning see sobis ideaalselt minu Adafruit'i toodetud Raspberry Pi projektiga.
Ülevaade:
MAX98357 I2S D-klassi monovõimendi
See on võimendi, mis on kõlariga kaasas, mitte ainult võimendi, vaid ka I2S digitaal -analoogmuundur, nii et see sobib ideaalselt ka minu kõlari ja helisüsteemiga.
Ülevaade:
Andmeleht:
Arduino Uno
Arduino Uno on avatud lähtekoodiga mikrokontrolleri plaat, mis põhineb mikrokiibil ATmega328P mikrokontrolleril, tootja Arduino.cc. Uno -plaadil on 14 digitaalset tihvti, 6 analoognõela ja see on täielikult programmeeritav Arduino IDE tarkvara abil
Ülevaade:
Taseme nihutaja
See on väike tahvel, mis hoolitseb Arduino Uno ja Raspberry Pi vahelise suhtluse ning erinevate pingete, Arduino: 5V ja Raspberry Pi: 3.3V eest. Seda on vaja, sest LED -riba on ühendatud Arduinoga ja jookseb seal edasi, samas kui kõik muu kraam jookseb Raspberry Pi peal.
WS2812B - Ledstrip
See on LED -riba 60 RGB -valgusdioodiga (soovi korral saate osta pikemaid ribasid, millel on rohkem RGB -valgusdioode). Mis on minu puhul ühendatud Arduino Unoga, kuid seda saab ühendada ka paljude teiste seadmetega ja seda on tõesti lihtne kasutada.
Andmeleht:
GPIO T-osa, 1 leivaplaat ja palju ühendusjuhtmeid
Kõigi vajalike leivaplaatide ja hüppajajuhtmete ühendamiseks ei kasutanud ma GPIO T-osa, kuid selle abil saate selgelt teada, milline prügikast kuhu läheb.
2. samm: skeem ja juhtmestik
Oma skeemi tegemiseks kasutasin ma Fritzingit, see on programm, mille saate installida ja mis võimaldab teil luua erinevates vaadetes skemaatilise kujunduse. Ma kasutasin leivaplaati ja skemaatilist vaadet.
Laadige Fritzing alla:
Veenduge, et kõik on õigesti ühendatud. Kasutasin värve, et oleks natuke selgem teada, kuhu juhtmed ühendada. Minu puhul kasutasin juhtmete jaoks erinevaid värve
3. samm: andmebaasi kujundamine
Kogume palju andmeid kolmest andurist (temperatuur alates DS18B20, heledus LDR-st ja olek PIR-andurist). Seetõttu on parem hoida kõik need andmed andmebaasis. Selgitan hilisemas etapis, kuidas andmebaasi seadistada (5. samm: suunake meie andmebaas edasi RPi -le!) Kuid kõigepealt tuleb teha disain või ERD (olemisuhete skeem). Minu oma normaliseeriti 3NF -iga, seetõttu jagasime komponendid ja komponentide ajaloo teise tabelisse. Kasutame muusika andmebaasi, et jälgida kuulatud lugusid.
Üldiselt on see tõesti lihtne ja lihtne andmebaasi kujundus, millega edasi töötada.
Samm: seadistage Raspberry Pi
Nüüd, kui meil on projekti põhitõed tehtud. Alustame Raspberry Pi seadistamisega!
Osa 1: SD -kaardi seadistamine
1) Laadige alla vajalik tarkvara ja failid
Selle täieliku protsessi jaoks peate alla laadima 2 tarkvara ja 1 OS -i, st Raspbiani. 1. tarkvara: esimene tarkvara on Win32 Disk Imager.
sourceforge.net/projects/win32diskimager/
Teine tarkvara: teine tarkvara on SD -kaardi vormindaja.
www.sdcard.org/downloads/formatter_4/
Raspbian OS: see on Pi peamine operatsioonisüsteem.
www.raspberrypi.org/downloads/raspberry-pi-os/
Pakkige kõik failid töölauale.
2) Hankige SD -kaart ja kaardilugeja
Hankige kaardilugejaga vähemalt 8 GB klassi 10 SD -kaart. Sisestage see kaart kaardilugejasse ja ühendage see USB -porti.
3) Vormindage SD -kaart
Avage SD -kaardi vormindaja ja valige draiv.
Klõpsake vormingut ja ärge muutke muid valikuid.
Kui vormindamine on lõpetatud, klõpsake nuppu OK.
4) Kirjutage operatsioonisüsteem SD -kaardile
Avage win32diskimager.
Sirvige allalaaditud failist eraldatud Raspbian OS.img -faili.
Klõpsake nuppu Ava ja seejärel nuppu Kirjuta.
Kui ilmub mõni hoiatus, siis ignoreerige neid, klõpsates nuppu OK. Oodake, kuni kirjutamine on lõpule viidud ja see võib võtta mõne minuti. Nii et olge kannatlik.
n
5) Kui see on tehtud, oleme valmis enne pildi RPi lisamist tegema mõned lõplikud kohandused.
Minge oma SD -kaardi kataloogi, otsige faili nimega cmdline.txt ja avage see.
Nüüd lisage samale reale 'ip = 169.254.10.1'.
Salvestage fail.
Looge fail nimega „ssh” ilma laiendi ja sisuta. (Lihtsaim viis on luua txt -fail ja seejärel eemaldada.txt)
Nüüd, kui kõik on SD -kaardile installitud, saate selle TURVALISELT oma arvutist eemaldada ja panna selle Raspberry Pi -sse ilma toiteühenduseta. Kui SD -kaart on RPI -sse ühendatud, ühendage arvutist LAN -kaabel RPi LAN -porti, kui see on ühendatud, saate toite RPi -ga ühendada.
Osa 2: RPi seadistamine
Pahtel
Nüüd tahame oma Raspberry Pi seadistada, seda tehakse Putty kaudu.
Pahtlitarkvara:
Pärast allalaadimist avage Putty ja sisestage IP '169.254.10.1' ja port '22' ning ühenduse tüüp: SSH.
Nüüd saame lõpuks avada oma käsurealiidese ja logida sisse starteri sisselogimisteabega -> Kasutaja: pi & Parool: vaarikas. (Soovitame seda võimalikult kiiresti muuta. Siin on juhend, kuidas:
Raspi-config
Peame lubama erinevaid liideseid ja selleks peame esmalt sisestama järgmise koodi:
sudo raspi-config
Asjad, mida peame lubama, on liideste jaotises. Peame lubama järgmised liidesed:
- Ühe juhtmega
- Seriaal
- I2C
- SPI
See oli kõik, mida meil oli vaja teha raspi-configiga
WIFI lisamine
Esiteks peate olema root, et järgmine käsk saaks root
sudo -i
Kui olete root, kasutage järgmist käsku: (Asendage SSID oma võrgu nime ja parooliga võrgu parooliga)
wpa_passphrase "ssid" "parool" >> /etc/wpa_supplicant/wpa_supplicant.conf
Kui tegite midagi valesti, saate seda võrku kontrollida, värskendada või kustutada, sisestades lihtsalt järgmise käsu:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Nii et pärast võrku sisenemist siseneme WPA kliendiliidesesse
wpa_cli
Valige oma liides
liides wlan0
Laadige fail uuesti
uuesti seadistada
Ja lõpuks näete, kas olete hästi ühendatud:
ip a
Osa 3: RPi + installimistarkvara värskendamine
Nüüd, kui oleme Interneti -ühendusega, oleks juba installitud pakettide värskendamine nutikas samm, nii et teeme seda enne teiste pakettide installimist.
sudo apt-get update
sudo apt-get upgrade
Pärast RPi värskendamist peame installima järgmise tarkvara:
MariaDB andmebaas
sudo apt-get install mariadb-server
Apache2 veebiserver
sudo apt install apache2
Python
update-alternatives --install/usr/bin/python python /usr/bin/python3.7 1 update-alternatives --install/usr/bin/python python/usr/bin/python3 2
Pythoni pakett
Taustprogrammi ideaalseks toimimiseks peate installima kõik need paketid:
- Kolb
- Kolvid-korvid
- Kolb-MySql
- Flask-SocketIO
- PyMySQL taotlused
- Python-socketio
- RPi. GPIO
- Gevent
- Gevent-veebipesa
Kõlarite raamatukogu
Kõlari võimendiga kasutamiseks peame selle jaoks raamatukogu installima
curl -sS > | bash
Step 4: Reboot
After everything has been installed we will have to reboot the pi to make sure everything works correctly
sudo reboot
Step 5: Setting Up the Database to the RPi
Nüüd, kui oleme kõik vajaliku installinud, paneme oma kavandatud andmebaasi meie Raspberry Pi -le!
Andmebaasi seadistamiseks peame ühendama MySql ja RPi. Selleks avame MySQLWorkbenchi ja loome uue ühenduse. Pildi vaatamisel peate muutma, et muuta teave enda omaks.
Kui te pole veel midagi muutnud, saate kasutada SSH pi ja vaarika, MySQL mysql ja mysql jaoks.
Kui midagi pole selge, saate seda õpetust ka järgida:
Andmebaasi eksportimiseks peaks PHPmyAdmini kasutamine olema lihtsam, sest MySql -iga saate seda teha palju vigu
Samm: Bluetoothi seadistamine meie RPi -s
Loome Mood kõlarit, mida saame kasutada ka oma muusikaga, nii et RPi puhul on see lihtsam
Bluetoothiga ühenduses järgisin selle õpetust, mille leiate siit:
scribles.net/streaming-bluetooth-audio-fr…
Kirjutasin siia kõik üles ka kõigile, kes soovivad seda uuesti luua
Juba töötava bluealsa eemaldamine
sudo rm/var/run/bluealsa/*
Lisa A2DP profiili valamu roll
sudo bluealsa -p a2dp -valamu &
Avage Bluetooth -liides ja lülitage Bluetooth sisse
bluetoothctl toide sisse
Seadistage sidumisagent
agent vaikimisi agendil
Muutke oma RPi avastatavaks
leitavad
- Otsige nüüd oma Bluetooth -seadmest üles RPi ja looge sellega ühendus.
- Kinnitage sidumine mõlemas seadmes, tippige oma pahtlisse „jah”.
- Luba A2DP teenus, tippige uuesti „jah”.
- Kui see on tehtud, saame oma seadet usaldada, nii et me ei pea seda iga kord ühenduse loomisel läbima
usaldus XX: XX: XX: XX: XX: XX (teie bluetoothi maci aadress meie lähteseadmest)
Kui soovite, et teie RPi oleks avastatav, on see teie enda valik, kuid ma eelistan selle uuesti välja lülitada, et inimesed ei saaks teie kastiga ühendust luua
avastatav
Siis saame oma Bluetooth -liidesest väljuda
väljumine
Ja lõpuks meie heli marsruutimine: meie lähteseade edastab meie RPi -le
bluealsa-aplay 00: 00: 00: 00: 00: 00
Nüüd on meie seade Bluetoothiga meie Raspberryga ühendatud ja peaksite saama seda testida, mängides mis tahes meediat, näiteks Spotify jne.
Samm: täieliku taustaprogrammi kirjutamine
Nüüd, kui seadistamine on tehtud, saame lõpuks alustada oma taustaprogrammi kirjutamist!
Ma kasutasin Visual Studio koodi kogu oma taustaprogrammi jaoks, peate lihtsalt veenduma, et teie Visual Studio projekt on teie Raspberry Pi -ga ühendatud, see tähendab, et teie LAN -kaabel peab olema ühendatud teie RPi -ga ja SSH -ühenduse loomiseks. (info kaugühenduse loomise kohta leiate siit:
Kasutasin oma tunde ja need on ka kõik minu GitHubi kaasatud.
Oma taustafailis kasutasin erinevaid klasse, nii et kõike saab kasutada eraldi ja nii, et minu põhikood pole kõigi erinevate lõimedega jama. Kõigi erinevate klasside korraga käivitamiseks kasutasin keermestamist. Altpoolt leiate kõik marsruudid, et saaksime hõlpsalt oma esiplaanilt andmeid hankida.
8. samm: kasutajaliidese kirjutamine (HTML, CSS ja JavaScript)
Nüüd, kui taustaprogramm on valmis, saame hakata kirjutama täielikku esiosa.
HTML ja CSS olid minu jaoks päris rasked. Andsin endast parima, et muuta see esmalt mobiilseks, sest saan sellega bluetoothiga ühenduse luua, et lugusid Spotify abil muuta. Seega oleks lihtsam juhtida mobiilse armatuurlaua kaudu
Saate oma armatuurlaua kujundada mis tahes viisil, kui soovite, ma jätan oma koodi ja kujunduse siia, saate teha kõike, mis teile meeldib!
Ja Javascript ei olnud minu jaoks lihtsam, töötasin mõne GET -ga minu taustaprogrammilt, palju sündmuste kuulajaid ja mõningaid pistikupesa struktuure, et saada andmeid minu anduritelt.
9. samm: minu juhtumi ehitamine ja selle kõik kokku panemine
Hakkasin esmalt visandama, kuidas ma tahaksin, et juhtum välja näeks. Oluline oli see, et see peab olema piisavalt suur, et kõik ära mahuks, kuna me saime korpuse jaoks suure vooluringi, kuid pidime olema kompaktsed, nii et see ei sobinud. t ei võta palju ruumi
Ma tegin korpuse puidust, ma arvan, et sellega on kõige lihtsam töötada, kui sul pole ümbriste ehitamisega nii palju kogemusi ja sul on ka palju asju, mida saate sellega teha.
Alustasin vanast plangust, mille ümber panin, ja hakkasin lihtsalt puitu saagima. Kui mul oli oma põhikohver olemas, pidin ma sellesse lihtsalt augud puurima (palju korpuse esikülge, nagu piltidelt näha ja mõned küüned sinna sisse panna, see on tõesti põhijuhtum, aga tundub päris lahe ja sobib ideaalselt. Ma otsustasin ka valgeks värvida, et see hea välja näeks.
Ja kui juhtum oli tehtud, oli aeg see kõik kokku panna, nagu näete viimasel pildil! Karbi sees on küll jama, aga kõik toimib ja mul ei olnud palju rohkem ruumi, seega soovitan teil ehk minu projekti uuesti luues luua suurem ümbris.
Soovitan:
Härra kõlar - 3D -trükitud DSP kaasaskantav kõlar: 9 sammu (piltidega)
Härra kõneleja - 3D -trükitud DSP kaasaskantav kõlar: Minu nimi on Simon Ashton ja ma olen aastate jooksul ehitanud palju kõlareid, tavaliselt puidust. Sain eelmisel aastal 3D -printeri ja seetõttu tahtsin luua midagi, mis illustreerib ainulaadset disainivabadust, mida 3D -printimine võimaldab. Hakkasin mängima
Fordi Audiophile stereoraadio esitamine MP3 -failide esitamiseks .: 7 sammu
Kuidas teha Fordi Audiophile stereoraadio MP3-failide esitamiseks. See juhend annab teile mõned olulised üksikasjad selle kohta, kuidas täita Ford Audiophile'i (ja tõenäoliselt Mach 300, Shaker 500 ja Shaker 1000) MP3 CD-R ühilduvusnõudeid ) tehase stereo, nii et saate CD-plaadil MP3-faile põletada ja nautida
Ekraan Y temperatuuril ja LCD -ekraan Arduino: 5 sammu
Presidendi Y temperatuur ja LCD -ekraan Arduino: Con este tutorial, see ense ñ ar á a usar el LCD con el arduino para que en la pantalla se muestra la presi ó n y temperatura, junto con ayuda del BMP180. Vee í en encontrara cada paso para completarlo, sh im á geen
Autostereo kasutamine MP3 -de esitamiseks vanemal kodustereol: 7 sammu
Autostereo kasutamine MP3 -de esitamiseks vanemal kodustereol: MP3 -failide esitamine kodustereos Olen viimase kahe aastakümne jooksul alla laadinud või rippinud umbes 5000 klassikalist rokkmuusikat ja vajasin lihtsat viisi digitaalse muusikafailide esitamiseks vanemal kodustereol. Mul on ühendatud kodukinoarvuti (HTC)
PWM reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: 4 sammu (koos piltidega)
PWM -i reguleeritud ventilaator, mis põhineb Raspberry Pi protsessori temperatuuril: paljudel Raspberry Pi juhtumitel on väike 5 V ventilaator, mis aitab CPU jahutada. Kuid need ventilaatorid on tavaliselt üsna mürarikkad ja paljud inimesed ühendavad selle müra vähendamiseks 3V3 pistikuga. Nende ventilaatorite võimsus on tavaliselt 200 mA, mis on üsna hea