Orodha ya maudhui:

Arifa za Tukio la Wakati wa Kweli Kutumia NodeMCU (Arduino), Google Firebase na Laravel: Hatua 4 (na Picha)
Arifa za Tukio la Wakati wa Kweli Kutumia NodeMCU (Arduino), Google Firebase na Laravel: Hatua 4 (na Picha)

Video: Arifa za Tukio la Wakati wa Kweli Kutumia NodeMCU (Arduino), Google Firebase na Laravel: Hatua 4 (na Picha)

Video: Arifa za Tukio la Wakati wa Kweli Kutumia NodeMCU (Arduino), Google Firebase na Laravel: Hatua 4 (na Picha)
Video: Мастер-класс: Совершенствование домашней беспроводной сети – Эпизод 3 2024, Juni
Anonim
Image
Image
Arifa za Tukio la Wakati wa Kweli Kutumia NodeMCU (Arduino), Google Firebase na Laravel
Arifa za Tukio la Wakati wa Kweli Kutumia NodeMCU (Arduino), Google Firebase na Laravel

Je! Umewahi kutaka kuarifiwa wakati kuna hatua iliyofanywa kwenye wavuti yako lakini barua pepe sio sawa? Je! Unataka kusikia sauti au kengele kila wakati unauza? Au kuna haja ya umakini wako wa haraka kwa sababu ya dharura nyumbani?

Kifaa hiki kinaweza kukuonya wakati wa kweli juu ya chochote unachopenda.

Hatua ya 1: Funga nyaya kwenye nyaya

Waya juu ya Mzunguko
Waya juu ya Mzunguko
Waya juu ya Mzunguko
Waya juu ya Mzunguko

Kifaa nilicho jenga kina bodi ya NodeMCU na buzzer kunionya juu ya mauzo yaliyofanywa kwenye wavuti. Mdhibiti mdogo amepangwa kwa kutumia programu ya Arduino na sehemu ya kuchochea inaweza kuwa programu yoyote ya wavuti, iOS au Android. Nimeunda programu mbili rahisi za wavuti, moja katika Laravel na nyingine kwa HTML wazi na JavaScript kwa mfano.

Kwa kuwa bodi ya NodeMCU inaweza kufanya kazi salama hadi karibu 12mA ya sasa kwenye pini, buzzer imeunganishwa kupitia transistor ya NPN. Nimetumia 2N2222 kwa sababu ninao wengi wamelala lakini nina hakika kwamba kanuni hiyo itakuwa sawa na transistor nyingine yoyote ya NPN.

Ili kufunga waya, unganisha mtoza wa transistor kwenye pini ya Vin kwenye ubao. Buzzer inafanya kazi kwa 5V na kwa kuwa tunawezesha kifaa kutoka USB, pini hii itatupa voltage kabla ya mdhibiti wa 3.3V kwenye bodi.

Ifuatayo unganisha upande mzuri wa buzzer kwenye emitter ya transistor, na pini hasi ya buzzer kwa pini yoyote ya ardhi kwenye ubao. Nimetumia pin 2, lakini pia unaweza kuiunganisha kwenye pini 9, 25 au 29.

Msingi wa transistor umeunganishwa na pini D2 ambayo inaambatana na GPIO 4 kwenye programu ya Arduino. Pamoja na usanidi huu, transistor itafanya kazi vizuri kama swichi inayowasha buzzer kwenye kila hafla. Badala ya buzzer unaweza kuunganisha relay kwa njia ile ile kuweza kuendesha kifaa chochote cha umeme kama balbu za taa, mashine au siren ikiwa unatengeneza kifaa cha kengele.

Hatua ya 2: Andaa Programu za Wavuti

Andaa Programu za Wavuti
Andaa Programu za Wavuti
Andaa Programu za Wavuti
Andaa Programu za Wavuti
Andaa Programu za Wavuti
Andaa Programu za Wavuti

Kwa sehemu ya kuchochea na ya wakati halisi wa kifaa, tutatumia Hifadhidata ya Google ya Wakati wa Kweli wa Firebase. Hifadhidata ya wingu nzuri ya NoSQL iliyotengenezwa na Google ambayo hutoa maingiliano ya data ya wakati halisi kati ya kila jukwaa linalotumika.

Kwanza tengeneza mradi na jina la chaguo lako. Mara baada ya kuundwa, tengeneza node moja inayoitwa "hesabu" na uianzishe na thamani ikiwa 0. Hii itakuwa hesabu yetu ya kuanza ambayo tunataka kufuata baadaye.

Programu ya Laravel hutumia kifurushi cha "firebase-php" kutoka Kreait, na imeunganishwa kwa sauti. Sakinisha kifurushi kwa kuendesha "mtunzi anahitaji kreait / firebase-php". Mara baada ya ufungaji kukamilika, tunahitaji kuunda mtawala ambapo hatua itatokea. Niliita njia "sasisho" na nimeiunganisha kwenye njia kwenye hatua ya POST.

Ili kupata mfano wa Firebase unahitaji faili ya json ambayo unahitaji kupakua kutoka kwa kiweko chako cha Firebase. Weka faili hii kwenye mzizi wa mradi wako wa Laravel na uipe jina firebase.json. Wakati wa kurudisha mfano wa firebase, tunahitaji kutoa njia ya faili hii kutumia njia ya withCredentials.

Baada ya kupata mfano wa moto, tunahitaji kupata kumbukumbu ya hifadhidata na nodi ambayo tumeunda mapema. Kwenye kila kitendo, tutapata thamani ya sasa ya nodi, tuiongeze moja na tuhifadhi ikiwa tumerudi kwenye hifadhidata. Hii itafuatilia hafla zetu ambazo tunahitaji kujulisha.

Vile vile vinaweza kupatikana kwa HTML wazi na JavaScript, kwa kutumia maktaba iliyotolewa ya firebase. Nayo tunahitaji kwanza kutoa safu ya usanidi na mipangilio inayofaa kutoka kwa kiweko cha Firebase na kuanzisha programu. Baada ya kuanza, tunapata rejeleo kwa node ambapo tunahifadhi hesabu za hafla na kushikamana na msikilizaji kupata mabadiliko yoyote ya thamani.

Kwa kuongezea, badala ya kuwasilisha fomu kama ilivyo kwenye mfano wa Laravel, sasa tuna kazi ya JavaScript ambayo inaitwa kwenye bonyeza kitufe, inasasisha hesabu na inaandika thamani iliyosasishwa kurudi kwenye hifadhidata.

Hatua ya 3: Panga Bodi ya NodeMCU

Panga Bodi ya NodeMCU
Panga Bodi ya NodeMCU
Panga Bodi ya NodeMCU
Panga Bodi ya NodeMCU
Panga Bodi ya NodeMCU
Panga Bodi ya NodeMCU

Ili kupanga NodeMCU, nimetumia programu ya Arduino na baada ya kuiweka bodi hiyo nilihakikisha kuchagua toleo sahihi na bandari ili niweze kupakia programu hiyo. Yangu ni toleo la 1.0 hivyo angalia mara mbili na bodi yako kabla ya kuendelea.

Sehemu ya kwanza ya nambari ya Arduino, inaweka mafafanuzi yote muhimu ambayo utahitaji kurekebisha kwenye kifaa chako. Mpangilio kama huo wa kwanza ni ssid ya WiFi na nywila yake, basi tunahitaji kusanidi url ya firebase, na siri ya firebase db. Kwa bahati mbaya, hii sio njia iliyopendekezwa ya kuunganisha kwenye hifadhidata lakini kwa sasa ndiyo njia pekee ambayo maktaba inasaidia. Unaweza kupata siri hii chini ya Mipangilio ya Mradi, menyu ya akaunti za huduma kwenye kiwambo cha firebase.

Ufafanuzi unaofuata ni njia ambayo tutakagua sasisho na kitambulisho cha kifaa. Kitambulisho cha kifaa kinahitajika kwa hivyo ikiwa tuna vifaa vingi vya kujulisha juu ya hafla zile zile, tunahitaji kujua ni kifaa kipi kilituarifu kwa hafla hiyo na kuweka rekodi ya hiyo. Mwisho tunahitaji kusanidi pini ambayo tumeunganisha buzzer na hii ni D2 kwa upande wetu.

Kazi ya usanidi inafafanua kujengwa kwa pini iliyoongozwa na pini za D2 kama matokeo, anza mawasiliano ya serial kwa kujua kinachoendelea na inaunganisha kwenye mtandao maalum wa WiFi. Uunganisho ukishaanzishwa, huanza mawasiliano na Firebase na kupata thamani ya mwisho tuliyoiripoti. Halafu huanza kusikiliza mabadiliko kwenye njia maalum.

Katika kitanzi kuu, kuna wito kwa kazi ya kupepesa ambayo hupepesa iliyojengwa kwa kuongozwa kwa milisekunde 500 ili tuweze kusema kuwa kifaa kiko hai. Wakati mabadiliko yanapatikana na kuna data inayopatikana tunaweza kusoma na kazi inayopatikana, thamani mpya ya nodi inasomwa, tofauti huhesabiwa kwani kunaweza kuwa na hafla nyingi wakati huo huo na beep hutengenezwa kwa kila wakati ya tofauti.

Kwa mfano ikiwa tofauti kati ya thamani ya mwisho iliyoripotiwa na thamani mpya ni 4, 4 beeps zitatolewa kukujulisha kuwa manunuzi 4 mapya yalifanywa. Kazi ya beep hutumia kazi ya sauti iliyojengwa ili kucheza masafa maalum kupitia buzzer kwa muda uliowekwa.

Baada ya beeps kuzalishwa, thamani mpya inasasishwa kwa kifaa maalum na utiririshaji umewashwa tena. Hivi sasa kuna suala wazi kwenye maktaba ya arduino firebase ambayo utiririshaji hauendelei kiatomati baada ya kuhifadhi thamani kwa mikono kwa hivyo tunahitaji kuianza upya.

Hatua ya 4: Furahiya Kifaa chako

Furahiya Kifaa chako!
Furahiya Kifaa chako!

Nambari yote niliyotumia inapatikana kwenye akaunti yangu ya GitHub iliyounganishwa hapa chini pamoja na kiunga cha mradi wa mradi.

Nambari ya Chanzo

Mpangilio

Nambari inaweza kupitishwa kwa urahisi kufanya kazi kwa hali na hafla nyingi tofauti na nina hakika utakuwa na raha nyingi kucheza nayo.

Kwangu hii ilikuwa ujenzi wa kufurahisha sana na niliweza kujifunza mengi juu yake na kwa hiyo nina furaha sana. Natumai kuwa inaweza kukusaidia na mradi wako lakini ikiwa utajikuta umekwama na sehemu yake yoyote au unahitaji ufafanuzi zaidi, basi tafadhali nijulishe katika maoni na nitajitahidi kukusaidia.

Ikiwa ulipenda mradi basi tafadhali jiandikishe kwenye kituo changu cha YouTube:

Onja Msimbo

Ilipendekeza: