Sadržaj:

Automatski poziv za buđenje snijega: 6 koraka (sa slikama)
Automatski poziv za buđenje snijega: 6 koraka (sa slikama)

Video: Automatski poziv za buđenje snijega: 6 koraka (sa slikama)

Video: Automatski poziv za buđenje snijega: 6 koraka (sa slikama)
Video: REVAN - THE COMPLETE STORY 2024, Juli
Anonim
Automatski poziv za buđenje tokom snijega
Automatski poziv za buđenje tokom snijega
Automatski poziv za buđenje tokom snijega
Automatski poziv za buđenje tokom snijega

Izlazak iz kuće ujutro može biti nalet aktivnosti nakon što se nekoliko centimetara bijelog materijala slegne preko noći. Zar ne bi bilo lijepo da se probudite malo ranije tih dana kako biste uklonili stres iz jutra? Ovaj projekat čini upravo to!

Ovaj projekt koristi Arduino, senzor udaljenosti i IFTTT (web stranicu koja je jednostavna za upotrebu) za automatizaciju poziva za buđenje vašeg telefona ako sniježi preko noći. Kad budete spremni, uređaj koji ste izgradili postavite na visoko mjesto (na primjer na stativ) i usmjerite ga prema tlu. Odatle će stalno mjeriti udaljenost između sebe i tla. Dok pada snijeg, "tlo" se pomiče prema njemu, pa se udaljenost koju mjeri smanjuje. Ako postoji velika razlika između večeri i jutra, uređaj će vas upozoriti da je pao snijeg!

Elektronika se jednostavno povezuje, a ja ću vam dati kôd, pa idemo odmah!

Supplies

  1. Mikročip kompatibilan s Arduinom kompatibilan s Wifi-jem. Pretpostavljam da ćete za ovaj projekt koristiti razvojnu ploču ESP8266 NodeMCU, koju preporučujem iz mnogo razloga:

    • Ima ugrađen Wi -Fi.
    • Izlaže gotovo sve pinove koje biste mogli poželjeti.
    • Omogućuje jednostavno USB sučelje za programiranje.
    • On upravlja resetiranjem ploče prilikom postavljanja koda i izlaže tipke za poništavanje grešaka.
  2. Senzor dometa TF Mini Lidar.

    Imajte na umu da postoje jeftiniji ultrazvučni senzori poput HC-SR04, ali meki prigušivači snijega zvuče dovoljno da ne rade za ovo

  3. Mini ploča.
  4. Stativ ili bilo koje rješenje za postavljanje senzora nekoliko metara iznad snijega.
  5. Mikro usb kabl.
  6. Produžni kabel.
  7. USB punjač.
  8. Plastična posuda.

Imajte na umu da se stavke 5 i gore mogu lako kupiti na Dollar Tree -u.

Cijene se razlikuju, ali uspio sam napraviti ovaj projekt za oko 50 USD (ne računajući stativ) kupovinom jednostavnih dijelova u Dollar Treeu. Najskuplji dio daleko je Lidar senzor, koji se definitivno može ponovo koristiti za druge projekte.

Korak 1: Elektronika (hardver)

Elektronika (hardver)
Elektronika (hardver)
Elektronika (hardver)
Elektronika (hardver)
Elektronika (hardver)
Elektronika (hardver)

Elektronika za ovaj projekt trebala bi se brzo sastaviti. Samo spojite TF Mini Lidar senzor udaljenosti na čip. Žice bi se trebale spojiti kako je opisano u ovom izvrsnom SparkFun vodiču.

Evo kratkog sažetka:

Senzor -> ESP8266

Zelena -> D2 (poznata i kao GPIO 4, koju ćemo koristiti kao naš RX)

Bijela -> D1 (zvana GPIO 5, koju ćemo koristiti kao naš TX)

Crveno -> Vin

Crna -> Gnd

Korak 2: Elektronika (softver)

Elektronika (softver)
Elektronika (softver)

Odluku da vam pošalje poziv za buđenje donijet će vaš mikročip, pa ga moramo odgovarajuće programirati! Za programiranje vašeg čipa koristit ćemo jezik pod nazivom Arduino koji možete učitati na svoj čip pomoću Arduino IDE -a (softver koji radi na vašem računaru).

1. Ovdje preuzmite Arduino softver. Ovaj vodič će se odnositi na Arduino Desktop IDE menije, pa preuzmite to ako vam nije super sa Web IDE -om.

2. Podesite svoj Arduino Desktop IDE za rad s mikročipom ESP8266. Upute za to možete pronaći ovdje. Ubuduće, ovaj vodič pretpostavlja da je vaša LED lampica treperila i da znate kako prenijeti skriptu na ESP8266.

3. Preuzmite skriptu za učitavanje na svoj mikročip sa https://github.com/robertclaus/snowalert. Nema potrebe za uređivanjem skripte. Sve što trebate konfigurirati bit će konfigurirano nakon što učitate kôd.

4. Otvorite skriptu u Arduinu i instalirajte biblioteke u zavisnosti od vašeg sistema. Na vrhu IDE -a kliknite: Sketch -> Include Libraries -> Manage Libraries

Zatim potražite i instalirajte ove biblioteke:

  • WifiManager by tzapu (verzija 0.14.0)
  • ArduinoJson od Benoita Blanchona (verzija 6.14.1)
  • TFminiArduino od hideakitai (verzija 0.1.1)
  • NTPClient od Fabrice Weinberg (verzija 3.2.0)
  • ESP_DoubleResetDetector od Khoi Hoanga (verzija 1.0.1)

5. Konfigurirajte svoju ploču za ovaj projekt. Pri vrhu IDE -a kliknite Alati i prilagodite ove postavke:

  • Veličina blica - 4M (1M SPIFFS) - Ovo zadržava prostor za čuvanje naše konfiguracije.
  • Erase Flash - All Contents - Ovo osigurava da na čipu nema prethodnih podataka.

    Imajte na umu da ako ikada trebate ažurirati kôd, postavljanjem ove opcije na Samo skica sačuvat ćete svoju konfiguraciju

6. Uverite se da je vaš ESP mikročip priključen na računar i da ima dodeljeni port. Odaberite ispravan port u IDE -u i učitajte!

7. Otvorite Serijski monitor (Alati -> Serijski monitor) u Arduino IDE -u. Zatim kliknite gumb Reset na svom čipu. Potvrdite da se tekst prikazuje na Serijskom monitoru

Korak 3: IFTTT konfiguracija

IFTTT konfiguracija
IFTTT konfiguracija
IFTTT konfiguracija
IFTTT konfiguracija
IFTTT konfiguracija
IFTTT konfiguracija

Sada kada vaš Arduino radi, moramo ga konfigurirati da radi ono što želimo. Za ovaj vodič koristit ćemo uslugu pod nazivom IFTTT koja nam omogućuje prevođenje jednostavne poruke s našeg Arduina u složenije radnje.

Na primjer, ako naš Arduino kaže "Sniježilo je!" tada bi IFTTT trebao pozvati naš mobilni telefon uz poziv za buđenje.

1. Trebat će vam besplatan IFTTT račun koji možete stvoriti na

2. Da biste kreirali novi Applet koji koristi ovu logiku, idite na Kreiraj ili samo slijedite ovu vezu:

3. Kliknite na Ovo -> Traži i odaberite Webhooks -> Ako vas to zatraži, kliknite Connect -> Enter snow_alert u okvir.

4. Pritisnite To -> Traži i odaberite Telefonski poziv (samo za SAD) -> Ako vas to zatraži, kliknite Poveži se -> Ako dobijete skočni prozor, slijedite upute -> Unesite poruku kao da je sinoć padao snijeg! koje želite da vam pročita telefonski poziv.

5. Pritisnite Završi da biste aktivirali svoj aplet.

6. Testirajte svoj Webhook tako što ćete otići do postavki usluge Webhooks u IFTTT -u i pronaći testni URL koji je tamo naveden. Idite do tog URL -a i zamijenite {event} sa snow_alert. Zatim kliknite Testiraj. Ako sve radi, trebali biste primiti telefonski poziv!

7. Na probnoj stranici sačuvajte url prema dnu stranice. Trebat će vam u kasnijem koraku. To bi trebalo izgledati otprilike ovako:

maker.ifttt.com/trigger/snow_alert/with/key/d-Y8rXge5kibp0dkdrCgxu

Za probleme otklanjanja grešaka, korisnici će također možda htjeti zabilježiti visinu snijega s vremenom. Mogu konfigurirati zasebni IFTTT applet koji prihvaća snowhomeasure webhook i prijavljuje se na Google Sheets. Da biste to učinili, jednostavno ponovite gore navedene korake, ali zamijenite snow_alert sa snow_measurement u gore navedenom koraku Webhooks i zamijenite korak Telefonski poziv uslugom Google tablice -> Dodaj red u proračunsku tablicu.

Korak 4: Konfiguracija SnowAlert -a

SnowAlert konfiguracija
SnowAlert konfiguracija

U ovom trenutku posljednji softverski korak je konfiguriranje koda na vašem ESP -u za slanje poruka vašem novom IFTTT apletu.

Za ovu konfiguraciju preporučit ću vam da slijedite upute SnowAlert na Githubu jer bi upute ovdje mogle biti zastarjele ako SnowAlert dobije nove značajke.

U vrijeme pisanja ovih uputa učinili biste sljedeće.

Vrlo važno, sva vremena koja konfigurirate moraju biti u UTC vremenskoj zoni i u 24 -satnom formatu vremena (ne AM/PM).

  1. Odlučite u koje vrijeme želite primiti poziv ujutro. Ovo je vaše vrijeme završetka.
  2. Odlučite u koje vrijeme početi mjeriti prethodne večeri. Ovo je vaše vrijeme početka.
  3. Uključite svoj ESP i otvorite serijski monitor u Arduino IDE -u kao što smo to radili ranije.
  4. Povežite se sa WiFi mrežom SnowMeasure na svom računaru. Prilikom povezivanja trebali biste vidjeti neku aktivnost u serijskom monitoru.
  5. Trebali biste se automatski preusmjeriti na stranicu za postavljanje u vašem pregledniku nakon nekoliko sekundi.
  6. Kliknite Konfiguriraj Wifi
  7. Unesite sljedeće vrijednosti:

    1. SSID - WiFi mreža na koju bi se ESP trebao povezati za internet.
    2. Lozinka - Lozinka za povezivanje s tom WiFi mrežom.
    3. Start Hour - Sat u kojem želite da mjeri visinu snijega u večernjim satima.
    4. Početni minuti - komponenta minuta do vremena koje želite da izmjerite u večernjim satima.
    5. Kraj sata - Sat u kojem želite da mjeri visinu snijega ujutro (i potencijalno vas nazove)
    6. Završne minute - Minutna komponenta vremena koje želite da izmjerite ujutro.
    7. URL webhook upozorenja - Ovo bi trebao biti URL koji ste spremili u prethodnom koraku i koji izgleda otprilike ovako:
    8. Measurement Webhook URL - Ovo bi trebao biti isti URL kao gore, ali zamijenite snow_alert sa snow_measurement

Korak 5: Montirajte senzor

Montirajte senzor
Montirajte senzor
Montirajte senzor
Montirajte senzor
Montirajte senzor
Montirajte senzor

U ovom trenutku sve bi trebalo biti spremno za rad. Poželjet ćete izrezati rupe u plastičnoj posudi i postaviti je negdje nekoliko stopa od tla. Način na koji ćete ga montirati ovisit će o vašim dijelovima i cilju, ali evo nekoliko preporuka kako to ispraviti.

  • Uvjerite se da je vaš senzor okrenut prema dolje pod blagim kutom. Ne želite da gleda ravno prema dolje jer će vaša kutija baciti sjenu tamo gdje snijeg ne pada na tlo.
  • Želite da se senzor podigne sa snijega oko 2-3 stope.
  • Snijeg se topi u vodi, pa se pobrinite da vaša postavka bude razumno vodootporna.
  • Budite sigurni da imate snage! Ili dugačak USB kabel ili produžni kabel trebali bi vas udaljiti od krova kako biste došli do korisnog mjesta. U svakom slučaju, provjerite je li vani vani sigurnost.

Korak 6: Primite poziv

Pozovite!
Pozovite!

Ako sve ide po planu, ujutro biste trebali dobiti poziv ako padne snijeg. Ako nešto ne radi, provjerite zapisnike udaljenosti u Google tablicama da vidite što je zapravo izmjereno.

Snow Challenge
Snow Challenge
Snow Challenge
Snow Challenge

Drugoplasirani u snježnom izazovu

Preporučuje se: