Sisukord:

Reaalajas toimuvad sündmuste märguanded NodeMCU (Arduino), Google Firebase'i ja Laraveli abil: 4 sammu (koos piltidega)
Reaalajas toimuvad sündmuste märguanded NodeMCU (Arduino), Google Firebase'i ja Laraveli abil: 4 sammu (koos piltidega)

Video: Reaalajas toimuvad sündmuste märguanded NodeMCU (Arduino), Google Firebase'i ja Laraveli abil: 4 sammu (koos piltidega)

Video: Reaalajas toimuvad sündmuste märguanded NodeMCU (Arduino), Google Firebase'i ja Laraveli abil: 4 sammu (koos piltidega)
Video: Встреча №2-24.04.2022 | Диалог и ориентация членов команды Е... 2024, November
Anonim
Image
Image
Reaalajas sündmuste märguanded, kasutades NodeMCU (Arduino), Google Firebase'i ja Laraveli
Reaalajas sündmuste märguanded, kasutades NodeMCU (Arduino), Google Firebase'i ja Laraveli

Kas olete kunagi tahtnud, et teid teavitataks, kui teie veebisaidil tehakse toiming, kuid e -post ei sobi? Kas soovite iga kord, kui müüte, kuulda heli või kella? Või on vaja teie kiiret tähelepanu kodus toimuva hädaolukorra tõttu?

See seade võib teid reaalajas hoiatada kõigest, mis teile meeldib.

Samm: ühendage vooluring vooluvõrku

Ühendage vooluahel kinni
Ühendage vooluahel kinni
Ühendage vooluahel kinni
Ühendage vooluahel kinni

Minu loodud seade koosneb NodeMCU plaadist koos helisignaaliga, mis hoiatab mind veebisaidil tehtud müügi eest. Mikrokontroller on programmeeritud Arduino tarkvara abil ja käivitav osa võib olla mis tahes veebi-, iOS- või Android -rakendus. Olen loonud kaks lihtsat veebirakendust, millest üks on Laravelis ja teine lihtsa HTML -i ja JavaScripti jaoks.

Kuna NodeMCU plaat saab ohutult töötada kuni umbes 12 mA vooluga tihvtidel, on sumin ühendatud NPN -transistori kaudu. Olen kasutanud 2N2222, kuna mul on neid palju, kuid olen kindel, et põhimõte on sama mis tahes muu NPN -transistori puhul.

Vooluahela ühendamiseks ühendage transistori kollektor plaadil oleva Vin -tihvtiga. Signaal töötab 5 V pingel ja kuna me hakkame seadet USB -lt toidama, annab see tihvt meile pinge enne tahvli 3,3 V regulaatorit.

Seejärel ühendage sumisti positiivne külg transistori emitteril ja sumisti negatiivne tihvt plaadi mis tahes maandusnõelaga. Olen kasutanud tihvti 2, kuid saate selle ühendada ka tihvtidega 9, 25 või 29.

Transistori alus on ühendatud tihvtiga D2, mis korreleerub Arduino tarkvara GPIO 4 -ga. Selle seadistuse korral toimib transistor tõhusalt lülitina, mis lülitab igal sündmusel sisse summeri. Signaali asemel saate ühendada relee samal viisil, et saaksite juhtida mis tahes võrguseadet, näiteks lambipirne, masinaid või sireeni, kui teete mõnda häireseadet.

Samm: valmistage ette veebirakendused

Valmistage ette veebirakendused
Valmistage ette veebirakendused
Valmistage ette veebirakendused
Valmistage ette veebirakendused
Valmistage ette veebirakendused
Valmistage ette veebirakendused

Seadme käivitamise ja reaalajas osa jaoks kasutame Google'i Firebase'i reaalajas andmebaasi. See on suurepärane Google'i loodud NoSQL -i pilveandmebaas, mis võimaldab reaalajas andmete sünkroonimist kõigi kasutatavate platvormide vahel.

Esmalt looge projekt oma valitud nimega. Kui olete loonud, looge üks sõlm nimega „count” ja käivitage see väärtusega 0. See on meie algusarv, mida soovime tulevikus järgida.

Laraveli rakendus kasutab Kreait paketti “firebase-php” ja see on lingitud allpool. Installige pakett, käivitades käsu „composer need kreait/firebase-php”. Kui installimine on tehtud, peame looma kontrolleri, kus toiming toimub. Nimetasin meetodi värskenduseks ja ühendasin selle POST -toimingu marsruutidega.

Firebase'i eksemplari toomiseks vajate json -faili, mille peate oma Firebase'i konsoolilt alla laadima. Asetage see fail oma Laraveli projekti juure ja pange sellele nimi firebase.json. Firebase'i eksemplari toomisel peame andma selle faili tee, kasutades meetodit withCredentials.

Pärast Firebase'i eksemplari saamist peame hankima viite andmebaasile ja sõlmele, mille oleme varem loonud. Iga toimingu korral saame sõlme praeguse väärtuse, suurendame seda ühe võrra ja salvestame, kui see on andmebaasi tagasi. See jälgib meie sündmusi, millest peame teatama.

Sama saab saavutada tavalise HTML -i ja JavaScriptiga, kasutades selleks kaasasolevat Firebase'i kogu. Sellega peame esmalt konfiguratsioonimassiivi varustama Firebase'i konsoolilt sobivate sätetega ja rakenduse initsialiseerima. Kui see on initsialiseeritud, saame viite sõlmele, kuhu salvestame sündmuste loendid, ja lisame kuulaja, et tuua välja kõik väärtuse muutused.

Lisaks sellele on meil Laraveli näites vormi esitamise asemel nüüd JavaScripti funktsioon, mida kutsutakse nupule klõpsates, uuendatakse loendust ja kirjutatakse värskendatud väärtus andmebaasi tagasi.

Samm: programmeerige NodeMCU plaat

Programmeerige NodeMCU juhatus
Programmeerige NodeMCU juhatus
Programmeerige NodeMCU juhatus
Programmeerige NodeMCU juhatus
Programmeerige NodeMCU juhatus
Programmeerige NodeMCU juhatus

NodeMCU programmeerimiseks olen kasutanud Arduino tarkvara ja pärast plaadi paigaldamist sellele valisin kindlasti õige versiooni ja pordi, et saaksin tarkvara üles laadida. Minu oma on versioon 1.0, seega kontrollige enne jätkamist oma pardal uuesti.

Arduino koodi esimene osa määrab kõik vajalikud määratlused, mida peate oma seadmes kohandama. Esimene selline seade on WiFi ssid ja selle parool, seejärel peame seadistama firebase'i URL -i ja firebase db saladuse. Kahjuks pole see soovitatav viis andmebaasiga ühenduse loomiseks, kuid praeguseks on see ainus viis, kuidas raamatukogu seda toetab. Selle saladuse leiate Firebase'i konsooli menüüst Projekti seaded, teenusekontod.

Järgmine määratlus on tee, mida kontrollime värskenduste ja seadme ID -ga. Seadme ID on vajalik, nii et kui meil on samadest sündmustest teatamiseks mitu seadet, peame teadma, milline seade meid sündmuse kohta teavitas, ja pidama selle kohta arvestust. Viimaseks peame seadistama tihvti, millega oleme sumisti ühendanud, ja see on meie puhul D2.

Seadistusfunktsioon määratleb väljundina sisseehitatud LED -tihvti ja D2 -kontaktid, käivitab toimuva teadmiseks jadaühenduse ja loob ühenduse määratud WiFi -võrguga. Kui ühendus on loodud, käivitab see ühenduse Firebase'iga ja saab viimase väärtuse, mille kohta me teatasime. Seejärel hakkab see kuulama määratud tee muudatusi.

Põhisilmus helistatakse vilkumisfunktsioonile, mis vilgutab sisseehitatud LED -i 500 millisekundit, et saaksime öelda, et seade on aktiivne. Kui tuvastatakse muutus ja saadaoleva funktsiooni abil saame lugeda andmeid, loetakse sõlme uut väärtust, arvutatakse vahe, kuna vahepeal võis olla mitu sündmust ja iga kord piiksub erinevusest.

Näiteks kui erinevus viimase teatatud väärtuse ja uue väärtuse vahel on 4, antakse 4 piiksu, mis annavad teile teada, et tehti 4 uut ostu. Piiksufunktsioon kasutab sisseehitatud toonifunktsiooni, et esitada teatud aja jooksul helisignaalil määratud sagedus.

Pärast piiksude esitamist värskendatakse määratud seadme jaoks uut väärtust ja voogesitus taaskäivitatakse uuesti. Praegu on arduino firebase'i raamatukogus lahtine probleem, et voogesitus ei jätku automaatselt pärast väärtuse käsitsi salvestamist, nii et peame selle taaskäivitama.

Samm: nautige oma seadet

Nautige oma seadet!
Nautige oma seadet!

Kogu kood, mida olen kasutanud, on saadaval minu allpool lingitud GitHubi kontol koos projekti skemaatilise lingiga.

Lähtekood

Skeem

Koodi saab hõlpsasti kasutusele võtta paljude erinevate stsenaariumide ja sündmuste jaoks ning olen kindel, et teil on sellega lõbus mängida.

Minu jaoks oli see tõeliselt lõbus ehitis ja mul õnnestus selle pealt päris palju õppida ning olen selle pärast tõesti õnnelik. Loodan, et see võib teid projektiga aidata, kuid kui leiate, et olete selle mõne osaga ummikus või vajate täiendavat selgitust, siis andke mulle sellest kommentaarides teada ja annan endast parima, et teid aidata.

Kui teile projekt meeldis, tellige palun minu YouTube'i kanal:

Maitse kood

Soovitan: