Sisällysluettelo:
- Vaihe 1: Johdotkaa piiri
- Vaihe 2: Valmistele verkkosovellukset
- Vaihe 3: Ohjelmoi NodeMCU -kortti
- Vaihe 4: Nauti laitteestasi
Video: Reaaliaikaiset tapahtumailmoitukset NodeMCU: n (Arduino), Google Firebasen ja Laravelin avulla: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Oletko koskaan halunnut saada ilmoituksen, kun verkkosivustollasi tehdään toiminto, mutta sähköposti ei sovi oikein? Haluatko kuulla äänen tai kellon joka kerta, kun teet myynnin? Tai tarvitsetko välitöntä huomiota kotisi hätätilanteen vuoksi?
Tämä laite voi varoittaa sinua reaaliajassa mistä tahansa.
Vaihe 1: Johdotkaa piiri
Rakentamani laite koostuu NodeMCU -kortista, jossa on summeri, joka varoittaa minua verkkosivustolla tehdystä myynnistä. Mikro -ohjain on ohjelmoitu Arduino -ohjelmiston avulla ja laukaisuosa voi olla mikä tahansa verkko-, iOS- tai Android -sovellus. Olen luonut kaksi yksinkertaista verkkosovellusta, toinen Laravelissa ja toinen tavallisessa HTML- ja JavaScript -esimerkissä.
Koska NodeMCU -kortti voi toimia turvallisesti n. 12 mA: n virtaan asti, summeri on kytketty NPN -transistorin kautta. Olen käyttänyt 2N2222: tä, koska minulla on monia niistä, mutta olen varma, että periaate on sama kaikkien muiden NPN -transistorien kanssa.
Kytke piiri kytkemällä transistorin kerääjä levyn Vin -nastaan. Summeri toimii 5 V: n jännitteellä, ja koska saamme virran laitteesta USB: stä, tämä nasta antaa meille jännitteen ennen levyn 3.3 V: n säädintä.
Liitä seuraavaksi summerin positiivinen puoli transistorin emitteriin ja summerin negatiivinen tappi mihin tahansa levyn maadoitusnastaan. Olen käyttänyt nastaa 2, mutta voit liittää sen myös nastoihin 9, 25 tai 29.
Transistorin kanta on kytketty nastaan D2, joka korreloi Arduino -ohjelmiston GPIO 4: n kanssa. Tällä asetuksella transistori toimii tehokkaasti kytkimenä, joka kytkee summerin päälle jokaisessa tapahtumassa. Summerin sijasta voit kytkeä releen samalla tavalla, jotta voit käyttää mitä tahansa verkkovirtalaitetta, kuten hehkulamppuja, koneita tai sireenia, jos teet jonkin hälytyslaitteen.
Vaihe 2: Valmistele verkkosovellukset
Laitteen käynnistämiseen ja reaaliaikaiseen osaan käytämme Googlen reaaliaikaista Firebase -tietokantaa. Tämä on Googlen loistava upea NoSQL -pilvitietokanta, joka mahdollistaa reaaliaikaisen tietojen synkronoinnin jokaisen käytetyn alustan välillä.
Luo ensin projekti valitsemallasi nimellä. Kun olet luonut, luo yksittäinen solmu nimeltä "count" ja aloita sen arvo, jos 0. Tämä on aloituslukumme, jota haluamme seurata tulevaisuudessa.
Laravel-sovellus käyttää Kreaitin "firebase-php" -pakettia, ja se on linkitetty alla. Asenna paketti suorittamalla "composer need kreait/firebase-php". Kun asennus on valmis, meidän on luotava ohjain, jossa toiminto tapahtuu. Nimesin menetelmän "päivitykseksi" ja olen yhdistänyt sen POST -toiminnon reiteille.
Firebase -ilmentymän hakemiseksi tarvitset json -tiedoston, joka on ladattava Firebase -konsolistasi. Aseta tämä tiedosto Laravel -projektisi juurihakemistoon ja anna sille nimi firebase.json. Kun haemme firebase -ilmentymää, meidän on annettava polku tähän tiedostoon withCredentials -menetelmällä.
Kun olemme saaneet firebase -ilmentymän, meidän on saatava viittaus tietokantaan ja aiemmin luomaamme solmuun. Kullakin toiminnolla saamme solmun nykyisen arvon, lisäämme sitä yhdellä ja tallennamme, jos palaamme tietokantaan. Tämä seuraa tapahtumiamme, joista meidän on ilmoitettava.
Sama voidaan saavuttaa tavallisella HTML- ja JavaScript -koodilla käyttämällä mukana toimitettua firebase -kirjastoa. Sen avulla meidän on ensin annettava määritysjärjestykselle asianmukaiset asetukset Firebase -konsolista ja alustettava sovellus. Alustamisen jälkeen saamme viittauksen solmuun, johon tallennamme tapahtumamäärät, ja liitämme kuuntelijan noutamaan mahdolliset arvomuutokset.
Lisäksi sen sijaan, että lähetämme lomakkeen kuten Laravel -esimerkissä, meillä on nyt JavaScript -toiminto, jota kutsutaan painikkeen napsautuksella, päivittää laskennan ja kirjoittaa päivitetyn arvon takaisin tietokantaan.
Vaihe 3: Ohjelmoi NodeMCU -kortti
NodeMCU: n ohjelmointiin olen käyttänyt Arduino -ohjelmistoa ja asentanut levyn siihen varmistin, että valitsin oikean version ja portin, jotta voin ladata ohjelmiston. Minun versio on 1.0, joten tarkista korttisi ennen kuin jatkat.
Arduino -koodin ensimmäinen osa määrittää kaikki tarvittavat määritelmät, joita sinun on säädettävä laitteellasi. Ensimmäinen tällainen asetus on WiFi: n SSID ja sen salasana, sitten meidän on määritettävä firebase -URL -osoite ja firebase db -salaisuus. Valitettavasti tämä ei ole suositeltava tapa muodostaa yhteys tietokantaan, mutta toistaiseksi se on ainoa tapa, jolla kirjasto tukee sitä. Löydät tämän salaisuuden Firebase -konsolin Project Settings (Palvelutilit) -valikosta.
Seuraava määritelmä on polku, josta tarkistamme päivitykset ja laitteen tunnuksen. Laitetunnus tarvitaan, joten jos meillä on useita laitteita ilmoittamaan samoista tapahtumista, meidän on tiedettävä, mikä laite ilmoitti meille tapahtumasta, ja pidettävä siitä kirjaa. Viimeisenä meidän on asetettava tappi, johon olemme liittäneet summerin, ja tämä on tapauksessamme D2.
Asennustoiminto määrittää sisäänrakennetun led -nastan ja D2 -nastat ulostuloiksi, käynnistä sarjaliikenne, jotta tiedät mitä tapahtuu, ja muodostaa yhteyden määritettyyn WiFi -verkkoon. Kun yhteys on muodostettu, se aloittaa viestinnän Firebasen kanssa ja saa viimeisimmän ilmoittamamme arvon. Sitten se alkaa kuunnella muutoksia määritetyllä polulla.
Pääsilmukassa on kutsu vilkkua -toimintoon, joka vilkuttaa sisäänrakennettua lediä 500 millisekuntia, jotta voimme kertoa, että laite on aktiivinen. Kun muutos havaitaan ja käytettävissä olevaa dataa voidaan lukea käytettävissä olevalla funktiolla, solmun uutta arvoa luetaan, ero lasketaan, koska sillä välin on saattanut tapahtua useita tapahtumia, ja kuuluu äänimerkki joka kerta eroa.
Jos esimerkiksi viimeksi ilmoitetun arvon ja uuden arvon välinen ero on 4, kuuluu 4 äänimerkkiä, jotka kertovat, että 4 uutta ostosta on tehty. Äänimerkki käyttää sisäänrakennettua äänitoimintoa toistamaan tietyn taajuuden summerin läpi tietyn ajan.
Kun äänimerkit on annettu, uusi arvo päivitetään määritetylle laitteelle ja suoratoisto käynnistetään uudelleen. Tällä hetkellä arduino firebase -kirjastossa on avoin ongelma, että suoratoisto ei jatku automaattisesti sen jälkeen, kun olemme tallentaneet arvon manuaalisesti, joten meidän on käynnistettävä se uudelleen.
Vaihe 4: Nauti laitteestasi
Koko käyttämäni koodi on saatavilla alla linkitetyllä GitHub -tililläni sekä linkki projektin kaavioon.
Lähdekoodi
Kaavamainen
Koodi voidaan helposti omaksua toimimaan monissa eri tilanteissa ja tapahtumissa, ja olen varma, että sinulla on hauskaa pelata sen kanssa.
Minulle tämä oli todella hauska rakennus ja onnistuin oppimaan siitä paljon ja olen siitä todella onnellinen. Toivon, että se voi auttaa sinua projektissasi, mutta jos huomaat olevasi jossakin osassa sitä tai tarvitset lisäselvityksiä, kerro siitä minulle kommenteissa, niin autan sinua parhaani mukaan.
Jos pidit projektista, tilaa YouTube -kanavani:
Maista koodi
Suositeltava:
LoRa-pohjainen visuaalinen maatalouden seurantajärjestelmä Iot - Fronted -sovelluksen suunnittelu Firebasen ja Angularin avulla: 10 vaihetta
LoRa-pohjainen visuaalinen maatalouden seurantajärjestelmä Iot | Fronted -sovelluksen suunnittelu Firebase & Angularin avulla: Edellisessä luvussa puhuimme siitä, miten anturit toimivat loRa -moduulin kanssa palo -reaaliaikaisen tietokannan täyttämiseksi, ja näimme erittäin korkean tason kaavion, kuinka koko projektimme toimii. Tässä luvussa puhumme siitä, miten voimme
Koti -automaatio Google Firebasen avulla: 3 vaihetta
Koti -automaatio Google Firebasen avulla: Johdanto: Tämä on kodin automaatioprojekti, joka käyttää firebasea ja nodeMCU: ta. Ensimmäinen syy miksi olen valinnut Firebasen, on se, että sitä voidaan ylläpitää helposti, sillä siinä on edistymisraportti, kaatumisanalyysi jne. Ja se on täysin maksuton, jotta voimme
RPi IoT Smart Light Firebasen avulla: 4 vaihetta (kuvilla)
RPi IoT Smart Light Firebasen avulla: Tässä oppaassa kerrotaan, miten voit luoda ja määrittää sovelluksen Raspberry Pi: n hallintaan Firebasen (online -tietokanta) kautta. Ja sitten 3D -tulostuskotelo Pi Zero W: lle, Powerboost 1000C, akku ja Blinkt
Reaaliaikainen tehtävälista Google Firebasen avulla: 12 vaihetta
Reaaliaikainen tehtävälista Google Firebasen avulla: Hei! Me kaikki käytämme tehtävälistoja päivittäin, olipa kyseessä sitten online tai offline. Vaikka offline -luettelot ovat alttiita eksymiselle, ja virtuaaliluettelot voidaan sijoittaa väärään paikkaan, poistaa vahingossa tai jopa unohtaa. Joten päätimme tehdä sellaisen Google Firebasessa
NodeMCU ESP8266 1.0 12E: n ohjaus Google Firebasen avulla: 4 vaihetta
NodeMCU ESP8266 1.0 12E: n hallinta Google Firebasen avulla: Tällä kurssilla luomme Android-sovelluksen, luomme Firebase-tietokannan ja hallitsemme NodeMCU ESP 8266 1.0 12E -järjestelmää yhdessä aiemmin mainittujen tuotteiden kanssa