Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Hatua ya 1: Kuweka RPi OS, Kusanidi SSH na Upataji wa Mtandao
- Hatua ya 2: Hatua ya 2: Kufunga Programu kwenye RPi
- Hatua ya 3: Hatua ya 3: Kuunganisha kwenye Hifadhidata ya MySQL, Kuunda Hifadhidata
- Hatua ya 4: Hatua ya 4: Filezilla
- Hatua ya 5: Hatua ya 5: Kuunda Wavuti
- Hatua ya 6: Hatua ya 6: Kuunda Backend (Flask)
- Hatua ya 7: Hatua ya 7: Vifaa
- Hatua ya 8: Hatua ya 8: Kanuni Imefafanuliwa
- Hatua ya 9: Hatua ya 9: Kuunda Kesi
- Hatua ya 10: Hatua za Mwisho
Video: ColourPicker: Hatua 10
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Lengo la mradi huu ni kupima rangi, na kuzitafsiri kwa mifumo mingine ya rangi. Kutumia tu maadili ya RGB yaliyotolewa na sensor, unaweza kutafsiri kwa HSL, CYMK, HEX na pia nambari ya RAL iliyo karibu (kiwango kinachotumika kwa rangi). Mradi huu unahitaji ujuzi wa kimsingi wa Python, MySQL, Linux na Javascript.
Ikiwa unajua pia mfumo wa Flask na SocketIO, basi nambari ya mradi huu inapaswa kuwa rahisi kuelewa kwako.
Mradi huu unaweza kutumiwa na wachoraji, wabuni wa mambo ya ndani au tu na mtu yeyote anayehitaji kupima rangi.
Mradi huu sio ghali sana, na hugharimu makadirio ya _ euro, usafirishaji haujumuishwa.
Vifaa
Tunaweza kugawanya sehemu hii katika sehemu mbili:
- Vifaa
- Programu
Vifaa
Tunatumia vifaa vifuatavyo
- HC04: sensa ya umbali, ni umbali gani tunapima kutoka kwa kitu
- Kuonyesha LCD 2x16
- Moduli ya LCD I2C (HW061)
- Moduli ya sensa ya rangi ya TCS34725 (Adafruit)
- LED nyeupe
- Raspberry Pi 3 (Pi yoyote ya Raspberry inapaswa kufanya kazi)
- 5x 1k Ohm kupinga
- 1x 220 au 330 Ohm kupinga
- Kadi ya SD 16GB (14.4GB)
Programu
- IDE ya chatu, kama Nambari ya kuona au Pycharm (Pycharm iliyotumika hapa)
- Workbench ya MySQL
- Putty (Pakua Putty)
- Rufo au mwandishi mwingine yeyote wa kadi ya SD (Pakua Rufus)
Bei
Mradi huu ni wa bei rahisi kabisa, ikiwa tayari unayo Rapsberry Pi.
- HC04: Kuanzia karibu euro 2.5 (China) na hadi € 6 kwa maduka zaidi ya hapa.
- LCD: Karibu euro 6-8.
- Moduli ya I2C: Kama bei rahisi chini ya € 1 (China), lakini hadi € 4 kwa maduka zaidi ya hapa.
- TCS34725: Karibu € 9-12 euro. Sehemu ghali zaidi (Ukiondoa RPi)
- Nyeupe iliongozwa: Imenunuliwa kwa wingi, 20 LEDS chini kama € 1
- Raspberry Pi: Kulingana na toleo gani, karibu euro 40
- Kizuizi: € 0.10 kwa kontena moja
- Kadi ya SD: karibu € 8
Adapta ya nguvu ya Raspberry Pi imetengwa kwa gharama ya bei, kwani adapta hii ni ya kawaida.
Kiwango cha bei kadhaa: karibu € 70, ikiwa umejumuisha Raspberry Pi na kesi ya mradi huo.
Ili kujenga kesi hiyo, nilitumia kuni nyembamba nyepesi. Nilisindika kuni hii kutoka kwa fanicha. Nyenzo za kesi hiyo ni juu yako.
Hatua ya 1: Hatua ya 1: Kuweka RPi OS, Kusanidi SSH na Upataji wa Mtandao
Hatua 1.1: Kusanikisha picha
Pakua picha kutoka kwa tovuti rasmi ya Raspberry Pi. Haijalishi ni picha gani unayoweka. Kwa mradi huu, GUI haihitajiki, kwani tutaunganisha tu kwa kutumia SSH.
Andika picha kwenye kadi ya SD (tupu) (Faili zote kwenye kadi zitafutwa).
Kuandika kila kitu kwenye kadi ya SD, tutatumia zana inayoitwa 'Rufus'. Baada ya kupakua picha, fungua Rufo na uchague faili ya picha. Chagua gari lengwa na andika picha kwenye gari. Hii inaweza kuchukua muda.
> Rufo
Hatua ya 1.2: Kuweka SSH
Hatua inayofuata ni kuunda unganisho kwa kadi ya SD. Ili kufanya hivyo, tunahitaji kuwezesha SSH.
Ili kufanya hivyo bila kutumia mfuatiliaji, fungua kichunguzi chako cha faili na ufungue kizigeu cha buti cha kadi ya SD. Unda faili tupu iitwayo "ssh", bila ugani wa faili.
Pia, fungua "cmdline.txt"
Ongeza "169.254.10.1" mwishoni mwa faili na uihifadhi.
Punguza kadi ya SD na uiingize kwenye Raspberry Pi.
Sasa tunaweza kuunganisha Raspberry Pi kwenye chanzo cha nguvu na kuanza na kuungana kwa kutumia SSH.
Ili kuunganisha kwa kutumia SSH, tunatumia programu "Putty". Unganisha RPi yako na PC kwa kutumia kebo ya ehternet kabla ya kufanya hivyo. Fungua Putty na uende kwenye kichupo cha SSH, na ujaze IP hii: 169.254.10.1. Bonyeza 'unganisha' na utaunganishwa.
> Putty
Kuingia kwa chaguo-msingi kutumiwa na Raspberry Pi ni 'pi' kama jina la mtumiaji na 'rasipiberi' kwa nenosiri.
Hatua ya 1.3: Uunganisho wa waya
Pi yako ya Raspberry sasa imewashwa.
Tunataka pia kuungana na RPi kwa kutumia Wifi, kwa hivyo hatuhitaji kebo ya ethernet tena.
Tekeleza mstari ufuatao:
'sudo nano /etc/wpa_supplicant/wpa_supplicant.conf'
Hii itafungua kihariri cha maandishi cha 'nano' na haki zilizoinuliwa.
Ongeza mistari ifuatayo kwenye faili:
mtandao = {
ssid = "SSID"
psk = "Nenosiri"
}
Badilisha "SSID" na SSID ya mtandao wako wa Wifi
Badilisha "Nywila" na nywila yako.
Kisha fanya Ctrl + X na uchague chaguo la 'ndio'. Faili sasa itahifadhiwa.
Sasa tunahitaji kuanzisha tena huduma ya mitandao
Tekeleza amri zifuatazo:
- 'sudo -i'
- 'Sudo systemctl kuanzisha tena mitandao'
Unaweza kujaribu unganisho lako la mtandao ukitumia amri ya wget.
Mfano: 'wget google.com'
> Wget amri
Hatua ya 2: Hatua ya 2: Kufunga Programu kwenye RPi
Kwa mradi huu tunahitaji kufunga maktaba kadhaa.
- Mariadb: Hifadhidata ya MySQL (Sudo apt-get install mariadb-server)
- Maktaba ya Adafruit ya sensa ya rangi: Kupima rangi (pip3 sakinisha adafruit-circuitpython-tcs34725)
- PHPmyAdmin: ('sudo apt phpmyadmin', chagua apache webserver)
Pia funga maktaba zifuatazo za bomba:
- flask_socketio
- chupa
- flask_cors
- bodi
- busio
- nyavu
Hatua ya 3: Hatua ya 3: Kuunganisha kwenye Hifadhidata ya MySQL, Kuunda Hifadhidata
Hatua inayofuata, ni kuungana na hifadhidata ya MySQL ukitumia benchi ya kazi ya MySQL.
> IP a
Tekeleza amri 'ip a', kama inavyoonyeshwa kwenye picha hapo juu (Bonyeza kiungo)
Katika hali nyingi, kutakuwa na maonyesho 3. Tunahitaji kuingia kwa 'wlan0'. Nakili IP karibu na 'inet', au kwa mfano huu '192.168.1.44'
. >> Unda muunganisho mpya
Kama inavyoonyeshwa kwenye picha hapo juu, tengeneza unganisho mpya na vigezo vifuatavyo (Picha hapa chini kwa vifungu)
Vigezo vya uunganisho
Bonyeza mara mbili kiunganishi kipya ili kuunganisha.
Ikiwa kuna onyesho la haraka, bonyeza 'Ndio'.
Hii bado ni hifadhidata tupu, kwa hivyo wacha tuongeze meza kadhaa.
Kwanza tengeneza schema, kufanya hivyo, upande wa kushoto 'bonyeza kulia' na uchague 'unda schema'.
Ipe jina schema na uthibitishe.
Sasa tunahitaji kuongeza meza. Panua schema na 'bonyeza-kulia', 'meza'.
Unda schema ifuatayo:
Jedwali 1: RALcolors
Jedwali 2: Aina za sensorer
Jedwali 3: Vipimo (Kwenye picha, 'metingen' hutumiwa, Uholanzi kwa vipimo)
Jedwali 4: Tovuti_data || Jedwali 4 chini
MySQL ni mfumo wa hifadhidata ya uhusiano, hiyo inamaanisha tunaweza kuunda uhusiano kati ya meza.
Uhusiano wa kwanza ambao tunapaswa kuunda ni kati ya 'sensor_type' na 'vipimo'.
Kama inavyoonyeshwa kwenye picha, unganisha funguo mbili.
> Hariri meza na funguo za kiungo
Usisahau kuhifadhi mabadiliko kwa kubofya 'Weka' kwenye kona ya chini.
Pia hariri meza ya "tovuti_data" na unganisha 'MetingID'.
Sasa tumemaliza na kuunda meza na kuunda uhusiano.
Inaongeza data:
Jedwali la RALcolors ni meza iliyowekwa, ambapo maadili hayatabadilika kamwe. Tunaweza kuongeza maadili haya
kwa urahisi sana.
> Pakua faili ya Excel
Pakua faili bora kuliko zote hapo juu na uchague data yote na 'nakili'. Fanya kama kwenye picha
> Onyesha meza
'bonyeza-kulia' kwenye meza na uchague 'Bandika safuwima'. 'bonyeza' 'kuomba' kwenye kona ya chini ili kuongeza data.
Sasa RALcolors zote zimehifadhiwa kwenye hifadhidata.
Tunahitaji tu kuongeza sensor_type kwenye hifadhidata sasa.
Data ya aina
Kumbuka: Maelezo ya sensa iko katika 'Kiholanzi'
Hatua ya 4: Hatua ya 4: Filezilla
Ili kuunganisha kwa urahisi kwenye Raspberry Pi na kuhamisha faili, tunaweza kutumia Filezilla.
> Pakua Filezilla
Faili katika maelezo ya unganisho na unganisha. Kwenye upande wa kulia sasa unaweza kuhamisha faili kwa kuziingiza.
Chanzo cha Github
Pakua faili kutoka kwa chanzo cha github hapo juu.
Hatua ya 5: Hatua ya 5: Kuunda Wavuti
Kwa mwenyeji wa wavuti, tunatumia PHPmyAdmin na Apache2.
Mtandao kwenye Raspberry Pi hutumia saraka ya '/ var / www / html' kama mizizi.
Ikiwa utaweka faili zako hapo, zitashikiliwa kwenye IP ya Raspberry Pi. (IP = tazama 'ip a')
Unaweza kupakua faili zinazohitajika kutoka kwa github repo yangu (hatua ya awali)
Katika '/ var / www / html /', weka faili zote kutoka kwa folda ya 'Frontend'.
> / var / www / html /
Hatua ya 6: Hatua ya 6: Kuunda Backend (Flask)
Backend ya wavuti inategemea Flask.
Faili zote zinaweza kupatikana kwenye repo ya github.
Nakili faili zote kwa saraka yoyote kwenye Raspberry Pi.
Kwa mfano '/ home / pi / colorpicker.
Ili kuunda saraka, nenda kwenye saraka ya marudio ukitumia 'cd', na kisha fanya 'mkdir'.
Hiyo ni yote kwa sasa. Nambari hiyo itaelezewa katika hatua zifuatazo.
Hatua ya 7: Hatua ya 7: Vifaa
> Pakua mpango
Unda mpango kama ilivyoonyeshwa kwenye hati hapo juu.
KUMBUKA: Pia ongeza LED moja nyeupe, na kontena moja (220 au 330 Ohms).
Kuelezea vifaa
HC04
Sensor ya HC04 hutoa mawimbi, ambayo huakisi na hupokelewa tena na sensa.
Kwa kuhesabu wakati wa delta kati ya kutoa na kupokea, tunaweza kuhesabu umbali.
Umbali = ((Timestamp_recieve - Timestamp_emit) / kasi ya sauti) / 2
Tunagawanyika kwa mbili kwa sababu wimbi linaonyesha, ikimaanisha linasafiri umbali mara mbili.
LCD
Tunatumia onyesho la LCD kuonyesha RGB na HEX, kama wel IP wakati mpango unapoanza.
Kwa LCD hii, nilinunua moduli ya I2C. Tunahitaji tu waya 4 sasa. SDA, SCL, GND, VCC
Kutumia LCD hii, niliandika darasa la chatu, ili iwe rahisi kutumia.
TCS34725
Sensor hii hukuruhusu kupima rangi. Tunatumia maktaba kupima thamani ya RGB.
Hatua ya 8: Hatua ya 8: Kanuni Imefafanuliwa
Mbele
Mbele iko nje ya sehemu kuu tatu.
Kwanza ni faili za html, ambazo zinaunda muundo wa wavuti yetu, lakini hazina mpangilio mdogo.
Pili tuna faili za css, au faili za mtindo, ambayo mtindo na mpangilio wa wavuti yetu.
Hizi mbili ni rahisi kusoma na kuelewa, ndiyo sababu sitawaelezea.
Mwisho tuna Javascript, na maktaba mbili.
Maktaba mawili yaliyotumiwa ni SocketIO na URLSearchParams.
SocketIO hukuruhusu kutuma ujumbe kutoka nyuma kwenda mbele, na kinyume chake.
Ujumbe unaweza kutumwa kwa mteja mmoja, lakini pia wateja wengi (Broadcast)
> Tundu IO Javascript
> Tundu IO Chatu
Katika picha zilizo hapo juu, unaweza kuona moja ya unganisho la Soketi lililotengenezwa katika mradi huu.
Amri ya kutuma ujumbe ni 'emit', kupokea kunafanywa na 'on'.
Utafutaji wa URLParms hukuruhusu kupata maadili kutoka kwa hoja kwa urahisi.
Mfano kuuliza: example.com/index.html?id=1
Utafutaji wa URL utakupa: {'id' = '1'}
> URL SearchParams Mfano
Nyuma
Backend imeandikwa kikamilifu katika Python, na kundi la maktaba.
Maktaba ya kwanza tunayoingiza ni 'Flask'. Maktaba hii inahitajika kuunda API, kufanya vitendo vyote vya CRUD kwa hifadhidata ya MySQL. CRUD inasimamia Fanya Sasisha Futa Sasisho.
> chupa
Picha hapo juu inaonyesha 'Njia' kadhaa za Flask. Kwa kutumia njia, moja kwa moja utafanya njia ya 'GET', nambari itatekelezwa na utapokea thamani kutoka kwa njia ya kurudi. Pia kuna njia zingine, kama 'POST' na 'DELETE'. Ili kujaribu njia kama hizo, utahitaji programu kama Postman.
Maktaba inayofuata ya kuagiza ni SocketIO, ambayo nilielezea tayari katika sehemu ya mwisho wa mbele.
Ifuatayo ni GPIO.
Hii hukuruhusu kudhibiti pini za GPIO za Rapsberry Pi.
Amri muhimu zaidi ni:
- GPIO.setmode (GPIO. BCM) Chagua usanidi wa pini.
- Pato la GPIO (, GPIO. LOW au GPIO. HIGH) Andika LOW au HIGH kwa pini.
- Seti ya GPIO (,) Fafanua PIN kama pembejeo au pato, au kushuka chini au kusukuma
Ifuatayo tuna uzi.
Amri pekee tunayotumia ni:
- Thread (lengo =)
- anza ()
Kutumia nyuzi, tunaweza kuendesha visa kadhaa vya nambari kwa wakati mmoja. Kwa njia hii tunaweza kupima umbali na wakati huo huo, sikiliza ujumbe unaokuja wa tundu.
Amri ya kwanza Thread (target =) itaunda darasa la Thread, ambalo litaanza kutumia 'start ()', itaendesha kazi hiyo katika neno kuu 'lengo', ambalo lilipewa juu ya uundaji wa darasa.
Ifuatayo tuna maktaba ya sensa ya rangi, ambayo iko sawa mbele. Sitaelezea maktaba hii, kwa sababu njia ziko wazi na zinaelezewa katika nambari.
Mwisho tuna nyavu. Hii inatuwezesha kupata anwani ya IP tunayotumia kwa muunganisho wa Wired na Wired.
Mwishowe nilifanya madarasa kadhaa kwa sensorer ya umbali, LED na LCD.
Sitaelezea jinsi kazi hizo.
Hatua ya 9: Hatua ya 9: Kuunda Kesi
Kwa mradi huu, niliunda kesi ya mbao.
Mbao ni nyepesi, nyembamba na haina gharama kubwa.
Kama vipimo nilivyotumia:
- Urefu: 5 cm
- Upana: 10.5cm
- Urefu: 12.5cm
Kwa sensorer, unahitaji kuongeza mashimo 2 na kuiweka karibu na kila mmoja.
Baada ya kuunda kesi, weka sensorer, LED na LCD.
Hatua ya 10: Hatua za Mwisho
Kila kitu kimsingi kinafanywa.
Sasa tunapaswa tu kuhakikisha kuwa nambari yetu ya simu inaanza, wakati tunapoingia kwenye chanzo chetu cha nguvu.
Kuna njia nyingi za kufanya hivyo.
> Mifano
Tutatumia njia ya kwanza:
Tekeleza mstari huu: 'sudo nano /etc/rc.local'
Ongeza amri yako ya kutumia nambari: 'sudo python3'
Hifadhi faili ukitumia Ctrl-X.
Ikiwa una shida kuhariri. Fanya tena hatua hii, lakini kwanza fanya 'sudo -i'.
Ilipendekeza:
Mfumo wa Tahadhari ya Kuegesha Magari ya Arduino - Hatua kwa Hatua: 4 Hatua
Mfumo wa Tahadhari ya Kuegesha Magari ya Arduino | Hatua kwa Hatua: Katika mradi huu, nitatengeneza Mzunguko rahisi wa Sura ya Maegesho ya Arduino kwa kutumia Arduino UNO na Sense ya Ultrasonic ya HC-SR04. Mfumo wa tahadhari ya Gari ya Arduino ya msingi inaweza kutumika kwa Urambazaji wa Kujitegemea, Kuanzia Robot na anuwai zingine
Hatua kwa hatua Ujenzi wa PC: Hatua 9
Hatua kwa hatua Jengo la PC: Ugavi: Vifaa: MotherboardCPU & Baridi ya CPU
Mizunguko mitatu ya kipaza sauti -- Mafunzo ya hatua kwa hatua: Hatua 3
Mizunguko mitatu ya kipaza sauti || Mafunzo ya hatua kwa hatua: Mzunguko wa kipaza sauti huimarisha ishara za sauti zinazopokelewa kutoka kwa mazingira kwenda kwenye MIC na kuipeleka kwa Spika kutoka mahali ambapo sauti ya sauti imetengenezwa. Hapa, nitakuonyesha njia tatu tofauti za kutengeneza Mzunguko wa Spika kwa kutumia:
Hatua kwa hatua Elimu katika Roboti na Kit: 6 Hatua
Hatua kwa hatua Elimu katika Roboti na Kit: Baada ya miezi kadhaa ya kujenga roboti yangu mwenyewe (tafadhali rejelea hizi zote), na baada ya sehemu mbili kushindwa, niliamua kurudi nyuma na kufikiria tena mkakati na mwelekeo.Uzoefu wa miezi kadhaa wakati mwingine ulikuwa wa kufurahisha sana, na
Ufuatiliaji wa Acoustic Na Arduino Uno Hatua kwa Hatua (hatua 8): Hatua 8
Ufuatiliaji wa Acoustic Na Arduino Uno Hatua kwa hatua (hatua-8): transducers za sauti za ultrasonic L298N Dc umeme wa umeme wa adapta na pini ya kiume ya dc Arduino UNOBreadboard Jinsi hii inavyofanya kazi: Kwanza, unapakia nambari kwa Arduino Uno (ni mdhibiti mdogo aliye na dijiti na bandari za analog kubadilisha msimbo (C ++)