Tartalomjegyzék:
- Lépés: Csatlakoztassa az áramkört
- 2. lépés: Készítse elő a webes alkalmazásokat
- 3. lépés: Programozza be a NodeMCU kártyát
- 4. lépés: Élvezze a készüléket
Videó: Valós idejű eseményértesítések a NodeMCU (Arduino), a Google Firebase és a Laravel használatával: 4 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Szeretett volna valaha értesítést kapni, ha a webhelyén valamilyen művelet történt, de az e -mail nem megfelelő? Hangot vagy csengőt szeretne hallani minden alkalommal, amikor eladást végez? Vagy szükség van azonnali figyelmedre egy otthoni vészhelyzet miatt?
Ez az eszköz valós időben figyelmeztethet bármire, ami tetszik.
Lépés: Csatlakoztassa az áramkört
Az általam készített eszköz egy NodeMCU táblából és egy zümmögőből áll, hogy figyelmeztessen a webhelyen történt eladásokra. A mikrokontroller az Arduino szoftverrel programozható, és a kiváltó rész lehet bármilyen webes, iOS vagy Android alkalmazás. Létrehoztam két egyszerű webes alkalmazást, az egyiket a Laravelben, a másikat egyszerű HTML -ben és JavaScriptben.
Mivel a NodeMCU kártya biztonságosan működhet körülbelül 12 mA áramerősségig a csapokon, a zümmögő NPN tranzisztoron keresztül csatlakozik. A 2N2222 -t használtam, mert sok közülük van, de biztos vagyok benne, hogy az elv ugyanaz lesz minden más NPN tranzisztornál.
Az áramkör bekötéséhez csatlakoztassa a tranzisztor kollektorát a táblán lévő Vin csaphoz. A zümmögő 5V -ról működik, és mivel az eszközt USB -ről tápláljuk, ez a tű adja meg a feszültséget a táblán lévő 3,3 V -os szabályozó előtt.
Ezután csatlakoztassa a zümmögő pozitív oldalát a tranzisztor kibocsátójához, és a zümmögő negatív csapját a tábla bármely földelőcsapjához. A 2 -es tűt használtam, de a 9 -es, 25 -ös vagy 29 -es tűkhöz is csatlakoztathatja.
A tranzisztor bázisa a D2 tűhöz van csatlakoztatva, amely megfelel az Arduino szoftver GPIO 4 -nek. Ezzel a beállítással a tranzisztor hatékonyan kapcsolóként fog működni, amely minden eseménynél bekapcsolja a zümmögőt. A hangjelző helyett ugyanúgy csatlakoztathat egy relét, hogy bármilyen hálózati készüléket, például izzókat, gépeket vagy szirénát vezessen, ha valamilyen riasztóeszközt készít.
2. lépés: Készítse elő a webes alkalmazásokat
Az eszköz kiváltó és valós idejű részéhez a Google Firebase valós idejű adatbázisát fogjuk használni. Ez a Google által készített csodálatos NoSQL felhő adatbázis, amely valós idejű adatszinkronizálást biztosít az egyes használt platformok között.
Először hozza létre a projektet egy választott névvel. Miután létrehozta, hozzon létre egyetlen „count” nevű csomópontot, és indítsa el a 0 értékkel. Ez lesz a kezdési számunk, amelyet a jövőben követni szeretnénk.
A Laravel alkalmazás a Kreait „firebase-php” csomagját használja, és az alábbi linken található. Telepítse a csomagot a „composer need kreait/firebase-php” futtatásával. A telepítés befejezése után létre kell hoznunk a vezérlőt, ahol a művelet megtörténik. A módszert „frissítésnek” neveztem el, és egy POST művelet útvonalaihoz kapcsoltam.
A Firebase példány lekéréséhez szüksége van egy json fájlra, amelyet le kell töltenie a Firebase konzolról. Helyezze ezt a fájlt a Laravel projekt gyökerébe, és nevezze el firebase.json névvel. A firebase példány lekérésekor meg kell adnunk a fájl elérési útját a withCredentials módszerrel.
Miután megkaptuk a firebase példányt, meg kell szereznünk a hivatkozást az adatbázisra és a korábban létrehozott csomópontra. Minden műveletnél lekérjük a csomópont aktuális értékét, növeljük eggyel, és ha visszamenünk az adatbázisba, elmentjük. Ezzel nyomon követhetjük eseményeinket, amelyekről értesítenünk kell.
Ugyanez érhető el egyszerű HTML és JavaScript használatával is, a mellékelt firebase könyvtár használatával. Ezzel először el kell látnunk a konfigurációs tömböt a Firebase konzol megfelelő beállításaival, és inicializálnunk kell az alkalmazást. Az inicializálás után kapunk egy hivatkozást arra a csomópontra, ahol tároljuk az eseményszámokat, és csatolunk egy figyelőt az értékváltozások lekéréséhez.
Ezenkívül ahelyett, hogy elküldené az űrlapot, mint a Laravel példában, most van egy JavaScript függvényünk, amelyet a gombkattintásra hívnak meg, frissíti a számlálást, és visszaírja a frissített értéket az adatbázisba.
3. lépés: Programozza be a NodeMCU kártyát
A NodeMCU programozásához az Arduino szoftvert használtam, és miután telepítettem rá a táblát, biztos voltam benne, hogy kiválasztottam a megfelelő verziót és portot, hogy fel tudja tölteni a szoftvert. Az enyém 1.0 -ás verzió, ezért a folytatás előtt ellenőrizze a táblát.
Az Arduino kód első része beállítja az összes szükséges definíciót, amelyeket módosítania kell a készüléken. Az első ilyen beállítás a WiFi ssid -je és jelszava, majd be kell állítanunk a firebase url -t és a firebase db titkot. Sajnos nem ez az ajánlott módszer az adatbázishoz való csatlakozáshoz, de jelenleg a könyvtár támogatja ezt. Ezt a titkot a Firebase konzol Projektbeállítások, szolgáltatásfiókok menüjében találhatja meg.
A következő meghatározás az az útvonal, amelyen ellenőrizni fogjuk a frissítéseket és az eszköz azonosítóját. Az eszközazonosítóra szükség van, így abban az esetben, ha több eszközünkről értesítjük ugyanazokat az eseményeket, tudnunk kell, hogy melyik eszköz értesített minket az eseményről, és erről nyilvántartást kell vezetnünk. Utoljára be kell állítanunk azt a csapot, amelyhez a zümmögőt csatlakoztattuk, és ez a D2 a mi esetünkben.
A beállítási funkció határozza meg a beépített led tűt és a D2 érintkezőket kimenetként, indítsa el a soros kommunikációt, hogy tudja, mi történik, és csatlakozik a megadott WiFi hálózathoz. A kapcsolat létrejötte után elindítja a kommunikációt a Firebase -vel, és megkapja az utolsó értéket, amelyről jelentettünk. Ezután elkezdi figyelni a megadott elérési út változásait.
A fő hurokban egy hívás a villogás funkcióhoz, amely 500 milliszekundumig villog a beépített leden, hogy meg tudjuk állapítani, hogy az eszköz aktív. Ha változást észlel, és rendelkezésre állnak rendelkezésre álló adatok, amelyeket a rendelkezésre álló függvénnyel olvashatunk, akkor a csomópont új értéke olvasásra kerül, a különbség kiszámításra kerül, mivel időközben több esemény is történhetett, és minden alkalommal hangjelzés hallható a különbségről.
Például, ha a különbség az utoljára bejelentett érték és az új érték között 4, 4 hangjelzés hallható arról, hogy 4 új vásárlás történt. A sípoló funkció a beépített hangfunkció segítségével meghatározott frekvenciát játszik le a zümmeren keresztül egy meghatározott ideig.
A hangjelzések kiadása után az új érték frissül a megadott eszközre, és a streaming újraindul. Jelenleg egy nyitott probléma van az arduino firebase könyvtárában, amely szerint a streaming nem folytatódik automatikusan, miután manuálisan mentettünk egy értéket, ezért újra kell indítanunk.
4. lépés: Élvezze a készüléket
Az általam használt teljes kód elérhető az alábbi GitHub -fiókomban, valamint a projekt sematikájára mutató link.
Forráskód
Vázlatos
A kód könnyen alkalmazható sokféle forgatókönyvhöz és eseményhez, és biztos vagyok benne, hogy nagyon szórakoztató lesz vele játszani.
Számomra ez egy nagyon szórakoztató konstrukció volt, és nagyon sokat tanultam róla, és ezért nagyon boldog vagyok. Remélem, hogy segíthet a projektben, de ha úgy találja, hogy elakadt valamelyik részével, vagy további magyarázatra van szüksége, kérjük, ossza meg velünk megjegyzésekben, és mindent megteszek, hogy segítsek.
Ha tetszett a projekt, akkor iratkozz fel a YouTube csatornámra:
Kóstolja meg a kódot
Ajánlott:
Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: 4 lépés
Valós idejű Rubik-kocka bekötött szemű megoldó a Raspberry Pi és az OpenCV használatával: Ez a Rubik kockaeszköz 2. verziója, bekötött szemmel történő megoldásra. Az első verziót a javascript fejlesztette ki, láthatja a RubiksCubeBlindfolded1 projektet. Az előzőtől eltérően ez a verzió az OpenCV könyvtárat használja a színek és az
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: 5 lépés
Arduino alapú óra a DS1307 valós idejű óra (RTC) modul használatával és 0.96: Sziasztok, srácok, ebben az oktatóanyagban látni fogjuk, hogyan lehet működő órát készíteni egy DS1307 valós idejű óramodul segítségével. OLED kijelzők. Tehát kiolvassuk az időt a DS1307 óra modulból. És nyomtassa ki az OLED képernyőn
Óra készítése az M5stick C segítségével Arduino IDE - használatával RTC valós idejű óra az M5stack M5stick-C-vel: 4 lépés
Óra készítése az M5stick C segítségével Arduino IDE | használatával RTC valós idejű óra az M5stack M5stick-C-vel: Sziasztok srácok, ebben az utasításban megtanuljuk, hogyan készítsünk órát az m5stick m5stick fejlesztőpaneljével az Arduino IDE segítségével. Így az m5stick megjeleníti a dátumot, az időt és az amp; a hónap hete a kijelzőn
Valós idejű óra készítése Arduino és TFT kijelző használatával - Arduino Mega RTC 3,5 hüvelykes TFT kijelzővel: 4 lépés
Hogyan készítsünk valós idejű órát Arduino és TFT kijelző használatával | Arduino Mega RTC 3,5 hüvelykes TFT kijelzővel: Látogasson el a Youtube csatornámra. 2560 és DS3231 RTC modul… .Mielőtt elkezdené… ellenőrizze a videót a YouTube-csatornámról. Megjegyzés:- Ha Arduin-t használ
Valós idejű teendők a Google Firebase használatával: 12 lépés
Valós idejű teendők a Google Firebase használatával: Üdv! Mindannyian napi rendszerességgel használjuk a teendőlistákat, legyen az online vagy offline. Míg az offline listák hajlamosak eltévedni, és a virtuális listák rossz helyre kerülhetnek, véletlenül törölhetők vagy akár el is felejthetők. Ezért úgy döntöttünk, hogy készítünk egyet a Google Firebase -en