Tartalomjegyzék:
- 1. lépés:
- 2. lépés:
- 3. lépés:
- 4. lépés:
- 5. lépés:
- 6. lépés:
- 7. lépés:
- 8. lépés:
- 9. lépés:
- 10. lépés:
- 11. lépés:
- 12. lépés:
- 13. lépés:
- 14. lépés:
- 15. lépés:
- 16. lépés:
Videó: Értesítő e -mail fogadása, ha a ThingSpeak csatornáját egy ideig nem frissítették: 16 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Háttér történet
Hat automatizált üvegházam van Dublinban, Írországban. Egyedi mobilalkalmazás használatával távolról figyelemmel kísérhetem az egyes üvegházakban található automatizált funkciókat, és kölcsönhatásba léphetek velük. Kézzel kinyithatom / bezárom az ablakokat, ha a hőmérséklet túl magas / alacsony; Elindíthatom / leállíthatom az öntözést, ha a talaj nedvessége túl alacsony / magas; és elindíthatom / leállíthatom a ventilátort, ha a levegő páratartalma túl magas / alacsony. Vagy egyszerűen átkapcsolhatom a rendszert automatikus üzemmódba, és a zöldségekre az Arduino agy vigyáz. A projektről további részletek itt olvashatók -
A hat üvegházban lévő Arduino táblákhoz való távoli csatlakozás USB GPRS-kulcsok segítségével lehetséges, minden helyszínen egy-egy (az enyémet innen vásároltam) -E353s-2-Antennával-3G-USB-modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). A mobil adatkapcsolathoz hasonlóan (legalábbis Dublinban) ez véletlenszerűen leesik, néha néhány percre, néha pár órára. Ha a kapcsolat megszakad, az Arduino programozottan 10 percenként alaphelyzetbe állítja az USB -kulcsot, hogy megpróbáljon új kapcsolatot létesíteni. Néha azonban (még) ismeretlen okok miatt, még akkor is, ha a GPRS adatkapcsolat újra be van kapcsolva, az Arduino (és a hozzá tartozó Ethernet -pajzs) nem veszi észre az eseményt. Ez az a pillanat, amikor el kell mennem az adott helyre, és manuálisan vissza kell állítanom az egész rendszert.
Ha valamely helyen megszakad az adatkapcsolat, a lehető leghamarabb értesíteni akartam e -mailben, hogy figyelemmel kísérhessem az adott helyet. Mivel a telefonos alkalmazás és az Arduino közötti kommunikáció a https://thingspeak.com által biztosított online szolgáltatáson keresztül zajlik, a közelmúltig (és 2019. március 31 -ig) ez lehetséges volt a https:// által biztosított másik szolgáltatás használatával ifttt.com/discover, és állítson be ThingHTTP -t és React -ot minden csatornán, figyelve azt a tényt, hogy az adott csatorna nem frissült -e egy ideje. A Google-tól kapott, 2019. március 31-től kezdődő e-mail szerint azonban nem tartják be a frissített adatvédelmi követelményeiket (https://cloud.google.com/blog/products/g-suite/elevating-user -bizalom az api-ökoszisztémáinkban), a Google-fiókom egyes adataihoz való hozzáférés már nem lesz elérhető az IFTTT számára, és mivel esetemben az e-mail volt az egyetlen erőforrás, amelyhez az IFTTT hozzáférhetett, megértettem, hogy az értesítés a fent leírt szolgáltatás leáll.
Ezért tehát itt tartunk, és alternatív megoldást vezetünk be annak érdekében, hogy az e -mail értesítések továbbra is megérkezzenek, amikor az adatkapcsolat megszakad a helyemen. Ez továbbra is a ThingHTTP és a React funkciókat használja a csatornáimon, csak az IFTTT-re mutató linket irányították újra a Google Drive-ra. Tehát a hardveren kívül (esetemben az Arduino) lehet, hogy kommunikál a ThingSpeak -fiókjával, létre kell hoznia egy Google -fiókot, hogy ha még nincs … és kezdjük!
1. lépés:
A Google Drive -ban
Először a Google Drive -ban (https://drive.google.com) létre kell hoznunk egy táblázatot és egy egyszerű űrlapot. Nyissa meg Google Drive -ját, és kattintson az Új - Google Táblázatok - Üres táblázat elemre.
2. lépés:
Az enyémet átneveztem "Hely lent táblázat" -ra. Ezután lépjen az Eszközök - Űrlap létrehozása elemre.
3. lépés:
Átneveztem az űrlapot „Hely lefelé űrlap” -ra, és a „Cím nélküli kérdés” -et „Állapot” -ra változtattam, a típust pedig „Többválasztásos” -ról „Rövid válasz” -ra.
4. lépés:
Ezután eltávolítottam az e -mail címek gyűjtésének lehetőségét - kattintson a "Beállítások módosítása" gombra, és törölje az összes lehetőséget a megjelenő ablakban. Kattintson a "Mentés" gombra.
5. lépés:
Zárja be az űrlapot tároló jelenlegi böngészőlapot, és térjen vissza a Google Drive fő lapjára, ahol az űrlapot és a táblázatot is meg kell kapnia. Nyissa meg a táblázatot, és lépjen a "Fájl - Megosztás…" menüpontra. Az új ablakban kattintson a "Speciális" gombra
6. lépés:
Ezután kattintson a "Módosítás …" gombra a "Privát - csak Ön férhet hozzá" címke mellett
7. lépés:
és váltson a „Be - bárki, akinek van linkje” lehetőségre, és váltson a „Szerkeszthető” beállításra
8. lépés:
Kattintson a "Mentés" és a "Kész" gombra, hogy visszatérjen a táblázathoz. Ott tartózkodása alatt kattintson a "Fájl - Közzététel az interneten …" lehetőségre, majd kattintson a "Közzététel" és az "OK" gombra a párbeszédablakhoz. Zárja be a "Közzététel az interneten" ablakot.
Még a táblázatban kattintson az "Űrlap - Ugrás az élő űrlapra" gombra. Kattintson jobb gombbal az egérrel (Google Chrome böngészőt használok), és válassza az "Oldalforrás megtekintése" lehetőséget.
9. lépés:
A megnyíló új oldalon keressen rá az „űrlapművelet” kifejezésre, majd keresse meg a következő linket: https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXX/formResponse. Válassza ki ezt a linket, majd másolja és illessze be valamilyen szöveges dokumentumba. Ezt fogja használni a végső link létrehozásához, amelyet be kell írni a ThingHTTP for ThingSpeak szolgáltatásba.
10. lépés:
Térjen vissza az űrlap forrásnézetébe, és keressen rá a "bejegyzés" kifejezésre. Keresse meg és válassza ki a teljes szöveget, például "entry. XXXXX". Másolja és illessze be a fenti szövegdokumentumba. Most bezárhatja Google űrlapjának forrásnézetét.
11. lépés:
Az új szöveges dokumentumban (ahol most van a link és az előzőleg beillesztett bejegyzés), hozza létre a végső linket, amely így néz ki
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submitted = Submit
Esetemben a "HELY+NÉV" helyére minden egyes, ténylegesen felügyelni kívánt hely neve kerülne. Az e -mail értesítő e -mail, amelyet a kapcsolat megszakításakor kapok, ezt a szöveget fogja tartalmazni, hogy pontosan tudjam, melyik helyen vannak problémák. Ezt a szöveget valójában a Google űrlap "állapot" mezőjének rövid szöveges tartalmaként kell benyújtani. Az "& submitted = Submit" csendben elküldi az űrlapot, további műveletek nélkül, amikor a ThingHTTP és a React meghívja.
Végül hozzá kell adnunk egy olyan szkriptet, amely automatikusan küld e -mail értesítést minden alkalommal, amikor új bejegyzést adtak hozzá a táblázathoz. Nyissa meg a táblázatot, majd kattintson az "Eszközök - Szkriptszerkesztő" elemre. A megnyíló új ablakban adja hozzá a következő kódot (az igényeinek megfelelő módosításokkal):
függvény newEntryNotification (e)
{
próbáld ki
{
var időbélyeg = e.értékek [0];
var location = e.values [1];
var message = location + 'location is DOWN / n' + időbélyeg;
MailApp.sendEmail ("AZ EMAIL CÍME", "Figyelem, hely le!", Üzenet);
}
fogás (e)
{
MailApp.sendEmail ("AZ EMAIL CÍME", "Hiba - Figyelem, hely le!", E.üzenet);
}
}
Ha úgy kívánja, cserélje ki a „YOUR EMAIL CÍME” szöveget az e -mail címre, ahová az értesítést el kell küldeni, és a tényleges értesítési üzenettel.
12. lépés:
Ezt a szkriptet aktiválni kell, amikor új bejegyzést adtak hozzá a táblázathoz. Ugyanebben az ablakban (a fenti szkriptkóddal) kattintson az eszköztár "stopper" ikonjára - "Az aktuális projekt kiváltói". A rendszer felkéri Önt, hogy adja meg a projekt nevét (én az enyémet "locationDown" -nak neveztem el), és megnyílik egy másik böngészőlap, amely arról számol be, hogy nem talált találatot (nincs aktiváló). Kattintson az "új trigger létrehozása" gombra.
13. lépés:
Az új ablakban válassza az "Eseményforrás kiválasztása" lehetőséget a "Táblázatból"; "Az űrlapon küldés" a "Válassza ki az eseménytípust"; "Értesítsen azonnal" a "Hiba értesítési beállítások". Kattintson a "Mentés" gombra. A rendszer felkéri, hogy jelentkezzen be Google -fiókjába, és szükség esetén engedélyezze, hogy ez az aktiváló hozzáférjen fiókjához.
14. lépés:
A trigger -listában most egy triggerrel kell rendelkeznie, amely a korábban létrehozott szkripthez lesz kapcsolva. Ezért, amikor új adatokat illeszt be a táblázatba (az automatikus űrlap linkjét és a fent leírt csendes módszert használva), a trigger azonnal meghívja a szkriptet, amely értesítést küld a megadott e -mail címre, amely tartalmazza a választott üzenetet.
Végeztünk a Google Drive oldalán, és most a ThingSpeak -re térünk át.
15. lépés:
A ThingSpeak bejelentkezési fiókjába (https://thingspeak.com/login) menjen az "Alkalmazások - ThingHTTP" elemre, majd kattintson az "Új ThingHTTP" elemre. Adjon neki egy nevet (az egyes helyek tényleges nevét választottam; az oktatóanyag céljára "MyLocationName"), majd az "URL" mezőbe illessze be a szöveges fájlból a hivatkozást, amely így néz ki
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submitted = Submit
Hagyja az összes többi mezőt úgy, ahogy van, és kattintson a "ThingHTTP mentése" gombra.
16. lépés:
Ezután lépjen az "Alkalmazások - React" elemre, és kattintson az "Új reagálás" gombra. Adj neki egy nevet (ismét a hely nevét választottam, majd a "reagál" szót, de tetszés szerint választhatsz); "Nincs adatellenőrzés" a "Feltétel típusa" esetén; "10 percenként" a "Tesztfrekvencia"; a csatorna nevét, amelyet frissíteni kíván, "If Channel" esetén; a csatorna frissítésének időpontja (15 percet választottam), mivel a "nem frissült a következőhöz:"; "ThingHTTP" az "Action" -hez; "MyLocationName" for "then perform ThingHTTP"; "Futtassa a műveletet csak a feltétel első teljesítésekor", mivel csak egyszer szeretnék értesítést kapni. Ez alaphelyzetbe áll, ha a csatorna ismét frissül új bejövő adatokkal. Kattintson a "React mentése" gombra, és kész.
Mostantól kezdve, amikor csatornáját nem frissítették 15 percre (vagy máskor, attól függően, hogy mit választott), a React elkapja azt a kivételt, amely elindítja a ThingHTTP -t, ami csendben új bejegyzést hoz létre a táblázat. A Trigger és a Google Táblázatban található szkript onnan veszi át, amint azt fentebb már kifejtettük.
Ajánlott:
Készíts EASY Infinity Mirror kockát - NEM 3D nyomtatás és NEM programozás: 15 lépés (képekkel)
Készíts EASY Infinity Mirror kockát | NINCS 3D nyomtatás és NEM programozás: Mindenki szereti a jó végtelen kockát, de úgy néz ki, mintha nehéz lenne elkészíteni. Ennek az utasításnak a célja az, hogy lépésről lépésre megmutassam, hogyan kell elkészíteni. Nem csak ezt, de az utasításokkal, amelyeket adok neked, elkészíthetsz egyet
Automatikus kézmosó értesítő: 5 lépés
Automatikus kézmosó értesítő: Ez a gép képes értesíteni valakit, amikor belép az ajtón. Célja, hogy emlékeztesse valakit, hogy hazatérve mosson kezet. Van egy ultrahangos érzékelő a doboz elején, amely érzékeli azt, aki belép
Kalap nem kalap - kalap azok számára, akik valójában nem viselnek kalapot, de szeretnének kalapélményt: 8 lépés
Kalap nem kalap - kalap azok számára, akik valójában nem viselnek kalapot, de szeretnének kalapos élményt: Mindig is azt kívántam, bárcsak kalapos ember lennék, de soha nem találtam olyan kalapot, amelyik nekem megfelelne. Ez a " Hat Not Hat, " vagy a lenyűgöző, ahogy hívják, a kalapproblémám felső része, amelyen részt vehetek a Kentucky Derby-n, vákuum
Az adatok fogadása az STM32 alapú mikrokontrollerről a számítógépre: 5 lépés
Hogyan lehet adatokat fogadni az STM32 alapú mikrokontrollerről a számítógépre: Ebben az oktatóanyagban adatokat továbbítottunk a mikrokontrollerről a számítógépre az STM32l100 mcu egyik UART használatával
Egyszerű ISS -értesítő létrehozása: 5 lépés
Készítsen egyszerű ISS -értesítőt: TokyLabs | Szükséges idő: 1-3 óra | Nehézségi fok: Könnyű | Ár: 60–70 dollár Sokkal szórakoztatóbb, mint