Indholdsfortegnelse:
- Trin 1:
- Trin 2:
- Trin 3:
- Trin 4:
- Trin 5:
- Trin 6:
- Trin 7:
- Trin 8:
- Trin 9:
- Trin 10:
- Trin 11:
- Trin 12:
- Trin 13:
- Trin 14:
- Trin 15:
- Trin 16:
Video: Modtag en notifikations -e -mail, når en kanal på ThingSpeak ikke blev opdateret et stykke tid: 16 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Baggrundshistorie
Jeg har seks automatiserede drivhuse, der er spredt ud over Dublin, Irland. Ved at bruge en specialfremstillet mobiltelefon -app kan jeg eksternt overvåge og interagere med de automatiserede funktioner i hvert drivhus. Jeg kan manuelt åbne / lukke vinduerne, når temperaturen er for høj / lav; Jeg kan starte / stoppe kunstvandingen, når jordfugtigheden er for lav / høj; og jeg kan starte / stoppe ventilatoren, når luftfugtigheden er for høj / lav. Eller jeg kan simpelthen skifte systemet til Auto -tilstand, og grøntsagerne bliver passet af Arduino -hjernen. Flere detaljer om dette projekt findes her -
Fjernforbindelsen til Arduino-kortene på de seks drivhuse er muliggjort ved hjælp af USB GPRS-dongler, en på hvert sted (jeg købte min herfrahttps://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-Med-antenne-3G-USB-modem-21-6-Mbps-HSPA-mobil/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Som det er tilfældet med mobildataforbindelsen (i hvert fald i Dublin), falder den tilfældigt, nogle gange i et par minutter, nogle gange kan det være i et par timer. Skulle forbindelsen falde, er Arduino programmeret til at nulstille USB -donglen hvert 10. minut, så den kan prøve at starte en ny forbindelse. Nogle gange på grund af (endnu) ukendte årsager, selvom GPRS -dataforbindelsen er tændt igen, undlader Arduino (og det vedhæftede Ethernet -skjold) at lægge mærke til hændelsen. Dette er det øjeblik, jeg skal gå til det pågældende sted og manuelt nulstille hele systemet.
Når dataforbindelsen falder på et eller andet sted, ville jeg hurtigst muligt få besked via e -mail, så jeg kunne holde øje med den pågældende placering. Da kommunikationen mellem telefonappen og Arduino foregår via en onlinetjeneste fra https://thingspeak.com, indtil for nylig (og frem til 31. marts 2019), var dette muligt ved at bruge en anden service leveret af https:// ifttt.com/discover og indstilling af en ThingHTTP og en React på hver kanal, der overvåger, om den pågældende kanal ikke er blevet opdateret i nogen tid. Ifølge en e-mail, jeg modtog fra Google, begyndende med 31. marts 2019, på grund af manglende overholdelse af deres opdaterede krav til databeskyttelse (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), vil adgang til nogle data på min Google-konto ikke længere være tilgængelig for IFTTT, og som i mit tilfælde var e-mailen den eneste ressource, IFTTT havde adgang til, min forståelse var, at meddelelsen tjenesten beskrevet ovenfor ville stoppe med at fungere.
Så her er vi ved at implementere en alternativ løsning, så notifikationer via e -mail fortsat kommer, når dataforbindelsen til mine steder falder. Dette bruger stadig funktionerne ThingHTTP og React på mine kanaler, kun linket til IFTTT blev peget til Google Drev igen. Så bortset fra den hardware (Arduino i mit tilfælde), du måske har kommunikation med din ThingSpeak -konto, skal du oprette en Google -konto, at hvis du ikke allerede har en … og lad os starte!
Trin 1:
I Google Drev
For det første skal vi i Google Drev (https://drive.google.com) oprette et regneark og en simpel formular. Åbn dit Google Drev, og klik på Nyt - Google Sheets - Tomt regneark.
Trin 2:
Jeg omdøbte min til "Placering ned regneark". Gå derefter til Værktøjer - Opret en formular.
Trin 3:
Jeg omdøbte formularen til "Placering ned form" og ændrede "Uden titel" til "Status" og typen fra "Multiple choice" til "Kort svar".
Trin 4:
Jeg fjernede derefter muligheden for at indsamle e -mail -adresser - klik på "Skift indstillinger", og fjern markeringen af alle mulighederne i vinduet, der dukkede op. Klik på "Gem".
Trin 5:
Luk den aktuelle browserfane, der indeholder din formular, og du skal tilbage til din primære fane i Google Drev, hvor du skal have både formularen og regnearket, du lige har oprettet. Åbn regnearket, og gå til "Fil - Del …". Klik på "Avanceret" i det nye vindue
Trin 6:
Klik derefter på "Skift …" ved siden af etiketten "Privat - Kun du har adgang"
Trin 7:
og skift til "Til - Alle med linket", og også til "Kan redigere"
Trin 8:
Klik på "Gem" og "Udført" for at komme tilbage til dit regneark. Mens du er der, skal du klikke på "File - Publicer på internettet …", og derefter klikke på "Publicer" og "OK" i dialogvinduet. Luk vinduet "Publicer på internettet".
Mens du stadig er i regnearket, skal du klikke på "Formular - Gå til liveformular". Højreklik med din mus (jeg bruger Google Chrome-browseren) og vælg "Vis sidekilde".
Trin 9:
På den nye side, der åbner, skal du søge efter "formhandling" og derefter finde det link, der ligner https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Vælg det link, og kopier og indsæt det i et tekstdokument. Du vil bruge det til at danne det sidste link, der skal indtastes i ThingHTTP for ThingSpeak.
Trin 10:
Gå tilbage til kildevisningen i din formular, og søg nu efter "post". Find og vælg hele teksten, noget i retning af "entry. XXXXX". Kopier og indsæt det i det samme tekstdokument som ovenfor. Du kan nu lukke kildevisningen for din Google -formular.
Trin 11:
I det nye tekstdokument (hvor du nu har linket og posten, vi har indsat før), skal du oprette det sidste link, der skal se ud
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Send
I mit tilfælde ville "LOCATION+NAME" blive erstattet af det faktiske navn på hvert bestemt sted, som jeg skal overvåge. Den e -mail -meddelelses -e -mail, som jeg modtager, når forbindelsen falder, indeholder denne tekst, så jeg ved præcis, hvilken placering der har problemer. Denne tekst vil faktisk blive indsendt som indhold med kort tekst til "status" -feltet i Google-formularen. "& Submit = Submit" sender lydløst formularen uden behov for yderligere handlinger, når den påberåbes af ThingHTTP og React.
Endelig skal vi tilføje et script, der automatisk sender en e -mail -meddelelse, hver gang der blev tilføjet en ny post i regnearket. Åbn regnearket, og klik derefter på "Værktøjer - Scripteditor". Tilføj følgende kode i det nye vindue, der åbnes (med de nødvendige ændringer for at afspejle dine behov):
funktion newEntryNotification (e)
{
prøve
{
var tidsstempel = e.værdier [0];
var location = e.values [1];
var message = location + 'location is DOWN / n' + tidsstempel;
MailApp.sendEmail ("DIN E -MAILADRESSE", "Opmærksomhed, placering NED!", Besked);
}
fangst (e)
{
MailApp.sendEmail ("DIN E -MAILADRESSE", "Fejl - opmærksomhed, placering NED!", E.message);
}
}
Erstat teksten "DIN E -MAILADRESSE" med den e -mailadresse, hvor meddelelsen skal sendes, og den faktiske meddelelsesmeddelelse, hvis du ønsker det.
Trin 12:
Dette script skal udløses, når der blev tilføjet en ny post i regnearket. Mens du er i det samme vindue (med scriptkoden ovenfor), skal du klikke på ikonet "stopur" i værktøjslinjen - "Aktuelle projekts udløsere". Du bliver bedt om at navngive dit projekt (jeg kaldte mit "locationDown"), og en anden browserfane åbnes og rapporterer, at der ikke blev fundet nogen resultater (ingen udløsere). Klik på "opret en ny trigger".
Trin 13:
I det nye vindue skal du vælge "Fra regneark" for "Vælg hændelseskilde"; "På formular indsendelse" for "Vælg begivenhedstype"; "Giv mig besked med det samme" for "Indstillinger for fejlmeddelelse". Klik på "Gem". Du bliver bedt om at logge ind på din Google -konto og "Tillad" denne trigger for at få adgang til din konto, når det er påkrævet.
Trin 14:
Du skal nu have en udløser på listen over udløsere, som vil blive knyttet til det script, vi tidligere har oprettet. Derfor, ved indsættelse af nye data i regnearket (ved hjælp af det automatiserede formlink og den lydløse metode beskrevet ovenfor), vil triggeren straks kalde scriptet, som sender en meddelelse til den angivne e -mailadresse, der indeholder din valgte besked.
Vi er færdige i Google Drive -siden, og vi flytter nu til ThingSpeak.
Trin 15:
I ThingSpeak Log ind på din konto (https://thingspeak.com/login), gå til "Apps - ThingHTTP", og klik derefter på "New ThingHTTP". Giv det et navn (jeg har valgt det faktiske navn for hver placering; "MyLocationName" med henblik på denne vejledning), og i feltet "URL" skal du indsætte linket fra din tekstfil, den der ligner
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Send
Lad alle andre felter være, som de er, og klik på "Gem ThingHTTP".
Trin 16:
Gå derefter til "Apps - React", og klik på "New React". Giv det et navn (igen, jeg har valgt placeringsnavnet efterfulgt af ordet "reager", men du kan vælge et hvilket som helst navn, du vil have); "Ingen datatjek" for "Tilstandstype"; "Hvert 10. minut" for "Testfrekvens"; det kanalnavn, du vil overvåge for opdateringer, for "If Channel"; det tidspunkt, hvor kanalen ikke er blevet opdateret (jeg har valgt 15 minutter), for "er ikke blevet opdateret til"; "ThingHTTP" for "Action"; "MyLocationName" for "udfør derefter ThingHTTP"; "Kør handling kun første gang betingelsen er opfyldt", da jeg kun ønsker at få en besked én gang. Dette nulstiller sig selv, når kanalen opdateres igen med nye indgående data. Klik på "Gem reager", og du er færdig.
Fra nu af, når din kanal ikke er blevet opdateret i 15 minutter (eller et andet tidspunkt, afhængigt af hvad du har valgt), vil React fange den undtagelse, der vil udløse ThingHTTP, som igen stille og roligt vil oprette en ny post i din regneark. Udløseren og scriptet på Google Regneark vil tage det derfra, som allerede forklaret ovenfor.
Anbefalede:
Modtag e -mailmeddelelser fra dine IoT -projekter: 6 trin
Modtag e -mailmeddelelser fra dine IoT -projekter: Programmer e -mailmeddelelser, der forbinder dine IoT -projekter med Adafruit IO og IFTTT. Jeg har offentliggjort nogle IoT -projekter. Jeg håber, at du har set dem, hvis ikke inviterer jeg dig til min profil og tjekker dem. Jeg ville modtage nogle notifikationer, når en variabel
12 Volt batteri hack! Du vil ikke tro dine øjne !!!!! (opdateret): 7 trin
12 Volt batteri hack! Du vil ikke tro dine øjne !!!!! (opdateret): Inspireret af instruktøren fra Kipkay tænkte jeg, at jeg ville hente nogle af mine egne batterier af et andet mærke … Og dreng, blev jeg overrasket
Når Makita BL1813G -batterier ikke passer til Makita -lokalradioen: 6 trin
Når Makita BL1813G-batterier ikke passer til Makita Site Radio: Batterierne til Makita Cordless 18V Li-Ion Combi Drill HP457D passer ikke til docking til stedets radioer, noget at gøre med, at denne boremaskine markedsføres til byggemarkeder og Amazon til DIY -brug. Dette er meget irriterende, da jeg ikke vidste
Spild ikke din tid: Brug NTP !: 8 trin
Spild ikke din tid: Brug NTP !: Få din tid til at tælle! Dette er et ofte diskuteret emne blandt mine abonnenter, og af hvilken grund? På grund af den enkle og uundværlige kendsgerning, at når du laver en datalogger og for alt, der involverer automatisering, har du brug for det korrekte tidspunkt! Og T
Sådan gendannes åbne mapper, når du logger ind igen, når du logger ud: 5 trin
Sådan gendannes åbne mapper, når du logger ind igen, når du logger ud: Okay, så her er situationen, du bruger computeren med masser af masser af dine mapper åbnet … Så kom din mor hjem tidligere end forventet! Du ved udmærket, at hvis hun fanger dig ved hjælp af computeren, mens du burde være i seng, fordi