Sisukord:
- Samm: tarvikud
- 2. samm: skeem ja juhtmestik
- 3. samm: andmebaasi kujundamine
- Samm: valmistage Raspberry Pi
- Samm: edastage meie andmebaas RPi -le
- 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
- Samm: mõned probleemid, mis mul tekkisid Slimboxi kõlari loomisel …
Video: Slimbox - nutikas Bluetooth -kõlar!: 10 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Tere!
Oma kooliprojekti jaoks MCT Howest Kortrijkis valmistasin nutika Bluetooth -kõlariseadme, millel on erinevad andurid, LCD ja RGB NeoPixeli rõngas. Kõik töötab Raspberry Pi -l (andmebaas, veebiserver, taustaprogramm).
Nii et selles juhendatavas näitan teile samm -sammult, kuidas ma selle projekti kolme nädala jooksul tegin, nii et kui keegi teist soovib minu projekti uuesti luua, saate seda hõlpsalt teha!
See on ka minu esimene juhendatav, kui teil on küsimusi, proovin neile võimalikult kiiresti vastata!
Minu GitHub:
Samm: tarvikud
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:
Potentsiomeetri andur
Potentsiomeeter on kolme klemmiga takisti, mida saab käsitsi reguleerida, lihtsalt anduri ülemist osa pöörates. Ülemise osa asend määrab potentsiomeetri väljundpinge.
LSM303 kiirendusmõõtur + kompassi läbimurre
LSM303 purunemisplaat on kombinatsioon kolmeteljelisest kiirendusmõõturist ja magnetomeetrist / kompassist, mille on tootnud Adafruit. Seda kasutatakse koos Raspberry Pi I2C liidesega.
Ülevaade:
Andmeleht:
MCP3008
Potentsiomeetri andmete lugemiseks kasutasin MCP3008, mis on SPI -liidesega 8 -kanaliline 10 -bitine analoog -digitaalmuundur ja mida on üsna lihtne programmeerida.
Andmeleht:
Kõlar - 3”läbimõõt - 8 oomi 1 vatt
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 NeoPixeli rõngas on ühendatud Arduinoga ja jookseb seal edasi, samas kui kõik muu kraam jookseb Raspberry Pi peal.
RGB NeoPixel sõrmus
See on väike rõngas, mis on täidetud 12 RGB -valgusdioodiga (soovi korral saate osta suuremaid rõngaid, 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.
Ülevaade:
LCD ekraan 16x2
Kasutasin temperatuuri, helitugevuse ja IP -aadressi printimiseks tavalist LCD -ekraani.
Andmeleht:
Raspberry Pi 3B+ ja 16 GB SD -kaart
Kogu minu projekt töötab minu seadmel Raspberry Pi 3B+ koos konfigureeritud pildiga, mille aitan teil hiljem oma juhendis konfigureerida.
GPIO T-osa, 2 leivalauda ja palju hüppajaid
Kõigi vajalike leivaplaatide ja hüppajajuhtmete ühendamiseks kasutasin GPIO T-osa, nii et mul on rohkem ruumi ja on selge, milline tihvt on kumb.
2. samm: skeem ja juhtmestik
Oma skeemi jaoks kasutasin Fritzingit, see on programm, mille saate installida ja mis võimaldab teil luua erinevates vaadetes skeemi.
Laadige Fritzing alla:
Nii et veenduge, et ühendate kõik õigel viisil! Minu puhul pole juhtmete värvid samad, mis skeemil.
3. samm: andmebaasi kujundamine
Kogume 3 ühendatud andurilt palju andmeid, seega vajame andmete ja andurite salvestamiseks andmebaasi. Hiljem vaatame, kuidas Raspberry Pi andmebaasi seadistada ja kuidas sellele andmeid lisada. Kuid kõigepealt tuleb teha andmebaasi kujundus või ERD (olemisuhete skeem) ja ka minu oma normaliseeriti 3NF -iga. Seetõttu jagasime andurid teise tabelisse ja töötame ID -dega.
Üldiselt on see tõesti lihtne ja lihtne andmebaasi kujundus, millega edasi töötada.
Samm: valmistage Raspberry Pi
Nüüd, kui meil on projekti põhitõed tehtud. Alustame Raspberry Pi -ga!
SD -kaardi konfiguratsioon
Esiteks vajate 16 GB SD -kaarti, kuhu saate oma pildi panna, ja programmi, mis võimaldab SD -kaardile üles laadida alguspildi.
Tarkvara:
Stardipilt:
Nii et kui need on alla laaditud:
- Pange oma SD -kaart arvutisse.
- Avage äsja alla laaditud Win32.
- Valige Raspbiani pildifail, mille samuti alla laadisite.
- Klõpsake "kirjuta" oma SD -kaardi asukohta.
Sõltuvalt teie riistvarast võib see aega võtta. Kui see on tehtud, oleme valmis enne pildi RPi lisamist tegema mõningaid viimaseid kohandusi.
- 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 või sisuta.
Nüüd saate SD -kaardi turvaliselt arvutist välja võtta ja ilma toiteeta Raspberry Pi -sse panna. Kui SD -kaart on RPI -sse ühendatud, ühendage arvutist LAN -kaabel RPi LAN -porti, kui see on ühendatud, saate toite RPi -ga ühendada.
Nüüd tahame oma Raspberry Pi juhtida, 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.
Raspi-config
sudo raspi-config
Selle projekti jaoks on tõesti oluline liideste sektsioon, peame lubama palju erinevaid liideseid, lubama kõik järgmised liidesed:
- Ühe juhtmega
- SPI
- I2C
- Seriaal
Nüüd, kui oleme raspi-configiga lõpetanud, proovime luua Interneti-ühenduse.
WiFi-ühendus
Esiteks peate järgmiste käskude jaoks olema root
sudo -i
Kui olete root, kasutage järgmist käsku. SSID on teie võrgu nimi ja parool on ilmselgelt parool.
wpa_passphrase "ssid" "parool" >> /etc/wpa_supplicant/wpa_supplicant.conf
Kui tegite vea, saate seda võrku kontrollida, värskendada või kustutada, sisestades selle faili:
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
Värskenda ja uuenda
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
MariaDB andmebaas
Installige MariaDB andmebaasiserver:
sudo apt-get install mariadb-server
Apache2 veebiserver
Installige Apache2 veebiserver:
sudo apt install apache2
Python
Pythoni installimine:
update-alternatives --install/usr/bin/python python /usr/bin/python2.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
- Ujson
- Wsaccel
Kõlarite raamatukogu
Installige kõlariteek Adafruitist:
curl -sS https://raw.githubusercontent.com/adafruit/Raspbe… | lööma
Aeg taaskäivitada
sudo taaskäivitamine
Samm: edastage meie andmebaas RPi -le
Nüüd, kui oleme kõik vajaliku installinud, paneme oma kavandatud andmebaasi meie Raspberry Pi -le!
Nii et kõigepealt peame oma andmebaasi edasi töötama MySql töölaual, kopeerides samal ajal kogu oma andmebaasi koodi ja kustutades kõik selles nähtavad sõnad. Nii et kui see on kopeeritud, avame uuesti kitt, logige sisse ja tippige:
sudo mysql
ja nüüd olete mysqli liideses, kopeerige sinna oma andmebaasi kood ja vajutage sisestusklahvi.
Nüüd peame lihtsalt kasutaja looma
CREATE USER 'user' IDENTIFIED BY 'user';
ANNA KÕIK PRIILIID ON *. * "Kasutajale";
Nüüd taaskäivitage.
Nii et kõik peaks olema nüüd seadistatud, saate luua ühenduse ka oma Pi ja MySql Workbenchiga, nii et kõiki tabelites olevaid andmeid on lihtsam kontrollida.
Samm: Bluetoothi seadistamine meie RPi -s
Loome Bluetooth -kõlarit, nii et see tähendab, et meedia saadetakse meie allikast Raspberry Pi -le ja seda saab teha üsna lihtsalt, asume kohe asja juurde!
Minu bluetooth-ühenduse allikas:
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
sisse lülitada
Seadistage sidumisagent
agent peal
vaikimisi agent
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 meie Raspberryga täielikult ühendatud ja teil peaks olema võimalik Pi -kõlarist oma allikaseadmest meediat esitada.
Samm: täieliku taustaprogrammi kirjutamine
Nüüd, kui seadistamine on tehtud, saame lõpuks alustada oma taustaprogrammi kirjutamist!
Kasutasin kogu oma taustaprogrammi jaoks PyCharmi, peate lihtsalt veenduma, et teie PyCharmi projekt on teie Raspberry Pi -ga ühendatud, see tähendab, et teie kasutuselevõtu tee on teie seadetes seadistatud ja olete installinud kõik vajalikud paketid, tuleks juba sammus teha 4.
Kasutasin oma tunde ja need on ka kõik minu GitHubi kaasatud. Link on sissejuhatuses juhuks, kui sellest ilma jäite;)
Oma taustafailis kasutasin niiditunde, nii et kõik saab korraga töötada ja see ei katkesta üksteist. 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 -i ja CSS -i tegemine oli üsna lihtne, proovisime kõigepealt võimalikult palju mobiiliga töötada, kuna enamasti ühendame Bluetoothiga mobiilseadmest, oleks seda lihtsam juhtida mobiili juhtpaneelilt.
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 nii raske, töötas mõne GET -iga minu taustaprogrammilt, palju sündmuste kuulajaid ja mõningaid pistikupesa struktuure.
9. samm: minu juhtumi ehitamine ja selle kõik kokku panemine
Alustasin kõigepealt visanditega selle kohta, kuidas ma tahaksin, et juhtum välja näeks. Oluline oli see, et see peab olema piisavalt suur, et kõik ära mahuks, kuna saime korpuse jaoks suure vooluringi.
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 veinipudelite ümbrisest ja hakkasin lihtsalt puitu saagima. Kui mul oli oma põhikohver olemas, pidin lihtsalt sellesse augud puurima (korpuse esiküljel palju, nagu piltidelt näha: P) ja mõned küüned sinna sisse pandud, see on tõesti elementaarne juhtum, aga näeb päris lahe välja ja sobib ideaalselt.
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.
Samm: mõned probleemid, mis mul tekkisid Slimboxi kõlari loomisel …
Bluetoothi ja bluealsa vead
Iga kord, kui tahtsin muusikat mängida või Bluetoothiga ühenduse luua, sain bluetoothist ja bluealsast tõrkeid. Uurisin seda ja see oli minu probleemi lahendus. Nii et mu bluetooth oli mingil põhjusel pehme blokeeringuga, pole kindel, kas see on tavaline pehme blokeerimine. Saate näha, kas see on nii, kui sisestate oma Putty -sse järgmise käsu.
rfkill nimekiri
Nii et kui see on pehme blokeeringuga, kasutage seda lihtsalt:
rfkill blokeeringu tühistamine
Ja võib -olla soovite pärast seda taaskäivitada, minu allikas:
Probleemid jadaühendusega
Teine suur probleem, mis mul oli, oli see, et ma ei suutnud taseme nihutaja kaudu oma Arduinoga ühendust luua, pärast mõningast otsimist avastasin, et minu '/dev/ttyS0' on kadunud ja põhjuseks võib olla teie RPi värskendamine. Ka sellele leiti lahendus
Peate jadakonsooli raspi-config abil uuesti lubama, taaskäivitama ja seejärel bitti "console = serial0, 115200" käsitsi eemaldama failist '/boot/cmdline.txt'. Veenduge, et "enable_uart = 1" on' /boot/config.txt 'ja taaskäivitage uuesti. See peaks taastama teie ttyS0 pordi ja pehme lingi "/dev/serial0".
Allikas:
Soovitan:
Castle Planter (koos Tinkercadi koodiplokkidega): 25 sammu (koos piltidega)
Castle Planter (koos Tinkercadi koodiplokkidega): selle disaini teostamine võttis mul üsna kaua aega ja kuna minu kodeerimisoskus on vähemalt öeldes piiratud, loodan, et see õnnestus hästi :) Kasutades juhiseid, peaksite saama taaslooge selle disaini kõik aspektid ilma
Diy makroobjektiiv koos teravustamisega (erinev kui kõik muud DIY makroobjektiivid): 4 sammu (koos piltidega)
Diy makroobjektiiv koos teravustamisega (erinev kui kõik muud DIY makroobjektiivid): olen näinud palju inimesi, kes teevad makroläätsi tavalise komplekti objektiiviga (tavaliselt 18–55 mm). Enamik neist on objektiiv, mis on lihtsalt tagurpidi kaamera külge kinnitatud või esielement eemaldatud. Mõlemal variandil on varjuküljed. Objektiivi kinnitamiseks
Kitroniku leiutajakomplekti kasutamine koos Adafruit CLUE -ga: 4 sammu (koos piltidega)
Kitroniku leiutajakomplekti kasutamine koos Adafruit CLUE -ga: Kitronik Leiutaja komplekt BBC micro: bit jaoks on suurepärane sissejuhatus elektroonikaga mikrokontrolleritele, kasutades leivaplaati. See komplekti versioon on mõeldud kasutamiseks koos odava BBC mikro: bitiga. Üksikasjalik õpetusraamat, mis tuleb
3 KANALI AUDIO MIXER koos FM -raadiosaatjaga: 19 sammu (koos piltidega)
3 KANALI AUDIO MIXER, mis on integreeritud FM -raadiosaatjaga: Hei kõik, selles artiklis ma aitan teil ehitada oma 3 KANALI AUDIO MIXER koos FM -raadiosaatjaga
Uuendage DIY Mini DSO tõeliseks ostsilloskoobiks koos suurepäraste funktsioonidega: 10 sammu (koos piltidega)
Täiendage DIY Mini DSO tõeliseks ostsilloskoopiks, millel on suurepärased funktsioonid: Viimati jagasin, kuidas MCU -ga Mini DSO -d teha. Et teada saada, kuidas seda samm -sammult ehitada, vaadake minu eelmist juhendit: https: //www.instructables. com/id/Tee ise oma osc … Kuna paljud inimesed on sellest projektist huvitatud, kulutasin natuke aega