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, Srpanj
Anonim
Automatski poziv za buđenje tijekom snijega
Automatski poziv za buđenje tijekom snijega
Automatski poziv za buđenje tijekom snijega
Automatski poziv za buđenje tijekom snijega

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

Ovaj projekt koristi Arduino, senzor udaljenosti i IFTTT (web mjesto jednostavno za korištenje) za automatiziranje poziva za buđenje na vaš telefon 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 odmah uskočimo!

Pribor

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

    • Ima ugrađen Wifi.
    • Otkriva gotovo sve pinove koje biste htjeli.
    • Omogućuje jednostavno USB sučelje za programiranje.
    • On upravlja resetiranjem ploče pri učitavanju koda i izlaže gumbe za poništavanje pogreš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 to

  3. Mini ploča.
  4. Stativ ili bilo koje rješenje za postavljanje senzora nekoliko metara iznad snijega.
  5. Micro usb kabel.
  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 ponovno koristiti za druge projekte.

1. korak: 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 osjetnik udaljenosti na čip. Žice bi se trebale spojiti kako je opisano u ovom izvrsnom vodiču za SparkFun.

Evo kratkog sažetka:

Senzor -> ESP8266

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

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

Crvena -> Vin

Crna -> Gnd

2. korak: 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čunalu).

1. Ovdje preuzmite Arduino softver. Ovaj će se vodič odnositi na Arduino Desktop IDE izbornike, pa preuzmite i preuzmite osim ako vam nije super s Web IDE -om.

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

3. Preuzmite skriptu za učitavanje na svoj mikročip s https://github.com/robertclaus/snowalert. Nije potrebno uređivati skriptu. Sve što trebate konfigurirati bit će konfigurirano nakon što prenesete kôd.

4. Otvorite skriptu u Arduinu i instalirajte knjižnice o kojima ovisi u vašem sustavu. Pri vrhu IDE -a kliknite: Sketch -> Include Libraries -> Manage Libraries

Zatim potražite i instalirajte ove knjižnice:

  • WifiManager by tzapu (verzija 0.14.0)
  • ArduinoJson od Benoita Blanchona (verzija 6.14.1)
  • TFminiArduino by hideakitai (verzija 0.1.1)
  • NTPClient by 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 bljeskalice - 4M (1M SPIFFS) - Ovo zadržava prostor za spremanje naše konfiguracije.
  • Erase Flash - All Contents - Time se osigurava da na čipu nema prethodnih podataka.

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

6. Provjerite je li vaš ESP mikročip priključen na računalo i ima li dodijeljeni priključak. Odaberite ispravan port u IDE -u i učitajte!

7. Otvorite Serial Monitor (Alati -> Serial 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 na složenije radnje.

Na primjer, ako naš Arduino kaže "Sniježilo je!" tada bi IFTTT trebao nazvati naš mobitel pozivom za buđenje.

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

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

3. Pritisnite 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! da želite da vam se pročita telefonski poziv.

5. Pritisnite Završi da biste aktivirali svoj programčić.

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

7. Na testnoj stranici spremite 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

Zbog problema s otklanjanjem pogreš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 tablice. Da biste to učinili, jednostavno ponovite gore navedene korake, ali zamijenite snow_alert s snow_measurement u gornjem koraku Webhooks i zamijenite korak Telefonski poziv uslugom Google tablice -> Dodaj redak u proračunsku tablicu.

Korak 4: konfiguracija SnowAlert

SnowAlert konfiguracija
SnowAlert konfiguracija

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

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 je važno da 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. Spojite se na Wi -Fi mrežu SnowMeasure na svom računalu. Prilikom povezivanja trebali biste vidjeti neku aktivnost u serijskom monitoru.
  5. Trebali biste se automatski preusmjeriti na stranicu za postavljanje u 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četne minute - Minutna komponenta vremena koje želite da izmjerite navečer.
    5. Završni sat - 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. URL mjernog web -dojavnika - ovo bi trebao biti isti URL kao gore, ali zamijenite snow_alert s 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. Morat ćete izrezati rupe u plastičnoj posudi i postaviti je negdje nekoliko metara od tla. Način na koji ćete ga montirati ovisit će o vašim dijelovima i cilju, ali evo nekoliko preporuka kako to ispraviti.

  • Pazite da vaš senzor bude 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 metra.
  • Snijeg se topi u vodi, stoga provjerite je li vaša postavka razumno vodootporna.
  • Pobrinite se da imate moć! Dugi 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 sigurno.

Korak 6: Primite poziv

Primite poziv!
Primite poziv!

Ako sve bude išlo po planu, trebali biste nazvati ujutro ako padne snijeg. Ako nešto ne radi, provjerite zapisnike udaljenosti u Google tablicama kako biste vidjeli što je zapravo izmjereno.

Snježni izazov
Snježni izazov
Snježni izazov
Snježni izazov

Drugoplasirani u snježnom izazovu

Preporučeni: