Orodha ya maudhui:
- Hatua ya 1: Vifaa
- Hatua ya 2: Mpangilio na Wiring
- Hatua ya 3: Ubunifu wa Hifadhidata
- Hatua ya 4: Sanidi Raspberry Pi
- Step 5: Setting Up the Database to the RPi
- Hatua ya 6: Kusanidi Bluetooth kwenye RPi yetu
- Hatua ya 7: Kuandika Kumbukumbu Kamili
- Hatua ya 8: Kuandika Frontend (HTML, CSS & JavaScript)
- Hatua ya 9: Kuunda Kesi yangu na Kuiweka Pamoja
Video: Spika ya Mood- Spika Mzuri wa Muziki wa Mood Uchezwe Kulingana na Joto La Kawaida: Hatua 9
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Haya hapo!
Kwa mradi wangu wa shule huko MCT Howest Kortrijk, nilifanya Spika ya Mood hii ni kifaa kizuri cha spika cha Bluetooth kilicho na sensorer tofauti, LCD na WS2812b ledstrip iliyojumuishwa. Spika inacheza muziki wa nyuma kulingana na hali ya joto lakini pia inaweza kutumika kama bluetooth ya kawaida mzungumzaji. Kila kitu kinaendesha kwenye Raspberry Pi (Hifadhidata, Webserver, Backend).
Kwa hivyo hii ya kufundisha ni hatua kwa hatua mchakato wa jinsi niligundua mradi huu katika wiki 3. Kwa hivyo ikiwa nyinyi mnataka kurudia mradi wangu unaweza kufuata mwongozo
Hii ni ya kwanza kufundishwa ambayo niliandika kwa hivyo ikiwa kuna maswali yoyote, nitajaribu kuwajibu haraka iwezekanavyo!
GitHub yangu:
Hatua ya 1: Vifaa
Raspberry Pi 3B & 16GB Kadi ya SD
Mradi wangu wote unaendesha Raspberry yangu 3B na picha iliyosanidiwa, ambayo nitaelezea katika hatua ya baadaye (Hatua ya 4: Sanidi Raspberry Pi)
Uonyesho wa LCD 16x2
Nilitumia Onyesho la msingi la LCD kuchapisha joto langu, mwangaza na anwani ya IP.
Hati ya data:
Sensor ya Joto la DS18B20
DS18B20 ni sensor ya waya moja ambayo hupima joto, iliyotengenezwa na Maxim Jumuishi. Kuna aina 2 za sensorer za DS18B20, sehemu tu (Ambayo nilitumia) na toleo la kuzuia maji, ambayo ni kubwa zaidi, lakini sio ile niliyohitaji kwa mradi wangu, kwa hivyo nilitumia sehemu hiyo tu. Sensorer inaweza kupima joto katika kiwango cha -55 ° C hadi + 125 ° C (-67 ° F hadi + 257 ° F) na ina usahihi wa 0.5 ° C kutoka -10 ° C hadi + 85 ° C. Pia ina azimio linaloweza kupangwa kutoka kwa bits 9 hadi bits 12.
Hati ya data:
MCP3008
Kusoma data kutoka kwa LDR yangu na sensorer ya PIR nilitumia MCP3008, ambayo ni Analog 8 channel 10 bit analog to digital converter with the SPI interface and is pretty easy to program.
Hati ya data:
Sensor ya mwendo wa PIR
Kuchunguza wakati kuna mtu anayeingia na kutoka kwenye chumba changu, nilitumia kihisi cha infrared infrared sensor sababu ni rahisi kutumia na ni ndogo.
Hati ya data:
LDR
Nilikuwa mpiga picha au LDR (Mwanga Kupunguza Upinzani, au kipingaji kinachotegemea mwanga) kugundua kiwango cha mwangaza wa chumba kilicho ndani. Na pia kuiwasha Ledstrip yangu ikiwa giza.
Spika - 3”Kipenyo - 4 Ohm 3 Watt
Huu ndio koni ya spika niliyochagua baada ya kuhesabu Voltage na Amperes ambayo itahitaji na hii ilikuwa sawa kwa mradi wangu wa Raspberry Pi, uliotengenezwa na Adafruit.
Muhtasari:
MAX98357 I2S Hatari-D Mono Amplifier
Hiki ni kipaza sauti kinachokuja na spika, sio tu ni kipaza sauti, pia ni dijiti ya I2S kwa kibadilishaji cha analog, kwa hivyo pia inafaa kabisa kwa spika yangu na mfumo wa sauti.
Muhtasari:
Hati ya data:
Arduino Uno
Arduino Uno ni bodi ya microcontroller ya chanzo wazi inayotegemea Microchip ATmega328P microcontroller, iliyotengenezwa na Arduino.cc. Bodi ya Uno ina pini 14 za Dijiti, pini 6 za analog na inaweza kupangwa kikamilifu na programu ya Arduino IDE
Muhtasari:
Kiwango cha mabadiliko
Hii ni bodi ndogo ambayo hutunza mawasiliano kati ya Arduino Uno na Raspberry Pi na voltages tofauti, Arduino: 5V & Raspberry Pi: 3.3V. Hii inahitajika kwa sababu ukanda wa kuunganishwa umeunganishwa na Arduino na huendesha huko, wakati vitu vingine vyote vinaendesha kwenye Raspberry Pi.
WS2812B - Ukanda wa taa
Hii ni njia ya kuongoza iliyo na risasi za RGB 60 (unaweza kununua vipande virefu zaidi na viongozo zaidi vya RGB, ikiwa unataka). Ambayo kwa upande wangu imeunganishwa na Arduino Uno, lakini pia inaweza kushikamana na vifaa vingine vingi na ni rahisi kutumia.
Hati ya data:
Sehemu ya T-GPIO, Bodi ya mkate 1 na jumperwires nyingi
Kuunganisha kila kitu nilichohitaji ubao wa mkate na sketi za kuruka, sikutumia sehemu ya GPIO T lakini unaweza kuitumia kujua wazi ni ipi inaenda wapi.
Hatua ya 2: Mpangilio na Wiring
Kwa kutengeneza skimu yangu nilitumia Fritzing, ni programu ambayo unaweza kusanikisha ambayo hukuruhusu kuunda skimu rahisi kwa aina tofauti za maoni. Nilitumia ubao wa mkate na maoni.
Pakua Fritzing:
Hakikisha kila kitu kimeunganishwa kwa usahihi. Nilitumia rangi kuifanya iwe wazi zaidi kujua wapi unganisha waya. Katika kesi yangu nilitumia rangi tofauti kwa waya
Hatua ya 3: Ubunifu wa Hifadhidata
Tunakusanya data nyingi kutoka kwa sensorer 3 (Joto kutoka DS18B20, Mwangaza kutoka LDR na Hali kutoka kwa sensorer ya PIR). Kwa hivyo ni bora kuweka data hii yote kwenye hifadhidata. Nitaelezea katika hatua ya baadaye jinsi ya kusanidi hifadhidata (Hatua ya 5: Sambaza Uhandisi Hifadhidata yetu kwa RPi!) Lakini kwanza muundo au ERD (Mchoro wa Uhusiano wa Entity) inapaswa kufanywa. Mgodi ulirekebishwa na 3NF ndiyo sababu tuligawanya vifaa na historia ya vifaa kwenye meza nyingine. Tunatumia hifadhidata ya Muziki kufuatilia nyimbo ambazo zimesikilizwa.
Kwa jumla hii ni muundo wa hifadhidata ya msingi na rahisi kufanya kazi zaidi na.
Hatua ya 4: Sanidi Raspberry Pi
Kwa hivyo sasa kwa kuwa tuna misingi ya mradi uliofanywa. Wacha tuanze na kuanzisha Pi ya Raspberry!
Sehemu ya 1: Kusanidi Kadi ya SD
1) Pakua Programu na Faili Zinazohitajika
Unahitaji kupakua programu 2 na OS 1 yaani Raspbian kwa mchakato huu kamili. Programu ya 1: Programu ya kwanza ni Win32 Disk Imager.
sourceforge.net/projects/win32diskimager/
Programu ya 2: Programu ya pili ni Muundo wa Kadi ya SD.
www.sdcard.org/downloads/formatter_4/
Raspbian OS: Huu ndio mfumo kuu wa uendeshaji wa Pi.
www.raspberrypi.org/downloads/raspberry-pi-os/
Toa faili zote kwenye eneo-kazi.
2) Pata Kadi ya SD na Msomaji wa Kadi
Pata kadi ya SD ya kiwango cha chini cha 8GB ya darasa la 10 na msomaji wa kadi. Ingiza kadi hiyo kwenye kisomaji cha kadi na uiunganishe kwenye bandari ya USB.
3) Umbiza Kadi ya SD
Fungua Fomati ya Kadi ya SD na uchague kiendeshi.
Bonyeza kwenye umbizo na usibadilishe chaguzi zingine.
Wakati uundaji umekamilika, bonyeza OK.
4) Andika OS kwenye Kadi ya SD
Fungua win32diskimager.
Vinjari faili ya.img ya OS ya Raspbian ambayo ilitolewa kutoka kwa faili iliyopakuliwa.
Bonyeza kwenye wazi na kisha bonyeza kwenye Andika.
Ikiwa onyo lolote litaibuka basi puuza hizo kwa kubofya sawa. Subiri kukamilika kwa maandishi na inaweza kuchukua dakika kadhaa. Kwa hiyo subira.
n
5) Mara tu hii itakapofanyika, tuko tayari kufanya marekebisho ya mwisho kabla ya kuweka picha kwenye RPi yetu.
Nenda kwenye saraka ya kadi yako ya SD, tafuta faili inayoitwa 'cmdline.txt' na uifungue.
Sasa ongeza 'ip = 169.254.10.1' kwenye mstari huo huo.
Hifadhi faili.
Unda faili inayoitwa 'ssh' bila ugani au yaliyomo. (Njia rahisi ni kuunda faili ya txt na kuondoa.txt baadaye)
Sasa kwa kuwa kila kitu kimewekwa kwenye kadi ya SD unaweza kuiondoa kwa usalama kutoka kwa kompyuta yako na kuiweka kwenye Raspberry Pi BILA kuunganisha nguvu. Mara kadi ya SD ikiingia kwenye RPI, unganisha kebo ya LAN kutoka kwa kompyuta yako hadi bandari ya RPi LAN, mara tu hii ikiunganishwa unaweza kuunganisha nguvu kwa RPi.
Sehemu ya 2: Kusanidi RPi
Putty
Sasa tunataka kusanidi Pi Raspberry yetu, hii imefanywa kupitia Putty.
Programu ya Putty:
Mara baada ya kupakuliwa, fungua Putty na uweke IP '169.254.10.1' na Port '22' na aina ya unganisho: SSH.
Sasa tunaweza hatimaye kufungua kiolesura cha laini ya amri na kuingia na habari ya kuingia ya kuanza -> Mtumiaji: pi & Nenosiri: rasipberry. (Inapendekeza ibadilishwe haraka iwezekanavyo. Hapa kuna mwongozo jinsi:
Raspi-usanidi
Tutalazimika kuwezesha maingiliano tofauti na kufanya hivyo lazima kwanza tuandike nambari ifuatayo:
Sudo raspi-config
Vitu tunavyohitaji kuwezesha viko katika sehemu ya kuingiliana. Tunahitaji kuwezesha miingiliano ifuatayo:
- Waya moja
- Serial
- I2C
- SPI
Hiyo ndiyo kila kitu tulihitaji kufanya na raspi-config
Inaongeza WIFI yako
Kwanza, lazima uwe mzizi kwa amri ifuatayo ili uwe mizizi
Sudo -i
Ukishakuwa mzizi, tumia amri ifuatayo: (Badilisha SSID na jina lako la mtandao na nywila na nenosiri lako la mtandao)
wpa_passphrase "ssid" "nywila" >> /etc/wpa_supplicant/wpa_supplicant.conf
Ikiwa umefanya kitu kibaya, unaweza kuangalia, kusasisha au kufuta mtandao huu kwa kuingiza tu amri ifuatayo:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Kwa hivyo baada ya kuingia mtandao wetu, wacha tuingize kiolesura cha mteja wa WPA
wpa_cli
Chagua kiolesura chako
kiolesura wlan0
Pakia tena faili
kusanidi upya
Na mwishowe unaweza kuona ikiwa umeunganishwa vizuri:
ip a
Sehemu ya 3: Kusasisha programu ya kusakinisha RPi +
Sasa kwa kuwa tumeunganishwa kwenye wavuti, kusasisha vifurushi vilivyowekwa tayari itakuwa hoja nzuri, kwa hivyo wacha tufanye hivyo kwanza kabla ya kusanikisha vifurushi vingine.
Sudo apt-pata sasisho
sasisho la kupata apt
Baada ya kusasisha RPi tutalazimika kusakinisha programu zifuatazo:
Hifadhidata ya MariaDB
Sudo apt-get kufunga mariadb-server
Mtandao wa Apache2
Sudo apt kufunga apache2
Chatu
sasisho-mbadala - kufunga / usr / bin / chatu chatu / usr / bin / python3.7 1 njia mbadala za kusasisha - kufunga / usr / bin / chatu chatu / usr / bin / python3 2
Kifurushi cha chatu
Itabidi usakinishe vifurushi hivi vyote ili kufanya backend ifanye kazi kikamilifu:
- Chupa
- Flask-Cors
- Flask-MySql
- Flask-SocketIO
- Maombi ya PyMySQL
- Python-socketio
- RPi. GPIO
- Gevent
- Gevent-websocket
Maktaba ya Spika
Kwa kutumia spika na kipaza sauti italazimika kusanikisha maktaba yake
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
Sasa kwa kuwa tumeweka kila kitu tunachohitaji, wacha tuweke Hifadhidata yetu tuliyoiunda kwenye Raspberry Pi yetu!
Kwa kuanzisha hifadhidata itabidi tuunganishe MySql na RPi. Kwa hiyo tutafungua MySQLWorkbench na tutaunganisha mpya. Unapoangalia picha itabidi ubadilishe kubadilisha maelezo kuwa yako.
Ikiwa haujabadilisha chochote bado unaweza kutumia kwa SSH pi na rasipberry, kwa MySQL mysql na mysql.
Wakati kitu kisicho wazi unaweza pia kufuata mafunzo haya:
Kusafirisha hifadhidata yako inapaswa kuwa rahisi kutumia PHPmyAdmin kwa sababu unaweza kupata makosa mengi kuifanya na MySql
Hatua ya 6: Kusanidi Bluetooth kwenye RPi yetu
Tunaunda spika ya Mood, ambayo tunaweza pia kutumia na muziki wetu wenyewe kwa hivyo hii ni rahisi wakati RPi iko
Iliyopatikana kwa Bluetooth nilifuata mafunzo ambayo unaweza kupata hapa:
scribles.net/streaming-bluetooth-audio-fr_
Niliandika kila kitu hapa chini kwa kila mtu ambaye anataka kuibadilisha
Kuondoa bluu zinazoendelea tayari
sudo rm / var / kukimbia / bluealsa / *
Ongeza wasifu wa A2DP Jukumu la kuzama
Sudo bluealsa -p a2dp-kuzama &
Fungua kiolesura cha Bluetooth na uwashe Bluetooth yako
umeme wa bluetoothctl umewashwa
Sanidi wakala wa kuoanisha
wakala kwenye wakala-msingi
Fanya RPi yako igundulike
kugunduliwa tarehe
- Sasa kutoka kwa kifaa chako cha bluetooth, tafuta RPi na uunganishe nayo.
- Thibitisha kuoanisha kwenye vifaa vyote viwili, andika 'ndio' kwenye putty yako.
- Idhinisha huduma ya A2DP, andika 'ndio' tena.
- Mara tu hii itakapofanyika, tunaweza kuamini kifaa chetu, kwa hivyo sio lazima kupitia hii kila wakati tunataka kuungana
uaminifu XX: XX: XX: XX: XX: XX (Anwani yako ya Bluetooth ya mac kutoka kwa chanzo chetu)
Ikiwa unataka RPi yako iendelee kugundulika, hiyo ni chaguo lako mwenyewe, lakini napendelea kuizima tena, ili watu wasiweze kujaribu kuungana na sanduku lako
kutambuliwa mbali
Basi tunaweza kutoka interface yetu ya bluetooth
Utgång
Na mwishowe njia yetu ya sauti: chanzo chetu cha usambazaji kwa RPi yetu
bluealsa-aplay 00: 00: 00: 00: 00: 00
Sasa kifaa chetu kimeunganishwa na Raspberry yetu na bluetooth na unapaswa kuijaribu kwa kucheza media yoyote kwa mfano Spotify, nk.
Hatua ya 7: Kuandika Kumbukumbu Kamili
Kwa hivyo sasa usanidi umefanywa, mwishowe tunaweza kuanza kuandika programu yetu ya backend!
Nilitumia Nambari ya Studio ya Visual kwa backend yangu yote, unahitaji tu kuhakikisha kuwa mradi wako wa Studio ya Visual umeunganishwa na Raspberry Pi yako, hii inamaanisha kuwa cable yako ya LAN inapaswa kushikamana na RPi yako na kufanya unganisho la SSH. (habari juu ya jinsi ya kuunda unganisho la mbali inaweza kupatikana hapa:
Nilitumia darasa langu mwenyewe na hizi zote pia zimejumuishwa katika GitHub yangu.
Katika faili yangu ya nyuma nilitumia darasa tofauti, kwa hivyo kila kitu kinaweza kutumiwa kando na ili nambari yangu kuu isiwe fujo na nyuzi zote tofauti. Nilikuwa nikitengeneza nyuzi kuendesha darasa zote tofauti mara moja. Na chini ulipata njia zote ili tuweze kupata data kwa urahisi mbele yetu.
Hatua ya 8: Kuandika Frontend (HTML, CSS & JavaScript)
Sasa kwa kuwa backend imefanywa, tunaweza kuanza kuandika mwisho kamili wa mbele.
HTML na CSS zilikuwa ngumu sana kwangu nilijitahidi kuifanya iwe ya rununu kwanza kwa sababu ninaweza kuiunganisha na bluetooth kubadilisha nyimbo na Spotify. Kwa hivyo itakuwa rahisi kudhibiti kutoka kwa dashibodi ya rununu
Unaweza kubuni dashibodi yako kwa njia yoyote unayotaka, nitaacha tu nambari yangu na muundo hapa, unaweza kufanya chochote unachopenda!
Na Javascript haikuwa rahisi kwangu, ilifanya kazi na GET chache kutoka kwa njia zangu za kurudi nyuma, tani za wasikilizaji wa hafla na miundo kadhaa ya socketio kupata data kutoka kwa sensorer zangu.
Hatua ya 9: Kuunda Kesi yangu na Kuiweka Pamoja
Kwanza nilianza kuchora jinsi nilitaka kesi hiyo ionekane, jambo muhimu ni kwamba ilibidi iwe kubwa kwa kutosha kila kitu kutoshea, kwani tulipata mzunguko mkubwa wa kuweka kesi lakini tulilazimika kukaa sawa ili isiweze ' kuchukua nafasi nyingi
Nilitengeneza kesi hiyo kwa kuni, nadhani ni rahisi kufanya kazi nayo wakati hauna uzoefu mwingi na kesi za ujenzi na pia una mambo mengi unayoweza kufanya nayo.
Nilianza kutoka kwa ubao wa zamani ambao nilikuwa nimeweka karibu na kuanza tu kuni. Mara tu nilipokuwa na kesi yangu ya kimsingi, ilibidi tu nichimbe mashimo ndani yake (mengi mbele ya kesi, kama unavyoweza kuona kwenye picha na kuweka misumari ndani yake, ni kesi ya msingi sana, lakini inaonekana nzuri sana na inafaa kabisa. Niliamua pia kuipaka rangi nyeupe ili ionekane nzuri.
Na mara tu kesi hiyo ilipomalizika, ilikuwa wakati wa kuiweka pamoja, kama unaweza kuona kwenye picha ya mwisho! Ni kama fujo ndani ya sanduku, lakini kila kitu kinafanya kazi na sikuwa na nafasi zaidi, kwa hivyo ninakushauri labda utengeneze kesi kubwa ikiwa unarudia mradi wangu.
Ilipendekeza:
Sio-Smart-Lakini-Mzuri-Mzuri-Lakini-Kidogo-Kutisha Mirror: Hatua 5 (na Picha)
Sio-Smart-Lakini-Sana-Mzuri-Bado-Kidogo-Kiwewe Mirror: Unahitaji kioo lakini hauko tayari kuongeza kitu kingine kizuri nyumbani kwako? Basi hii Mirror Sio-Smart-Lakini-Mzuri-Bado-Kidogo-ya Kutetemeka ni sawa kwako
ESP32 Kulingana na M5Stack M5stick C Hali ya hewa Monitor na DHT11 - Fuatilia Unyevu wa Joto na Kiashiria cha Joto kwenye M5stick-C Pamoja na DHT11: 6 Hatua
ESP32 Kulingana na M5Stack M5stick C Hali ya hewa Monitor na DHT11 | Fuatilia Unyevu wa Joto na Kiashiria cha Joto kwenye M5stick-C Pamoja na DHT11: Halo jamani, katika mafundisho haya tutajifunza jinsi ya kusanikisha sensa ya joto ya DHT11 na m5stick-C (bodi ya maendeleo na m5stack) na kuionyesha kwenye onyesho la m5stick-C. Kwa hivyo katika mafunzo haya tutasoma joto, unyevu & joto i
Sanduku / Kawaida isiyo ya kawaida (kawaida, rahisi, ya kawaida, ya bei rahisi): hatua 7
Sanduku / Kawaida isiyo ya kawaida (haraka, rahisi, ya kawaida, ya bei rahisi): Kusudi la Maagizo haya ni kukuonyesha jinsi ya kutengeneza sanduku / funguo la bei rahisi, la kawaida. Nitawaonyesha, jinsi ya kuifanya bila mipaka zana na bajeti.Hii ndio Mafundisho yangu ya kwanza (pia Kiingereza sio lugha yangu ya kwanza), kwa hivyo tafadhali kuwa
Mzunguko Mzuri Mzuri ulioonekana Kutoka kwa Dinosaur: Hatua 9 (na Picha)
Mviringo mzuri kamili kutoka kwa Dinosaur: Sijawahi kuwa na nafasi ya duka ya kujitolea. Pia, miradi yangu ni nadra kwa kiwango kikubwa sana. Ndio sababu ninapenda vitu vidogo na vidogo: hazichukui nafasi nyingi na zinaweza kutengwa wakati hazitumiwi. Vivyo hivyo kwa zana zangu. Nimetaka circul
Joto -Joto La Kudhibitiwa la Joto La joto: Hatua 6
Joto -Joto La Kutabasamu La Kudhibiti Joto: ******************************************* ************************************************** +