Obsah:
- Krok 1: Zapojte obvod
- Krok 2: Príprava webových aplikácií
- Krok 3: Naprogramujte dosku NodeMCU
- Krok 4: Užite si svoje zariadenie
Video: Oznámenia udalostí v reálnom čase pomocou NodeMCU (Arduino), Google Firebase a Laravel: 4 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Už ste niekedy chceli byť upozornení, keď sa na vašom webe uskutoční akcia, ale e -mail nie je vhodný? Chcete pri každom predaji počuť zvuk alebo zvonček? Alebo je potrebná vaša okamžitá pozornosť z dôvodu núdzovej situácie doma?
Toto zariadenie vás môže v reálnom čase upozorniť na čokoľvek, čo sa vám páči.
Krok 1: Zapojte obvod
Zariadenie, ktoré som zostrojil, sa skladá z dosky NodeMCU s bzučiakom, ktorý ma upozorňuje na predaj uskutočnený na webovej stránke. Mikrokontrolér je naprogramovaný pomocou softvéru Arduino a spúšťacou časťou môže byť akákoľvek webová, iOS alebo Android aplikácia. Vytvoril som napríklad dve jednoduché webové aplikácie, jednu v Laraveli a druhú v obyčajnom HTML a JavaScript.
Pretože doska NodeMCU môže bezpečne pracovať až do približne 12mA prúdu na kolíkoch, bzučiak je pripojený prostredníctvom tranzistora NPN. Použil som 2N2222, pretože ich mám veľa položených, ale som si istý, že princíp bude rovnaký ako pri každom inom NPN tranzistore.
Na zapojenie obvodu zapojte kolektor tranzistora na pin Vin na doske. Bzučiak pracuje pri 5 V, a pretože budeme zariadenie napájať z USB, tento kolík nám poskytne napätie pred regulátorom 3,3 V na doske.
Potom pripojte kladnú stranu bzučiaka na vysielače tranzistora a záporný kolík bzučiaka na akýkoľvek uzemňovací kolík na doske. Použil som pin 2, ale môžete ho pripojiť aj na piny 9, 25 alebo 29.
Základňa tranzistora je pripojená k pinu D2, ktorý koreluje s GPIO 4 v softvéri Arduino. S týmto nastavením bude tranzistor efektívne fungovať ako spínač zapínajúci bzučiak pri každej udalosti. Namiesto bzučiaka môžete rovnakým spôsobom pripojiť relé, aby ste mohli poháňať akékoľvek sieťové spotrebiče, ako sú žiarovky, stroje alebo siréna, ak vyrábate poplašné zariadenie.
Krok 2: Príprava webových aplikácií
Na spustenie zariadenia a jeho časť v reálnom čase použijeme databázu Firebase Realtime Database od spoločnosti Google. Je to nádherná cloudová databáza NoSQL od spoločnosti Google, ktorá poskytuje synchronizáciu údajov v reálnom čase medzi každou z platforiem, ktoré používa.
Najprv vytvorte projekt s menom podľa vášho výberu. Po vytvorení vytvorte jeden uzol s názvom „počet“a inicializujte ho s hodnotou, ak je 0. Toto bude náš počiatočný počet, ktorý chceme v budúcnosti sledovať.
Aplikácia Laravel používa balík „firebase-php“od spoločnosti Kreait a je prepojený nižšie. Nainštalujte balík spustením príkazu „composer require kreait/firebase-php“. Akonáhle je inštalácia dokončená, musíme vytvoriť ovládač, kde sa akcia stane. Metódu som pomenoval „aktualizovať“a pripojil som ju k trasám pri akcii POST.
Na načítanie inštancie Firebase potrebujete súbor json, ktorý si musíte stiahnuť z konzoly Firebase. Tento súbor umiestnite do koreňa projektu Laravel a pomenujte ho firebase.json. Pri načítaní inštancie firebase musíme poskytnúť cestu k tomuto súboru pomocou metódy withCredentials.
Potom, čo získame inštanciu firebase, musíme získať odkaz na databázu a na uzol, ktorý sme vytvorili predtým. Pri každej akcii získame aktuálnu hodnotu uzla, zvýšime ju o jednu a uložíme, ak sa vrátime do databázy. Vďaka tomu budeme mať prehľad o našich udalostiach, o ktorých vás musíme informovať.
To isté je možné dosiahnuť pomocou obyčajného HTML a JavaScript pomocou poskytnutej knižnice firebase. S ním musíme najskôr poskytnúť konfiguračnému poľu príslušné nastavenia z konzoly Firebase a inicializovať aplikáciu. Po inicializácii získame referenciu na uzol, do ktorého ukladáme počty udalostí, a pripojíme poslucháča, aby získal akúkoľvek zmenu hodnoty.
Okrem toho, namiesto odoslania formulára ako v príklade Laravel, teraz máme funkciu JavaScript, ktorá sa volá po kliknutí na tlačidlo, aktualizuje počet a zapíše aktualizovanú hodnotu späť do databázy.
Krok 3: Naprogramujte dosku NodeMCU
Na programovanie NodeMCU som použil softvér Arduino a potom, čo som naň nainštaloval dosku, som si vybral správnu verziu a port, aby som mohol nahrať softvér. Moja je verzia 1.0, takže sa pred pokračovaním dvakrát poraďte so svojou doskou.
Prvá časť kódu Arduino nastavuje všetky potrebné definície, ktoré budete musieť vo svojom zariadení upraviť. Prvým takýmto nastavením je ssid WiFi a jeho heslo, potom musíme nastaviť adresu URL firebase a tajomstvo db firebase. Bohužiaľ to nie je odporúčaný spôsob pripojenia k databáze, ale v súčasnosti je to jediný spôsob, akým to knižnica podporuje. Toto tajomstvo nájdete v ponuke Nastavenia projektu, Účty služieb v konzole Firebase.
Ďalšou definíciou je cesta, ktorou budeme kontrolovať aktualizácie a ID zariadenia. ID zariadenia je potrebné, takže v prípade, že máme viacero zariadení na upozornenie na rovnaké udalosti, musíme vedieť, ktoré zariadenie nás na udalosť upozornilo, a zaznamenať si o tom záznam. Posledný musíme nastaviť pin, na ktorý sme pripojili bzučiak, a to je v našom prípade D2.
Funkcia nastavenia definuje vstavaný LED kolík a piny D2 ako výstupy, spustí sériovú komunikáciu, aby vedel, čo sa deje, a pripojí sa k špecifikovanej sieti WiFi. Po nadviazaní spojenia začne komunikácia s Firebase a získa poslednú hodnotu, pre ktorú sme uviedli. Potom začne počúvať zmeny na zadanej ceste.
V hlavnej slučke prebieha volanie na funkciu blikania, ktorá bliká vstavanú LED diódu po dobu 500 milisekúnd, aby sme mohli rozpoznať, že je zariadenie aktívne. Keď je zistená zmena a sú k dispozícii dostupné údaje, ktoré môžeme čítať pomocou dostupnej funkcie, načítava sa nová hodnota uzla, rozdiel sa vypočíta, pretože medzitým mohlo dôjsť k viacerým udalostiam a zakaždým zaznie zvukový signál. rozdielu.
Ak je napríklad rozdiel medzi poslednou nahlásenou hodnotou a novou hodnotou 4, zaznie 4 pípnutia, ktoré vás informujú o 4 nových nákupoch. Funkcia pípania používa vstavanú funkciu tónu na prehrávanie špecifikovanej frekvencie prostredníctvom bzučiaka počas nastaveného časového obdobia.
Po zaznení zvukových signálov sa aktualizuje nová hodnota pre uvedené zariadenie a streamovanie sa znova spustí. V súčasnej dobe je v knižnici arduino firebase otvorený problém, že streamovanie nepokračuje automaticky po manuálnom uložení hodnoty, takže ju musíme reštartovať.
Krok 4: Užite si svoje zariadenie
Celý kód, ktorý som použil, je k dispozícii na mojom účte GitHub prepojenom nižšie spolu s odkazom na schému projektu.
Zdrojový kód
Schematický
Kód je možné ľahko prijať tak, aby fungoval pre mnoho rôznych scenárov a udalostí, a som si istý, že si s ním užijete veľa zábavy.
Pre mňa to bola skutočne zábavná stavba a podarilo sa mi toho veľa naučiť a som za to skutočne šťastný. Dúfam, že vám to môže pomôcť s vašim projektom, ale ak sa ocitnete v akejkoľvek časti alebo ak potrebujete ďalšie objasnenie, dajte mi vedieť v komentároch a ja sa budem snažiť vám pomôcť.
Ak sa vám projekt páčil, prihláste sa na odber môjho kanála YouTube:
Ochutnajte kód
Odporúča:
Robot SCARA: učenie o Fowardovej a inverznej kinematike !!! (Plot Twist Naučte sa, ako vytvoriť rozhranie v reálnom čase v ARDUINO pomocou SPRACOVANIA !!!!): 5 krokov (s obrázkami)
Robot SCARA: učenie o Fowardovej a inverznej kinematike !!! (Plot Twist Naučte sa, ako vytvoriť rozhranie v reálnom čase v ARDUINO pomocou SPRACOVANIA !!!!): Robot SCARA je vo svete priemyslu veľmi obľúbeným strojom. Názov je skratkou pre kĺbové robotické rameno pre montážne príslušenstvo alebo pre selektívne vyhovujúce príslušenstvo. V zásade ide o robota s tromi stupňami voľnosti, ktorý je prvým dvoma displ
Výroba hodín pomocou M5stick C pomocou Arduino IDE - Hodiny RTC v reálnom čase s M5stack M5stick-C: 4 kroky
Výroba hodín pomocou M5stick C pomocou Arduino IDE | Hodiny RTC v reálnom čase s M5stack M5stick-C: Ahoj chlapci, v tomto návode sa naučíme, ako vyrobiť hodiny s vývojovou doskou m5stick-C m5stack pomocou Arduino IDE. Takže m5stick zobrazí dátum, čas a týždeň v mesiaci na displeji
Ako vytvoriť hodiny v reálnom čase pomocou displeja Arduino a TFT - Arduino Mega RTC s 3,5 palcovým TFT displejom: 4 kroky
Ako vytvoriť hodiny v reálnom čase pomocou Arduino a TFT displeja | Arduino Mega RTC s 3,5 palcovým TFT displejom: Navštívte môj kanál YouTube. Úvod:- V tomto príspevku urobím „Hodiny v reálnom čase“pomocou 3,5 palcového dotykového TFT LCD displeja, Arduino Mega Modul RTC 2560 a DS3231 …. Pred spustením … si pozrite video z môjho kanála YouTube..Poznámka:- Ak používate Arduin
Zoznam úloh v reálnom čase pomocou služby Google Firebase: 12 krokov
Zoznam úloh v reálnom čase pomocou služby Google Firebase: Dobrý deň! Všetci zoznamy úloh používame každý deň, či už online alebo offline. Offline zoznamy sú náchylné na stratu a virtuálne zoznamy môžu byť nesprávne umiestnené, omylom vymazané alebo dokonca zabudnuté. Preto sme sa rozhodli vytvoriť jeden na Google Firebase,
Oznámenia práčky pomocou MESH: 4 kroky (s obrázkami)
Oznámenia práčky pomocou siete MESH: Ojoj! Zabudol som na oblečenie v práčke … Vždy si zabúdate vyzdvihnúť svoje oblečenie po vypraní? Tento recept aktualizuje vašu práčku, aby ste mohli dostávať upozornenia prostredníctvom služby Gmail alebo IFTTT, akonáhle budú vaše šaty pripravené na obrázok