Innholdsfortegnelse:
- Trinn 1:
- Steg 2:
- Trinn 3:
- Trinn 4:
- Trinn 5:
- Trinn 6:
- Trinn 7:
- Trinn 8:
- Trinn 9:
- Trinn 10:
- Trinn 11:
- Trinn 12:
- Trinn 13:
- Trinn 14:
- Trinn 15:
- Trinn 16:
Video: Motta en e -postmelding når en kanal på ThingSpeak ikke ble oppdatert på en stund: 16 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Bakgrunnshistorie
Jeg har seks automatiserte drivhus som er spredt over Dublin, Irland. Ved å bruke en skreddersydd mobilapp, kan jeg eksternt overvåke og samhandle med de automatiserte funksjonene i hvert drivhus. Jeg kan åpne / lukke vinduene manuelt når temperaturen er for høy / lav; Jeg kan starte / stoppe vanningen når jordfuktigheten er for lav / høy; og jeg kan starte / stoppe ventilasjonsviften når luftfuktigheten er for høy / lav. Eller jeg kan bare bytte systemet til Auto -modus, og grønnsakene vil bli ivaretatt av Arduino -hjernen. Flere detaljer om dette prosjektet finner du her -
Den eksterne tilkoblingen til Arduino-kortene på de seks drivhusene er mulig ved hjelp av USB GPRS-dongler, en på hvert sted (jeg kjøpte min herfra https://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 tilfelle med mobildatatilkoblingen (i hvert fall i Dublin), faller den tilfeldig, noen ganger i noen minutter, noen ganger kan det være i et par timer. Skulle tilkoblingen falle, er Arduino programmert til å tilbakestille USB -dongelen hvert 10. minutt, slik at den kan prøve å starte en ny tilkobling. Noen ganger på grunn av (ennå) ukjente årsaker, selv om GPRS -datatilkoblingen er på igjen, unnlater Arduino (og det vedlagte Ethernet -skjermet) å legge merke til hendelsen. Dette er øyeblikket jeg må gå til det bestemte stedet og manuelt tilbakestille hele systemet.
Når datatilkoblingen faller på et eller annet sted, ønsket jeg å bli varslet via e -post så snart som mulig, slik at jeg kunne holde et øye med den spesifikke plasseringen. Siden kommunikasjonen mellom telefonappen og Arduino foregår gjennom en online tjeneste levert av https://thingspeak.com, til nylig (og frem til 31. mars 2019), var dette mulig ved å bruke en annen tjeneste levert av https:// ifttt.com/discover, og sette en ThingHTTP og en React på hver kanal, og overvåke det faktum om den aktuelle kanalen ikke har blitt oppdatert på en stund. Imidlertid, ifølge en e-post jeg mottok fra Google, fra og med 31. mars 2019, på grunn av manglende overholdelse av deres oppdaterte krav til personvern (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), vil tilgang til noen data i min Google-konto ikke lenger være tilgjengelig for IFTTT, og som i mitt tilfelle var e-posten den eneste ressursen IFTTT hadde tilgang til, min forståelse var at varselet tjenesten beskrevet ovenfor ville slutte å fungere.
Så her implementerer vi en alternativ løsning for at e -postvarslene skal fortsette å komme når datatilkoblingen til mine steder faller. Dette bruker fremdeles ThingHTTP- og React-funksjonene på kanalene mine, bare lenken til IFTTT ble pekt på nytt til Google Disk. Så bortsett fra maskinvaren (Arduino i mitt tilfelle) kan det hende du kommuniserer med ThingSpeak -kontoen din, må du opprette en Google -konto, at hvis du ikke allerede har en … og la oss starte!
Trinn 1:
I Google Disk
Først, i Google Disk (https://drive.google.com) må vi lage et regneark og et enkelt skjema. Åpne Google Disk, og klikk på Nytt - Google Regneark - Tomt regneark.
Steg 2:
Jeg omdøpte mitt til "Location down spreadsheet". Gå deretter til Verktøy - Lag et skjema.
Trinn 3:
Jeg omdøpte skjemaet til "Location down form", og endret "Untitled question" til "Status", og typen fra "Multiple choice" til "Short answer".
Trinn 4:
Jeg fjernet deretter alternativet for å samle e -postadresser - klikk på "Endre innstillinger" og fjernet avmerkingen for alle alternativene i vinduet som dukket opp. Klikk på "Lagre".
Trinn 5:
Lukk den nåværende nettleserfanen som inneholder skjemaet ditt, og du bør gå tilbake til fanen Google Disk, der du skal ha både skjemaet og regnearket du nettopp har opprettet. Åpne regnearket, og gå til "File - Share …". Klikk på "Avansert" i det nye vinduet
Trinn 6:
Klikk deretter på "Endre …" ved siden av etiketten "Privat - Bare du kan få tilgang til"
Trinn 7:
og endre til "På - Alle med lenken", og også til "Kan redigere"
Trinn 8:
Klikk på "Lagre" og "Ferdig" for å komme tilbake til regnearket. Mens du er der, klikker du på "Fil - Publiser på nettet …", og klikker deretter på "Publiser" og "OK" for dialogvinduet. Lukk vinduet "Publiser på nettet".
Mens du fortsatt er i regnearket, klikker du på "Skjema - Gå til live -skjema". Høyreklikk med musen (jeg bruker Google Chrome-nettleseren) og velg "Vis sidekilde".
Trinn 9:
På den nye siden som åpner, søk etter "skjemahandling", og finn deretter lenken som ligner på https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Velg den koblingen, og kopier og lim den inn i et tekstdokument. Du vil bruke den til å danne den siste lenken som må angis i ThingHTTP for ThingSpeak.
Trinn 10:
Gå tilbake til kildevisningen til skjemaet ditt, og søk nå etter "oppføring.". Finn og velg hele teksten, noe som "entry. XXXXX". Kopier og lim det inn i samme tekstdokument som ovenfor. Du kan nå lukke kildevisningen til Google -skjemaet ditt.
Trinn 11:
I det nye tekstdokumentet (der du nå har lenken og oppføringen vi limte inn før), oppretter du den siste lenken, som skal se ut som
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Send
I mitt tilfelle ville "LOCATION+NAME" blitt erstattet av det faktiske navnet på hvert bestemt sted jeg må overvåke. E -postvarsel -e -posten som jeg vil motta når tilkoblingen faller, inneholder denne teksten, slik at jeg vet nøyaktig hvilken plassering som har problemer. Denne teksten vil faktisk bli sendt inn som kort tekstinnhold for "status" -feltet i Google-skjemaet. "& Submit = Submit" vil stille skjemaet, uten behov for ytterligere handlinger, når det påkalles av ThingHTTP og React.
Til slutt må vi legge til et skript som automatisk sender et e -postvarsel hver gang en ny oppføring ble lagt til i regnearket. Åpne regnearket, og klikk deretter på "Tools - Script editor". Legg til følgende kode i det nye vinduet som åpnes (med de nødvendige endringene for å gjenspeile dine behov):
funksjon newEntryNotification (e)
{
prøve
{
var tidsstempel = e.values [0];
var location = e.values [1];
var melding = plassering + 'plassering er NED / n' + tidsstempel;
MailApp.sendEmail ("DIN E -POSTADRESSE", "Oppmerksomhet, plassering NED!", Melding);
}
fangst (e)
{
MailApp.sendEmail ("DIN E -POSTADRESSE", "Feil - oppmerksomhet, plassering NED!", E.message);
}
}
Erstatt teksten "DIN E -POSTADRESSE" med e -postadressen dit varselet skal sendes til, og selve varselmeldingen, hvis du ønsker det.
Trinn 12:
Dette skriptet må utløses når en ny oppføring ble lagt til i regnearket. Mens du er i det samme vinduet (med skriptkoden ovenfor), klikker du på "stoppeklokke" -ikonet i verktøylinjen - "Aktuelle prosjektets utløsere". Du blir bedt om å navngi prosjektet ditt (jeg kalte mitt "locationDown"), og en annen nettleserfan åpnes og rapporterer at ingen resultater (ingen utløsere) ble funnet. Klikk på "opprett en ny trigger".
Trinn 13:
I det nye vinduet velger du "Fra regneark" for "Velg hendelseskilde"; "På skjema send" for "Velg hendelsestype"; "Varsle meg umiddelbart" for "Innstillinger for feilvarsling". Klikk på "Lagre". Du blir bedt om å logge på Google -kontoen din og "Tillat" for denne utløseren for å få tilgang til kontoen din når det er nødvendig.
Trinn 14:
Du bør nå ha en utløser i utløserlisten, som vil bli koblet til skriptet vi opprettet tidligere. Derfor, ved innsetting av nye data i regnearket (ved hjelp av den automatiske skjemalenken og den stille metoden beskrevet ovenfor), vil utløseren umiddelbart ringe skriptet, som vil sende et varsel til den oppgitte e -postadressen, som inneholder den valgte meldingen.
Vi er ferdige på Google Disk -siden, og vi flytter nå til ThingSpeak.
Trinn 15:
I ThingSpeak Logg på kontoen din (https://thingspeak.com/login), gå til "Apps - ThingHTTP", og klikk deretter på "New ThingHTTP". Gi det et navn (jeg har valgt det faktiske navnet på hvert sted; "MyLocationName" for formålet med denne opplæringen), og i "URL" -feltet limer du inn lenken fra tekstfilen din, den som ser ut som
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Send
La alle andre felt være som de er, og klikk på "Save ThingHTTP".
Trinn 16:
Gå deretter til "Apps - React", og klikk på "New React". Gi det et navn (igjen, jeg har valgt stedsnavnet etterfulgt av ordet "reager", men du kan velge hvilket navn du vil); "Ingen datakontroll" for "Tilstandstype"; "Hvert tiende minutt" for "Testfrekvens"; kanalnavnet du vil overvåke for oppdateringer, for "If Channel"; tiden kanalen ikke har blitt oppdatert (jeg har valgt 15 minutter), for "har ikke blitt oppdatert for"; "ThingHTTP" for "Action"; "MyLocationName" for "deretter utføre ThingHTTP"; "Kjør handling bare første gang betingelsen er oppfylt", ettersom jeg bare vil få et varsel en gang. Dette vil tilbakestille seg selv når kanalen blir oppdatert igjen med nye innkommende data. Klikk på "Save React" og du er ferdig.
Fra nå av når kanalen din ikke har blitt oppdatert på 15 minutter (eller annen gang, avhengig av hva du har valgt), vil React fange det unntaket som vil utløse ThingHTTP, som igjen i stillhet vil opprette en ny oppføring i din regneark. Utløseren og skriptet på Google Regneark tar det derfra, som allerede forklart ovenfor.
Anbefalt:
Motta e -postvarsler fra IoT -prosjektene dine: 6 trinn
Motta e -postvarsler fra IoT -prosjektene dine: Programmer e -postvarsler som kobler IoT -prosjektene dine til Adafruit IO og IFTTT. Jeg har publisert noen IoT -prosjekter. Jeg håper du har sett dem. Hvis ikke inviterer jeg deg til profilen min og sjekker dem. Jeg ønsket å motta noen varsler når en variabel
12 Volt batterihack! Du vil ikke tro dine øyne !!!!! (oppdatert): 7 trinn
12 Volt batterihack! Du vil ikke tro dine øyne !!!!! (oppdatert): Inspirert av instruksjonene fra Kipkay tenkte jeg at jeg skulle hente noen av mine egne batterier av et annet merke … Og gutt, ble jeg overrasket
Når Makita BL1813G -batterier ikke passer til Makita Site Radio: 6 trinn
Når Makita BL1813G-batterier ikke passer til Makita Site Radio: Batteriene til Makita Cordless 18V Li-Ion Combi Drill HP457D passer ikke til dokkingstasjonen for områdets radioer, noe som har å gjøre med at denne boremaskinen markedsføres til byggemarkeder og Amazon for DIY bruk. Dette er veldig irriterende da jeg ikke visste
Hva du skal gjøre når ITunes ikke gjenkjenner din iPod: 7 trinn
Hva du skal gjøre når ITunes ikke gjenkjenner din iPod: Så du mottok din nye iPod, og du er så spent på å bruke den. Du kobler USB -kabelen til datamaskinen og kobler den andre enden til iPod -en. Nå støter du på et problem. Av en eller annen grunn oppdager ikke iTunes din iPod. Du tror kanskje dette er en pr
Hvordan skyte du uavhengig film i New York City Subway når du ikke har råd til tillatelser: 12 trinn
How to Shoot You're Independent Film in the New York City Subway When You Can't Råding Permits: Dette er en enkel guide for håpefulle uavhengige filmskapere der ute som har drømmer om å skyte den magiske scenen i New York Citys vakre T -banesystem, men som har ikke råd til de tusenvis av dollar som kreves for å få tillatelse til å skyte lovlig