Sisukord:
- Samm: ühendage vooluring vooluvõrku
- Samm: valmistage ette veebirakendused
- Samm: programmeerige NodeMCU plaat
- Samm: nautige oma seadet
Video: Reaalajas toimuvad sündmuste märguanded NodeMCU (Arduino), Google Firebase'i ja Laraveli abil: 4 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
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
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
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
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
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:
Reaalajas Covid19 jälgija, kasutades ESP8266 ja OLED - Reaalajas Covid19 armatuurlaud: 4 sammu
Reaalajas Covid19 jälgija, kasutades ESP8266 ja OLED | Reaalajas Covid19 armatuurlaud: külastage Techtronic Harshi veebisaiti: http: //techtronicharsh.com Kõikjal, kus esineb tohutu uudse koroonaviiruse (COVID19) puhang. Vajalik oli jälgida praegust COVID-19 stsenaariumi maailmas. Niisiis oli see kodus olles
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
ESP01 Moodlight koos Firebase'iga reaalajas + OTA: 7 sammu
ESP01 Moodlight koos Firebase'iga reaalajas + OTA: toetab R-G-B režiimi ja tuhmumise efekti. Samuti toetatakse heleduse reguleerimist. OTA värskenduse tugi
Reaalajas ülesannete loend Google'i Firebase'i abil: 12 sammu
Reaalajas ülesannete loend Google Firebase'i abil: Tere! Me kõik kasutame igapäevaselt ülesannete loendeid, olgu need siis võrgus või väljaspool. Võrguühenduseta loendid võivad kaduda ja virtuaalsed loendid võivad valesti paigutada, kogemata kustutada või isegi ununeda. Nii otsustasime selle Google Firebase'is teha
Pesumasina märguanded MESH abil: 4 sammu (piltidega)
Pesumasina märguanded MESH -i abil: Vabandust! Ma unustasin pesumasinas olevad riided … Kas unustate alati oma riided pärast pesemist järele? See retsept uuendab teie pesumasinat, et saada teateid Gmaili või IFTTT kaudu, kui teie riided on pildistamiseks valmis