Orodha ya maudhui:
- Hatua ya 1: Vifaa
- Hatua ya 2: Mzunguko wa Umeme
- Hatua ya 3: Kuandika Sensorer
- Hatua ya 4: Kuandaa na Kuweka Sensorer
- Hatua ya 5: Kuandaa na Kuweka Moduli ya Matrix
- Hatua ya 6: Kuifanya IoT
- Hatua ya 7: Kuunganisha Raspberry Pi
- Hatua ya 8: Kuweka Hifadhidata
- Hatua ya 9: Kuunda Wavuti
- Hatua ya 10: Kuunganisha kwa Wavuti Ulimwenguni
- Hatua ya 11: Kumaliza
Video: Jedwali la Raspberry Pi IoT Foosball: Hatua 11
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Karibu kwenye toleo langu la meza ya mpira wa miguu iliyokatwakatwa, kama sehemu ya mradi wa wanafunzi wa Teknolojia Mpya ya Habari na Mawasiliano. Kimsingi nilikulia karibu na mpira wa miguu na meza za kuogelea kwa hivyo nilifikiri itakuwa nzuri kujaribu kuunganisha moja ya vifaa hivi kwenye wavuti.
Usanidi kuu unatumia meza ya mpira wa miguu iliyopo iliyounganishwa na Raspberry Pi ambayo inaweza kufanya kazi zote zifuatazo:
- Inatumia pini za GPIO kuendesha IR LED / Wapokeaji na moduli za matrix za nukta 8x8
- Inatumia wavuti ya Flask kutumia nginx
- Inatumia hifadhidata ya MySQL / MariaDB ya uhifadhi wa data
Ili kuweza kurudia mradi huu u itahitaji ustadi ufuatao:
Nyuma:
- Kuelewa HTML / CSS / Javascript kwa mteja wa wavuti
- Kuelewa chatu na Flask / Flask-SocketIO / Jinja2 kwa upande wa seva ya wavuti
- Ujuzi wa kimsingi wa MySQL
- Jua jinsi ya kuendesha webserver
Mfano
- Maarifa ya kimsingi juu ya jinsi ya kuweka waya wa umeme
- Kufundisha
- Uelewa wa kimsingi juu ya jinsi ya kuandika hati katika Python
- Kufanya kazi na Linux (Raspbian)
- Kuwa na uvumilivu mwingi kwa sababu kutakuwa na utatuzi mwingi unaohusika
Hatua ya 1: Vifaa
Hapa kuna orodha na sehemu zote muhimu kwa meza:
- Mfano wa Raspberry Pi 3 (na casing)
- T-Cobbler ya kuunganisha Pi kwenye ubao wa mkate
- Jedwali la mpira wa miguu (nilitumia meza ya zamani sana sawa na hii. Lazima uwe tayari kuchimba mashimo ndani yake)
- Moduli ya MAX7219 Arduino Dot Matrix (2)
- Emitters za LED IR (2+ kwa sababu zinavunja, sawa na hii)
- Wapokeaji wa IR (2+ kwa sababu pia huvunja, sawa na hii)
- Kibodi cha mkate kisicho na solderless
- Kura na waya nyingi (inategemea saizi ya meza ya mpira wa miguu)
- viunganisho vya kiume (30+)
- viungio vya kike (10+)
- Wapinzani wa 100-220 Ohm (4+)
- vifaa vya kutengeneza
- kamba za waya
- Wamiliki wa LED
- kuni / screws ikiwa unataka kupeleka mpira kwenye bomba
Gharama ya jumla ya mradi huu inategemea kabisa gharama ya meza yako ya mpira wa miguu (ghali). Licha ya meza vifaa vitakuwa zaidi ya euro 150.
Hatua ya 2: Mzunguko wa Umeme
Kabla ya kujaribu kutengenezea, unganisha vifaa vyote ninapendekeza ujaribu kwenye ubao wa mkate kwanza. Ni rahisi kuchukua nafasi ya vifaa vibaya kabla ya kutumia masaa kuziunganisha.
Mwanzoni nilijaribu kutekeleza 8x8 LED Matrix na rejista ya mabadiliko ya 74HC595 (picha ya kwanza) na safu ya transistor lakini kwa sababu ya waya nyingi na pato la chini sana nilibadilisha Moduli ya MAX7219 Dot Matrix kwa sababu inachukua waya 5 tu na inaendeshwa moja kwa moja na basi la SPI.
Mzunguko ambao mwishowe nilitumia umechorwa na Fritzing. Tafadhali kumbuka kuwa IRS na Vipokeaji vya IR vinaweza kushikamana na Pini yako yoyote ya bure ya GPIO.
Vipokezi vya IR na LED zinapaswa kuelekeana moja kwa moja na juu ya LED inapaswa kuelekezwa kwa mpokeaji. Kwa sababu tunataka kuiga boriti ya moja kwa moja ambayo inaweza kuvunjika na harakati za mpira katika hali ambayo kutakuwa na mabadiliko ya hali ya laini ya DATA ya mpokeaji kutoka 0 hadi 1.
Hatua ya 3: Kuandika Sensorer
Nimeandika zaidi ya mradi huu kwa kutumia Pycharm kwa sababu inaruhusu kupelekwa kwa SSH rahisi kwa Raspberry yako ya Pi ukitumia mkalimani wa mbali. Sitakwenda kwa undani jinsi mpango huu unavyofanya kazi lakini habari nyingi zinaweza kupatikana kwenye wavuti ya pycharm.
Bado ninafanya kazi kwenye mradi huo lakini mara tu kila kitu kitakapofanyika mradi wote utapatikana kwenye wasifu wangu wa github
Nambari ya sensorer ina darasa tatu ambazo zinaendeshwa kwa uzi wa nyuma kwenye seva yangu ya Flask (ambayo itaelezwa baadaye):
- Darasa la Lengo (kiungo) - Faili hii inaanzisha vifaa vyote tofauti, ambavyo vinaweza kuitwa kwa kuingiza kifaa sahihi cha SPI / basi na nambari ya siri.
- Darasa la Matrix (kiungo) -Hili ndilo darasa kuu la kuongeza moduli ya MAX7219
- Darasa la LED na Mpokeaji (kiungo) - Hili ndilo darasa kuu la kuimarisha boriti ya kuvunja infrared kwa kutumia Threads tofauti kupunguza mzigo wa CPU wa RPi
LED na mpokeaji hufanya kazi kwa masafa ya 38kHz na wapokeaji kila wakati wanatarajia 50% juu na mapigo ya chini ya 50% kufanya kazi vizuri.
Hatua ya 4: Kuandaa na Kuweka Sensorer
Sasa tutaandaa IR LED na mpokeaji. Katika picha ya meza unaweza kupata maeneo ambayo RPi na sensorer zinapaswa kuwekwa.
Lakini kwanza tunahitaji kuandaa wiring:
- Hakikisha upime kiwango cha waya kinachohitajika kutoka eneo la RPi / mkate na eneo la sensorer
- Solder pini za mpokeaji za IR hadi mwisho mmoja wa waya (COM / GND / V +)
- Solder vipande vya kiunganishi vya kiume upande wa pili wa waya
Sasa tutaandaa meza:
- Tengeneza kuchora ya msingi (kulingana na picha) juu ya wapi kuchimba. Ni muhimu sana kwamba mashimo 2 yamepangwa kwa kila mmoja kwa sababu hii itakuwa eneo la boriti.
- Piga mashimo
- Ikiwa una wadogowadogo wa LED (kiunga) unaweza kuweka hizi ndani ya shimo ili kuifanya iwe imara zaidi
- Ingiza + mkanda kipokeaji cha LED + pande zote mbili
- Kamba waya + uziweke juu ya kuni ili wasivuke sana
- Ingiza pini za kiume kwenye ubao wa mkate kulingana na mzunguko uliotolewa hapo awali
Hatua ya 5: Kuandaa na Kuweka Moduli ya Matrix
Ifuatayo tutaunganisha moduli 2 za tumbo za LED
Kumbuka:
Kwa sababu nilitumia meza ya zamani ya mpira wa miguu tayari kulikuwa na mashimo yanayokwenda kuelekea sehemu ya juu kwa sababu ya wamiliki wa sigara. Ikiwa huna hizi utahitaji kuziunda.
Kuandaa waya:
- Pima waya kutoka kwenye ubao wa mkate kuelekea sehemu ya juu ya meza
- Solder viungio vingine vya kike hadi mwisho wa kwanza wa waya
- Solder viungio vingine vya kiume hadi mwisho mwingine wa waya
Kuweka tumbo:
- Kuleta tumbo kupitia shimo juu
- Kamba + mkanda waya ndani juu ya kuni ili kuepuka kuvuka
- Ingiza pini za kiume kwenye ubao wa mkate kulingana na circui iliyotolewa hapo awali
Wakati fulani nitaongeza hatua ndogo ya DIY ili kuongeza kiboreshaji cha moduli ya tumbo, lakini kwa sasa wako uchi.
Hatua ya 6: Kuifanya IoT
Ikiwa unataka tu kujiandikisha na kuonyesha alama, unaweza kumaliza mradi huo kwa kuandika hati ndogo ya chatu inayoendesha hadi moja ya alama ifikie 9 na kisha ibadilishe.
Walakini ikiwa unataka kuunganisha meza yako kwenye wavuti hatua chache zifuatazo zinapaswa kulia kwenye barabara yako.
Katika hatua chache zifuatazo tutashughulikia yafuatayo:
- Kusanidi Raspberry Pi
- Kutengeneza hifadhidata ya kuhifadhi
- Kuunda wavuti
- Kuiweka mkondoni
Kwa wakati huu, ikiwa unaijua git, ninapendekeza uunda hazina kwenye GitHub / GitLab kufuatilia faili zako. Ikiwa hauko unaweza kuunda folda na muundo sawa na kwenye picha.
Mradi kamili utapatikana hivi karibuni kwenye GitHub. Walakini faili ya rar ya muda mfupi na faili zote muhimu inapatikana.
Hatua ya 7: Kuunganisha Raspberry Pi
Ifuatayo tutaanzisha mazingira ya rasiberi, ili kufanya hivyo unahitaji kutekeleza hatua zifuatazo:
- Unganisha SSH kwenye Rasberry Pi yako (unaweza kutumia PuTTY)
- Unda folda (mfano mkdir mradi) na songa kwenye folda hii ukitumia amri ya cd
- Unda mazingira halisi ya chatu kwenye folda hii ukitumia amri ya python3 -m venv --system-site-package env
- Amilisha mkalimani wa kawaida na chanzo / env / bin / amuru amri
- Sakinisha vifurushi kutoka kwa mahitaji.txt na python -m pip install command-name command
- Hamisha faili kutoka kwa faili iliyotolewa hapo awali ya project_example.rar juu ya SSH kwenye folda yako ya mradi
Sasa unapaswa kuweza kutekeleza mradi kamili kwenye Raspberry Pi yako. Ninakushauri utumie IDE ya Python kama PyCharm ambayo hukuruhusu kukutumia kutatua kutoka kwa mkalimani wako wa mbali juu ya SSH na upakie moja kwa moja mabadiliko ikiwa ni lazima.
Hatua ya 8: Kuweka Hifadhidata
Sasa unahitaji kuanzisha hifadhidata ya msingi sana, kulingana na mfano huu.
Njia rahisi zaidi ya kwenda na hii ni kuunda hifadhidata yako kwenye eneo la kazi la MySQL ambapo unaweza pia kufanya testinng.
Ukimaliza unaweza kusafirisha dampo la hifadhidata yako na kuipakia kwenye RPi yako na kisha uifanye na sudo mariadb <pathtofile / file.sql
Hatua ya 9: Kuunda Wavuti
Ifuatayo unaweza kuchambua (na kutumia) nambari iliyotolewa kwenye faili ya project_example.rar.
Faili kuu ni Flask.py ambayo ni mkate na siagi ya mradi huu:
- Inatumia programu ya Flask-SocketIO ambayo inashughulikia nyuma ya wavuti
- Inaunda uhusiano kati ya hifadhidata na Flask
- Hutoa uthibitisho wa kuingia na usajili wa mtumiaji
- Hutoa nambari inayofaa ya jinsi ya kucheza mchezo hutumia socketio kusasisha wakati halisi wa wavuti wakati wa mchezo
- Inaweka matokeo ya mchezo kwenye hifadhidata
Katika folda za tuli na templeti unaweza kupata HTML / CSS / JS ambayo hutoa sehemu ya mbele ya wavuti. Jisikie huru kurekebisha haya kulingana na matakwa yako mwenyewe.
Hatua ya 10: Kuunganisha kwa Wavuti Ulimwenguni
Kuunganisha wavuti yetu kwa wavuti tutatumia nginx na uwsgi. Katika mfano wa mradi unaweza kupata faili muhimu kwenye folda ya conf.
Kwanza kabisa unahitaji kusasisha zifuatazo katika faili hizi:
- Katika uwsgi-flask.ini unahitaji kubadilisha njia ya kielelezo cha wema hadi mkalimani wako
- Katika mradi1-flask.service unahitaji kusasisha sehemu ya [Huduma] ya faili na hati zako na njia za faili zinazohusiana
- Katika faili ya nginx unahitaji kusasisha seva na eneo / njia kwa tundu lako linalohusiana
Ifuatayo unahitaji kuchukua nafasi ya faili chaguo-msingi ya wavuti na eneo la faili yako ya usanidi wa nginx, hapa chini ni mfano wa amri za linux kufanya hivi
- mimi @ my-rpi: ~ / project1 $ sudo cp conf / nginx / nk / nginx / tovuti zinazopatikana / project1
- mimi @ my-rpi: ~ / project1 $ sudo rm / nk / nginx / tovuti-kuwezeshwa / defaul t
- mimi @ my-rpi: ~ / project1 $ sudo ln -s / nk / nginx / tovuti zinazopatikana / project1 / nk / nginx / tovuti-kuwezeshwa / project1
- me @ my-rpi: ~ / project1 $ sudo systemctl kuanzisha upya nginx.service
Mwishowe unahitaji kuongeza huduma za kawaida kwenye folda yako ya mfumo, huu ni mfano wa jinsi ya kuifanya:
- mimi @ my-rpi: ~ / project1 $ sudo cp conf / project1 - *. huduma / nk / systemd / mfumo /
- mimi @ my-rpi: ~ / project1 $ sudo systemctl daemon-reload
- mimi @ my-rpi: ~ / project1 $ sudo systemctl anza mradi1- *
- mimi @ my-rpi: ~ / project1 $ sudo systemctl hali ya mradi1- *
Ikiwa unataka webserver kuanza kwenye boot ya raspberry yako unahitaji kutumia mfumo wa sudo kuwezesha project1 - * amri ya huduma.
Ikiwa imefanywa kwa usahihi, baada ya mfumo kuwasha upya wavuti yako inapaswa kuwa ikiendesha kwenye anwani yako ya IP. Ikiwa unataka kuhariri mojawapo ya faili hizi za usanidi unahitaji kila wakati kusimamisha huduma, pakia tena faili na utumie amri ya kupakia tena daemon ikifuatiwa na mwanzo, vinginevyo mabadiliko hayatakuwa na ufanisi.
Hatua ya 11: Kumaliza
Wakati wa kuchapa sehemu ya mwisho ya hii inayoweza kufundishwa, mradi huu mdogo wa shule bado ni kazi inayoendelea.
Nimetumia masaa mengi kumaliza hii katika wiki 2.5. Ingawa kila kitu kilikimbizwa kidogo bado ninajivunia kile nilichofanikiwa. Wakati wa awamu ya mkutano nimekutana na mende / makosa / sensorer nyingi kasoro hivyo usivunjika moyo sana ikiwa kila kitu hakifanyi kazi kwenye jaribio la kwanza.
Jambo bora unaloweza kufanya ni kuuliza au kutafuta msaada kwenye wavuti, kuna watu wengi wenye maarifa bora zaidi ambao wana hamu kubwa ya kukusaidia.
Mwisho kabisa nataka kuwashukuru walimu wangu kutoka Teknolojia Mpya ya Habari na Mawasiliano kwa kunipa ushauri mwingi na kunisaidia kumaliza mradi huu.
Ilipendekeza:
Jedwali Lumineux: Hatua 5
Jedwali Lumineux: De l'idée à la création! Petit projet sympa et rapide à faire avec des enfants ou jeunes adultes.Ni passant du manuelle kwa la soudure, na de l'électronique katika programu
Jedwali la Kahawa ya LED ya Arduino inayoingiliana: Hatua 6 (na Picha)
Jedwali la kahawa la LED la Arduino: Nilitengeneza meza ya kahawa inayoingiliana ambayo inawasha taa zilizoongozwa chini ya kitu, wakati kitu kinapowekwa juu ya meza. Viongozi tu ambao wako chini ya kitu hicho ndio watawaka. Inafanya hivyo kwa kutumia vyema sensorer za ukaribu, na wakati ukaribu
Jinsi ya Kuunda na Kuingiza Jedwali na Kuongeza Nguzo za Ziada Na / au Safu kwa Jedwali Hilo katika Microsoft Office Word 2007: Hatua 11
Jinsi ya Kuunda na Kuingiza Jedwali na Kuongeza nguzo za Ziada Na / au Safu kwenye Jedwali Hilo katika Microsoft Office Word 2007: Je! Umewahi kuwa na data nyingi unazofanya kazi na kufikiria mwenyewe … " ninawezaje kutengeneza yote ya data hii inaonekana bora na iwe rahisi kueleweka? " Ikiwa ni hivyo, basi meza katika Microsoft Office Word 2007 inaweza kuwa jibu lako
Jedwali la Jedwali la Arduino: Hatua 5
Jedwali la Jedwali la Arduino: Hii ni kitanda cha meza ambacho kitahakikisha kuwa meza yako ni safi unapoondoka. Dawati langu huwa na fujo kila wakati, kwa hivyo nilifikiria njia ya kujilazimisha kuisafisha kabla ya kuondoka. Wakati naondoka, mimi huchukua simu yangu kila wakati, kwa hivyo kitanda cha meza hufanya kazi kama hii: Wh
WebFoos - Jedwali la Smart Foosball: Hatua 6
WebFoos - Jedwali la Smart Foosball: Kwa mradi wangu wa shule katika mwaka wangu wa kwanza huko Howest, niliamua kutengeneza meza nzuri ya mpira wa miguu. Jedwali husajili malengo na kuokoa mechi zilizochezwa, takwimu za mechi na takwimu za watumiaji / timu kwenye wavuti ya mkondoni