Përmbajtje:
- Hapi 1: Furnizimet
- Hapi 2: Skematike dhe instalime elektrike
- Hapi 3: Dizajni i bazës së të dhënave
- Hapi 4: Konfiguroni Raspberry Pi
- Step 5: Setting Up the Database to the RPi
- Hapi 6: Konfigurimi i Bluetooth në RPi -në Tonë
- Hapi 7: Shkrimi i një pasqyre të plotë
- Hapi 8: Shkrimi i Frontend (HTML, CSS & JavaScript)
- Hapi 9: Ndërtimi i çështjes sime dhe vendosja e të gjitha së bashku
Video: Mood Speaker- një Folës i Fuqishëm për Muzikën Mood që Duhet Të Luhet Bazuar në Temperaturën e Ambientit: 9 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Çkemi!
Për projektin tim shkollor në MCT Howest Kortrijk, unë bëra një Mood Speaker kjo është një pajisje Bluetooth e zgjuar me sensorë të ndryshëm, një brez led LCD dhe WS2812b. Altoparlanti luan muzikë në sfond bazuar në temperaturën, por gjithashtu mund të përdoret si një bluetooth i rregullt folës. Gjithçka funksionon në Raspberry Pi (Baza e të dhënave, Webserver, Backend).
Pra, ky udhëzues është një proces hap pas hapi se si e realizova këtë projekt në 3 javë. Pra, nëse ju djema dëshironi të rikrijoni projektin tim, mund të ndiqni udhëzuesin
Ky është udhëzimi im i parë që kam shkruar, kështu që nëse ka ndonjë shqetësim, do të përpiqem t'u përgjigjem atyre sa më shpejt që të mundem!
GitHub im:
Hapi 1: Furnizimet
Kartë SD Raspberry Pi 3B & 16 GB
I gjithë projekti im funksionon në Raspberry Pi 3B me një imazh të konfiguruar, të cilin do ta shpjegoj në një hap të mëvonshëm (Hapi 4: Konfigurimi i Raspberry Pi)
Ekran LCD 16x2
Kam përdorur një ekran LCD bazë për të printuar temperaturën, shkëlqimin dhe adresën time IP.
Fleta e të dhënave:
Sensori i temperaturës DS18B20
DS18B20 është një sensor me një tela që mat temperaturën, prodhuar nga Maxim Integrated. Ekzistojnë 2 lloje të sensorëve DS18B20, vetëm përbërësi (të cilin e kam përdorur) dhe versioni i papërshkueshëm nga uji, i cili është shumë më i madh, por kjo nuk është ajo që më duhej për projektin tim, kështu që kam përdorur vetëm përbërësin. Sensori mund të masë temperaturën në një rang prej -55 ° C deri +125 ° C (-67 ° F deri +257 ° F) dhe ka një saktësi prej 0.5 ° C nga -10 ° C në +85 ° C. Ai gjithashtu ka një rezolucion të programueshëm nga 9 bit në 12 bit.
Fleta e të dhënave:
MCP3008
Për të lexuar të dhënat nga sensori im LDR dhe PIR kam përdorur një MCP3008, i cili është një konvertor analog me dixhital me 8 kanale 10 bit me ndërfaqen SPI dhe është shumë i lehtë për tu programuar.
Fleta e të dhënave:
Sensori i lëvizjes PIR
Për të zbuluar kur dikush hyn dhe del nga dhoma ime, kam përdorur një sensor pasiv me rreze infra të kuqe sepse ato janë të lehta për t'u përdorur dhe janë të vogla.
Fleta e të dhënave:
LDR
Kam përdorur një rezistencë fotografike ose LDR (Rezistencë në rënie të dritës, ose rezistencë e varur nga drita) për të zbuluar nivelin e shkëlqimit të dhomës.
Altoparlanti - Diametri 3” - 4 Ohm 3 Watt
Ky është koni i altoparlantit që zgjodha pas llogaritjes së Tensionit dhe Amperit që do të duheshin dhe kjo ishte një përshtatje perfekte për projektin tim Raspberry Pi, të prodhuar nga Adafruit.
Vështrim i përgjithshëm:
Përforcues Mono MAX98357 I2S Class-D
Ky është përforcuesi që vjen me altoparlantin, jo vetëm që është një përforcues, është gjithashtu një konvertues dixhital në analog I2S, kështu që është gjithashtu një përshtatje perfekte për altoparlantin dhe sistemin tim audio.
Përmbledhje:
Fleta e të dhënave:
Arduino Uno
Arduino Uno është një bord mikrokontrollues me burim të hapur i bazuar në mikrokontrolluesin Microchip ATmega328P, prodhuar nga Arduino.cc. Bordi Uno ka 14 kunja dixhitale, 6 kunja analoge dhe është plotësisht i programueshëm me programin Arduino IDE
Vështrim i përgjithshëm:
Nivelfikës
Ky është një tabelë e vogël e cila kujdeset për komunikimin midis Arduino Uno dhe Raspberry Pi dhe tensioneve të ndryshme, Arduino: 5V & Raspberry Pi: 3.3V. Kjo është e nevojshme sepse shiriti led lidhet me Arduino dhe funksionon atje, ndërsa të gjitha gjërat e tjera funksionojnë në Raspberry Pi.
WS2812B - Ledstrip
Ky është një brez me 60 led RGB (nëse dëshironi) mund të blini shirita më të gjatë me më shumë led RGB. E cila në rastin tim lidhet me Arduino Uno, por gjithashtu mund të lidhet me shumë pajisje të tjera dhe është vërtet e thjeshtë për t'u përdorur.
Fleta e të dhënave:
GPIO T-Part, 1 Breadboard dhe shumë jumperwires
Për të lidhur gjithçka që më nevojitej dërrasave të bukës dhe jumperwires, nuk kam përdorur GP-T-pjesë, por ju mund ta përdorni për të ditur qartë se cila kosh ku shkon.
Hapi 2: Skematike dhe instalime elektrike
Për të bërë skemën time kam përdorur Fritzing, është një program që mund ta instaloni i cili ju lejon të krijoni një skematikë vërtet të lehtë në lloje të ndryshme pamjesh. Kam përdorur tabelën e bukës dhe pamjen skematike.
Shkarkoni Fritzing:
Sigurohuni që gjithçka është e lidhur në mënyrë korrekte. Kam përdorur ngjyra për ta bërë pak më të qartë të di se ku t'i lidh telat. Në rastin tim kam përdorur ngjyra të ndryshme për telat
Hapi 3: Dizajni i bazës së të dhënave
Ne po mbledhim shumë të dhëna nga 3 sensorët (Temperatura nga DS18B20, Ndriçimi nga LDR dhe Statusi nga PIR-sensor). Pra, është më mirë të mbash të gjitha këto të dhëna në një bazë të dhënash. Unë do të shpjegoj në një hap të mëvonshëm se si të konfiguroni bazën e të dhënave (Hapi 5: Inxhinieri Përpara Inxhinieri Baza e të Dhënave tona në RPi!) Por së pari duhet të bëhet dizajni ose ERD (Diagrami i Marrëdhënieve me Entitetin). I imi u normalizua me 3NF prandaj i ndamë përbërësit dhe historinë e përbërësve në një tabelë tjetër. Ne përdorim bazën e të dhënave Music për të mbajtur gjurmët e këngëve që janë dëgjuar.
Në përgjithësi, ky është një dizajn vërtet bazik dhe i lehtë i bazës së të dhënave për të punuar më tej.
Hapi 4: Konfiguroni Raspberry Pi
Pra, tani që kemi bërë disa bazat e projektit. Le të fillojmë me vendosjen e Raspberry Pi!
Pjesa 1: Konfigurimi i Kartës SD
1) Shkarkoni softuerin dhe skedarët e kërkuar
Ju duhet të shkarkoni 2 softuer dhe 1 OS dmth Raspbian për këtë proces të plotë. Softueri i parë: Softueri i parë është Win32 Disk Imager.
sourceforge.net/projects/win32diskimager/
Softueri i dytë: Softueri i dytë është SD Card Formatter.
www.sdcard.org/downloads/formatter_4/
Raspbian OS: Ky është sistemi kryesor operativ i Pi.
www.raspberrypi.org/downloads/raspberry-pi-os/
Nxirrni të gjithë skedarët në desktop.
2) Merrni Kartën SD dhe Lexuesin e Kartave
Merrni një kartë SD minimum 8 GB të klasës 10 me një lexues karte. Futeni atë kartë në lexuesin e kartës dhe lidheni atë me portën USB.
3) Formatoni kartën SD
Hapni Formatin e Kartës SD dhe zgjidhni njësinë.
Klikoni në format dhe mos ndryshoni asnjë opsion tjetër.
Kur të përfundojë formatimi, klikoni OK.
4) Shkruani sistemin operativ në kartën SD
Hapni win32diskimager.
Shfletoni skedarin.img të Raspbian OS që është nxjerrë nga skedari i shkarkuar.
Klikoni mbi të hapur dhe pastaj klikoni në Shkruaj.
Nëse shfaqet ndonjë paralajmërim atëherë injoroni ato duke klikuar OK. Prisni që shkrimi të përfundojë dhe mund të zgjasë disa minuta. Pra, ki durim.
n
5) Pasi të bëhet kjo, ne jemi gati të bëjmë disa rregullime përfundimtare para se të vendosim imazhin në RPi -në tonë.
Shkoni te drejtoria e kartës suaj SD, kërkoni skedarin me emrin 'cmdline.txt' dhe hapeni atë.
Tani shtoni 'ip = 169.254.10.1' në të njëjtën linjë.
Ruani skedarin.
Krijoni një skedar të quajtur 'ssh' pa shtrirje ose përmbajtje. (Mënyra më e lehtë është të krijoni një skedar txt dhe të hiqni.txt më pas)
Tani që gjithçka është instaluar në kartën SD, mund ta hiqni SIGURISHT nga kompjuteri juaj dhe ta vendosni në Raspberry Pi PA Lidhje të energjisë. Pasi karta SD të jetë në RPI, lidhni një kabllo LAN nga kompjuteri juaj në portën RPi LAN, pasi të jetë lidhur kjo mund të lidhni fuqinë me RPi.
Pjesa 2: Konfigurimi i RPi
Stuko
Tani ne duam të konfigurojmë Raspberry Pi tonë, kjo bëhet përmes Putty.
Softuer stuko:
Pasi të shkarkohet, hapni Putty dhe futni IP '169.254.10.1' dhe Portin '22' dhe llojin e lidhjes: SSH.
Tani më në fund mund të hapim ndërfaqen tonë të linjës së komandës dhe të identifikohemi me informacionin e hyrjes fillestare -> Përdoruesi: pi & Fjalëkalimi: mjedër. (Rekomandohet ta ndryshoni sa më shpejt që të jetë e mundur. Këtu keni një udhëzues se si:
Raspi-config
Ne do të duhet të aktivizojmë ndërfaqe të ndryshme dhe për ta bërë këtë së pari duhet të shtypim kodin e mëposhtëm:
sudo raspi-config
Gjërat që duhet të aktivizojmë janë në pjesën e ndërlidhjes. Ne duhet të aktivizojmë ndërfaqet e mëposhtme:
- Me një tel
- Serial
- I2C
- SPI
Kjo ishte gjithçka që na duhej të bënim me raspi-config
Shtimi i WIFI -t tuaj
Së pari, duhet të jeni rrënjë që komanda e mëposhtme të bëhet rrënjë
sudo -i
Pasi të jeni rrënjosur, përdorni komandën e mëposhtme: (Zëvendësoni SSID me emrin e rrjetit dhe fjalëkalimin tuaj me fjalëkalimin tuaj të rrjetit)
wpa_passphrase "ssid" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf
Në rast se keni bërë diçka të gabuar, mund ta kontrolloni, përditësoni ose fshini këtë rrjet duke futur komandën e mëposhtme:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Pra, pasi të kemi hyrë në rrjetin tonë, le të hyjmë në ndërfaqen e klientit WPA
wpa_cli
Zgjidhni ndërfaqen tuaj
ndërfaqja wlan0
Ringarko skedarin
rikonfiguro
Dhe së fundi mund të shihni nëse jeni lidhur mirë:
ip a
Pjesa 3: Përditësimi i softuerit të instalimit të RPi +
Tani që jemi lidhur me internetin, përditësimi i paketave të instaluara tashmë do të ishte një veprim i zgjuar, kështu që le ta bëjmë atë së pari para se të instalojmë paketa të tjera.
përditësim sudo apt-get
sudo apt-get upgrade
Pas azhurnimit të RPi do të na duhet të instalojmë programin e mëposhtëm:
Baza e të dhënave MariaDB
sudo apt-get install mariadb-server
Serveri i uebit Apache2
sudo apt install apache2
Python
alternativat e azhurnimit --install/usr/bin/python python /usr/bin/python3.7 1 alternativat e përditësimit --install/usr/bin/python python/usr/bin/python3 2
Paketë Python
Ju do të duhet të instaloni të gjitha këto pako për ta bërë backend -in të funksionojë në mënyrë perfekte:
- Flluskë
- Flask-Cors
- Flask-MySql
- Flask-SocketIO
- Kërkesat PyMySQL
- Python-socketio
- RPi. GPIO
- Gevent
- Gevent-websocket
Biblioteka e folësve
Për përdorimin e altoparlantit me amplifikatorin do të duhet të instalojmë një bibliotekë për të
kaçurrela -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
Tani që kemi instaluar gjithçka që na nevojitet, le ta vendosim Baza e të dhënave tona të projektuar në Raspberry Pi tonë!
Për vendosjen e bazës së të dhënave do të na duhet të lidhim MySql dhe RPi. Për këtë ne do të hapim MySQLWorkbench dhe do të bëjmë një lidhje të re. Kur shikoni imazhin, do të duhet të ndryshoni për të ndryshuar informacionin tuajin.
Nëse nuk keni ndryshuar asgjë akoma, mund të përdorni për SSH pi dhe mjedër, për MySQL mysql dhe mysql.
Kur diçka nuk është e qartë, mund të ndiqni edhe këtë tutorial:
Për të eksportuar bazën e të dhënave tuaja duhet të jetë më e lehtë të përdorni PHPmyAdmin sepse mund të merrni shumë gabime duke e bërë atë me MySql
Hapi 6: Konfigurimi i Bluetooth në RPi -në Tonë
Ne po krijojmë një altoparlant Mood, të cilin mund ta përdorim edhe me muzikën tonë, kështu që kjo është më e lehtë kur është RPi
i lidhur me bluetooth ndoqa një tutorial për të që mund ta gjeni këtu:
scribles.net/streaming-bluetooth-audio-fr…
Kam shkruar gjithçka këtu gjithashtu për të gjithë ata që duan ta rikrijojnë atë
Heqja e blualsa -s që tashmë funksionon
sudo rm/var/run/bluealsa/*
Shto profilin A2DP Roli i lavamanit
sudo bluealsa -p a2dp -lavaman &
Hapni ndërfaqen bluetooth dhe ndizni Bluetooth -in tuaj
bluetoothctl ndizet
Krijoni një agjent çiftimi
agjenti në agjentin e paracaktuar
Bëni RPi -në tuaj të zbulueshme
e zbulueshme në
- Tani nga pajisja juaj bluetooth, kërkoni RPi dhe lidheni me të.
- Konfirmoni çiftimin në të dy pajisjet, shkruani 'po' në stuko tuaj.
- Autorizoni shërbimin A2DP, shkruani përsëri 'po'.
- Pasi të bëhet kjo, ne mund t'i besojmë pajisjes sonë, kështu që nuk kemi pse ta kalojmë këtë çdo herë që duam të lidhemi
beso XX: XX: XX: XX: XX: XX (adresa jote bluetooth nga pajisja jonë burimore)
Nëse dëshironi që RPi juaj të vazhdojë të jetë i zbulueshëm, kjo është zgjedhja juaj, por unë preferoj ta fik atë përsëri, në mënyrë që njerëzit të mos përpiqen të lidhen me kutinë tuaj
e zbulueshme off
Atëherë mund të dalim nga ndërfaqja jonë bluetooth
dalje
Dhe së fundi, drejtimi ynë audio: pajisja jonë burimore që përcjell tek RPi -ja jonë
bluealsa-aplay 00: 00: 00: 00: 00: 00: 00
Tani pajisja jonë është e lidhur me mjedrën tonë me bluetooth dhe ju duhet të jeni në gjendje ta provoni atë duke luajtur ndonjë media për shembull Spotify, etj.
Hapi 7: Shkrimi i një pasqyre të plotë
Pra, tani konfigurimi është bërë, më në fund mund të fillojmë të shkruajmë programin tonë të backendit!
Kam përdorur Visual Studio Code për gjithë sfondin tim, thjesht duhet të siguroheni që projekti juaj Visual Studio është i lidhur me Raspberry Pi tuaj, kjo do të thotë që kablloja juaj LAN duhet të jetë e lidhur me RPi -në tuaj dhe për të bërë një lidhje SSH. (informacion se si të krijoni një lidhje në distancë mund të gjenden këtu:
Kam përdorur klasat e mia dhe këto gjithashtu përfshihen të gjitha në GitHub tim.
Në skedarin tim backend kam përdorur klasa të ndryshme, kështu që gjithçka mund të përdoret veç e veç dhe në mënyrë që kodi im kryesor të mos ngatërrohet me të gjitha fijet e ndryshme. Kam përdorur filetim për të drejtuar të gjitha klasat e ndryshme në të njëjtën kohë. Dhe në fund keni të gjitha rrugët në mënyrë që të mund të marrim me lehtësi të dhëna në frontin tonë.
Hapi 8: Shkrimi i Frontend (HTML, CSS & JavaScript)
Tani që backendi është bërë, ne mund të fillojmë të shkruajmë pjesën e përparme të plotë.
HTML dhe CSS ishin mjaft të vështira për mua, bëra çmos që ta bëja atë celular së pari sepse mund të lidhem me të me bluetooth për të ndryshuar këngët me Spotify. Pra, do të ishte më e lehtë për tu kontrolluar nga një pult celular
Ju mund të krijoni pultin tuaj në çfarëdo mënyre që dëshironi, unë thjesht do të lë kodin dhe modelin tim këtu, ju mund të bëni çfarë të doni!
Dhe Javascript nuk ishte më e lehtë për mua, punova me disa GET nga rrugët e mia të pasme, mijëra dëgjues ngjarjesh dhe disa struktura socketio për të marrë të dhënat nga sensorët e mi.
Hapi 9: Ndërtimi i çështjes sime dhe vendosja e të gjitha së bashku
Fillimisht fillova të skicoj se si doja që rasti të dukej, diçka e rëndësishme ishte se duhej të ishte mjaft e madhe që gjithçka të përshtatej, pasi ne kishim një qark të madh për ta futur në kasetë, por duhej të qëndronim kompakt në mënyrë që të mos ndodhte ' mos merrni shumë hapësirë
Unë e kam bërë kasën prej druri, mendoj se është më e lehtë të punosh kur nuk ke aq përvojë me ndërtimin e kasave dhe gjithashtu ke shumë gjëra që mund të bësh me të.
Fillova nga një dërrasë e vjetër që kisha shtrirë dhe sapo fillova të sharroja drurin. Sapo kisha rastin tim bazë, më duhej të bëja vrima në të (shumë në pjesën e përparme të kasës, siç mund të shihni në fotografi dhe të vendosni disa gozhdë në të, është një rast vërtet themelor, por duket shumë mirë dhe përshtatet në mënyrë perfekte. Edhe vendosa ta lyej të bardhë për ta bërë të duket mirë.
Dhe pasi të përfundonte çështja, ishte koha për t'i bashkuar të gjitha, siç mund ta shihni në foton e fundit! Kindshtë disi një rrëmujë brenda kutisë, por gjithçka funksionon dhe unë nuk kisha aq shumë hapësirë, kështu që unë ju këshilloj që ndoshta të krijoni një rast më të madh nëse jeni duke rikrijuar projektin tim.
Recommended:
Tifoz i rregulluar me PWM Bazuar në temperaturën e CPU për Raspberry Pi: 4 hapa (me fotografi)
Tifoz i rregulluar me PWM Bazuar në temperaturën e CPU për Raspberry Pi: Shumë raste për Raspberry Pi vijnë me një tifoz të vogël 5V në mënyrë që të ndihmojnë në ftohjen e CPU. Sidoqoftë, këta tifozë janë zakonisht mjaft të zhurmshëm dhe shumë njerëz e lidhin atë në kunjin 3V3 për të zvogëluar zhurmën. Këta tifozë zakonisht vlerësohen për 200mA, që është goxha orë
Gjenerator muzikor i bazuar në mot (ESP8266 Bazuar në Midi Generator): 4 hapa (me fotografi)
Gjenerator muzikor i bazuar në mot (ESP8266 Bazuar në Midi Generator): Përshëndetje, sot unë do t'ju shpjegoj se si ta bëni vetë gjeneratorin tuaj të vogël të Muzikës me bazë moti. Bazohet në një ESP8266, i cili është si një Arduino, dhe i përgjigjet temperaturës, shiut dhe intensiteti i dritës. Mos prisni që ajo të bëjë këngë të tëra ose progord të akordit
Makiazh gjigande që mund të luhet: 8 hapa
Gianti i Lozshëm Makey Makey: Disa edukatorë në grupin tonë në Facebook, kaluan në një nivel krejt të ri këtë vit shkollor duke bërë gjigantin e tyre Makey Makeys. Ekipi ynë mendoi se kjo ishte një ide e shkëlqyeshme për t'u mësuar studentëve rreth mikrokontrolluesve. Prandaj, ne pyetëm Drejtorin tonë të
Shtoni ZHEL Reaktive të Zërit për Çdo Folës !: 5 Hapa
Shtoni ZHEL Reaktive të Zërit për Çdo Folës !: Pra, ka atë që ju nevojitet:) 1-10 LED, çdo ngjyrë, çdo madhësi (kam përdorur LED të kuq 2x 5mm) Stërvitje & Stërvitje me madhësi LED (zakonisht 5 mm) Pak gropë për të futur vrimat e LED që të përshtaten me altoparlantët tuaj LED, kam përdorur Creative TravelSound -Altoparlantë Shofer vidë (nëse
Folës Ukulele për Ipod / Mp3: 7 hapa
Folësit Ukulele për Ipod / Mp3: U mërzita në pushimet e mia verore dhe kisha disa altoparlantë të lirshëm përreth. Unë gjithashtu sapo kisha parë konkursin e kartonit gorilla. Kështu që vendosa t'i bëj këta folës pasi jam i interesuar për ukulele. Atë që ju nevojitet. Një shumëllojshmëri folësish kam përdorur 3 palë