Cuprins:

Apel automat de trezire a zăpezii: 6 pași (cu imagini)
Apel automat de trezire a zăpezii: 6 pași (cu imagini)

Video: Apel automat de trezire a zăpezii: 6 pași (cu imagini)

Video: Apel automat de trezire a zăpezii: 6 pași (cu imagini)
Video: Cum scrii când începi un caiet nou 2024, Iulie
Anonim
Apel automat de trezire a zăpezii
Apel automat de trezire a zăpezii
Apel automat de trezire a zăpezii
Apel automat de trezire a zăpezii

Ieșirea din casă dimineața poate fi o explozie de activitate după ce câțiva centimetri de lucruri albe se așează peste noapte. Nu ar fi frumos să fii trezit puțin mai devreme în acele zile pentru a scoate stresul din dimineață? Acest proiect face exact asta!

Acest proiect folosește un Arduino, un senzor de distanță și IFTTT (un site web ușor de utilizat) pentru a automatiza un apel de trezire pe telefonul dvs. dacă a nins peste noapte. Odată gata, veți plasa dispozitivul pe care l-ați construit într-un punct înalt (de exemplu pe un trepied) și îl veți îndrepta spre sol. De acolo va măsura constant distanța dintre ea și sol. Pe măsură ce ninge, „solul” se deplasează spre el, astfel încât distanța pe care o măsoară scade. Dacă există o diferență suficient de mare între seară și dimineață, dispozitivul vă va avertiza că a nins!

Componentele electronice sunt ușor de conectat și voi furniza codul, așa că hai să intrăm direct!

Provizii

  1. Un microcip compatibil Arduino cu Wifi. Pentru acest proiect presupun că veți utiliza placa de dezvoltare ESP8266 NodeMCU, pe care o recomand din mai multe motive:

    • Are Wifi încorporat.
    • Acesta expune cam toate știfturile pe care le-ați putea dori.
    • Oferă o interfață USB ușoară pentru programare.
    • Se ocupă de resetarea plăcii la încărcarea codului și expune butoanele de resetare pentru depanare.
  2. Un senzor de gamă TF Mini Lidar.

    Rețineți că există senzori cu ultrasunete mai ieftini, cum ar fi HC-SR04, dar mufle moale de zăpadă sună suficient încât să nu funcționeze pentru acest lucru

  3. O mini panou de prindere.
  4. Un trepied sau orice soluție pentru montarea senzorului la câțiva metri deasupra zăpezii.
  5. Un cablu micro usb.
  6. Un cablu prelungitor.
  7. Un încărcător USB.
  8. Un recipient din plastic.

Rețineți, articolele 5 și mai mari pot fi cumpărate la Dollar Tree destul de ușor.

Prețurile variază, dar am reușit să fac acest proiect cu aproximativ 50 USD (fără a lua în calcul trepiedul) cumpărând la Dollar Tree pentru piesele simple. Cea mai scumpă parte este de departe senzorul Lidar, care poate fi cu siguranță reutilizat pentru alte proiecte.

Pasul 1: Electronică (hardware)

Electronică (hardware)
Electronică (hardware)
Electronică (Hardware)
Electronică (Hardware)
Electronică (Hardware)
Electronică (Hardware)

Electronica pentru acest proiect ar trebui să fie destul de rapid de asamblat. Conectați senzorul de distanță TF Mini Lidar la cip. Sârmele ar trebui să se conecteze așa cum este descris în acest excelent ghid SparkFun.

Iată un rezumat rapid:

Senzor -> ESP8266

Verde -> D2 (alias GPIO 4, pe care îl vom folosi ca RX)

Alb -> D1 (alias GPIO 5, pe care îl vom folosi ca TX)

Roșu -> Vin

Negru -> Gnd

Pasul 2: Electronică (software)

Electronică (software)
Electronică (software)

Decizia de a vă trimite un apel de trezire va fi luată de microcipul dvs., deci trebuie să îl programăm în mod corespunzător! Pentru a vă programa cipul, vom folosi un limbaj numit Arduino pe care îl puteți încărca pe cipul dvs. utilizând Arduino IDE (software-ul care rulează pe computerul dvs.).

1. Descărcați software-ul Arduino aici. Acest ghid va face referire la meniurile Arduino Desktop IDE, așa că mergeți mai departe și descărcați acest lucru, cu excepția cazului în care sunteți foarte confortabil cu IDE-ul Web.

2. Configurați ID-ul Arduino Desktop pentru a lucra cu microcipul ESP8266. Instrucțiunile pentru acest lucru pot fi găsite aici. În continuare, acest ghid presupune că LED-ul dvs. clipește și știți cum să încărcați un script pe ESP8266.

3. Descărcați scriptul de încărcat pe microcipul dvs. de pe https://github.com/robertclaus/snowalert. Nu este nevoie să editați scriptul. Tot ce trebuie să configurați va fi configurabil după încărcarea codului.

4. Deschideți scriptul în Arduino și instalați bibliotecile de care depinde în sistemul dvs. În partea de sus a IDE, faceți clic pe: Schiță -> Includeți biblioteci -> Gestionați bibliotecile

Apoi căutați și instalați aceste biblioteci:

  • WifiManager de tzapu (versiunea 0.14.0)
  • ArduinoJson de Benoit Blanchon (versiunea 6.14.1)
  • TFminiArduino de hideakitai (versiunea 0.1.1)
  • NTPClient de Fabrice Weinberg (versiunea 3.2.0)
  • ESP_DoubleResetDetector de Khoi Hoang (versiunea 1.0.1)

5. Configurați-vă placa pentru acest proiect. În partea de sus a IDE, faceți clic pe Instrumente și reglați aceste setări:

  • Dimensiune bliț - 4M (1M SPIFFS) - Aceasta rezervă spațiu pentru ca configurația noastră să fie salvată.
  • Ștergeți blițul - Tot conținutul - Acest lucru vă asigură că nu există date anterioare pe cip.

    Rețineți, dacă vreodată trebuie să actualizați codul, setarea acestuia la Sketch Only vă va păstra configurația

6. Asigurați-vă că microcipul ESP este conectat la computer și are un port atribuit. Selectați portul corect în IDE și încărcați!

7. Deschideți Serial Monitor (Instrumente -> Serial Monitor) în Arduino IDE. Apoi faceți clic pe butonul Resetare de pe cipul dvs. Confirmați că primiți text afișat în monitorul serial

Pasul 3: Configurare IFTTT

Configurare IFTTT
Configurare IFTTT
Configurare IFTTT
Configurare IFTTT
Configurare IFTTT
Configurare IFTTT

Acum că Arduino dvs. rulează, trebuie să-l configurăm pentru a face ceea ce dorim. Pentru acest tutorial, vom folosi un serviciu numit IFTTT care ne permite să traducem un mesaj simplu din Arduino în acțiuni mai complicate.

De exemplu, dacă Arduino-ul nostru spune „A nins!” atunci IFTTT ar trebui să ne sune la telefonul mobil cu un apel de trezire.

1. Veți avea nevoie de un cont IFTTT gratuit, pe care îl puteți crea la

2. Pentru a crea noul applet care utilizează această logică, navigați la Creare sau urmați doar acest link:

3. Faceți clic pe Aceasta -> Căutare și selectați Webhooks -> Dacă vă cere, faceți clic pe Conectare -> Introduceți snow_alert în casetă.

4. Faceți clic pe Acela -> Căutați și selectați Apel telefonic (numai SUA) -> Dacă vă solicită acest lucru, faceți clic pe Conectare -> Dacă primiți un popup, urmați instrucțiunile -> Introduceți un mesaj de genul A nins azi-noapte! că ați dori să vă citească apelul telefonic.

5. Faceți clic pe Finalizare pentru a activa applet-ul.

6. Testați Webhook-ul dvs. navigând la setările serviciului Webhooks din IFTTT și găsind adresa URL de test listată acolo. Navigați la adresa URL respectivă și înlocuiți {event} cu snow_alert. Apoi faceți clic pe Testați-l. Dacă totul funcționează, ar trebui să primiți un telefon!

7. Pe pagina de test, salvați adresa URL în partea de jos a paginii. Veți avea nevoie de el într-un pas ulterior. Ar trebui să arate cam așa:

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

Pentru probleme de depanare, utilizatorii pot dori, de asemenea, să înregistreze înălțimea zăpezii în timp. Aceștia pot configura un applet IFTTT separat care acceptă webhook-ul snow_measurement și se conectează la Foi de calcul Google. Pentru a face acest lucru, repetați pur și simplu pașii de mai sus, dar înlocuiți snow_alert cu snow_measurement în pasul Webhooks de mai sus și înlocuiți pasul Apel telefonic cu serviciul Foi de calcul Google -> Adăugați rândul în foaia de calcul.

Pasul 4: Configurare SnowAlert

Configurare SnowAlert
Configurare SnowAlert

În acest moment, ultimul pas software este configurarea codului de pe ESP pentru a trimite mesajele către noul dvs. applet IFTTT.

Pentru această configurație, vă voi recomanda să urmați instrucțiunile SnowAlert de pe Github, deoarece instrucțiunile de aici ar putea fi învechite dacă SnowAlert primește noi caracteristici.

În momentul redactării acestor instrucțiuni, veți face următoarele.

Foarte important, orele pe care le configurați trebuie să fie în fusul orar UTC și în format de 24 de ore (nu AM / PM).

  1. Decideți la ce oră doriți să primiți apelul dimineața. Acesta este timpul tău de sfârșit.
  2. Decideți ce oră începeți să măsurați seara precedentă. Acesta este timpul tău de început.
  3. Conectați-vă ESP-ul și deschideți Serial Monitor în Arduino IDE, așa cum am făcut anterior.
  4. Conectați-vă la rețeaua wifi SnowMeasure de pe computer. Ar trebui să vedeți o anumită activitate în monitorul serial în timp ce vă conectați.
  5. Ar trebui să fiți direcționat automat către o pagină de configurare din browser după câteva secunde.
  6. Faceți clic pe Configurare Wifi
  7. Introduceți următoarele valori:

    1. SSID - Rețeaua wifi la care ar trebui să se conecteze ESP pentru internet.
    2. Parolă - Parola pentru a vă conecta la acea rețea wifi.
    3. Ora de început - Ora în care doriți să măsoare înălțimea zăpezii seara.
    4. Minute de început - Componenta de minute la ora pe care doriți să o măsoare seara.
    5. Ora de sfârșit - Ora în care doriți să măsoare înălțimea zăpezii dimineața (și, eventual, să vă sune)
    6. Minute de sfârșit - componenta de minute la ora pe care doriți să o măsoare dimineața.
    7. URL-ul Alert Webhook - Aceasta ar trebui să fie adresa URL pe care ați salvat-o în pasul anterior, care arată astfel:
    8. URL-ul Webhook de măsurare - Aceasta ar trebui să fie aceeași adresă URL ca mai sus, dar înlocuiți snow_alert cu snow_measurement

Pasul 5: Montați senzorul

Montați senzorul
Montați senzorul
Montați senzorul
Montați senzorul
Montați senzorul
Montați senzorul

În acest moment, totul ar trebui să fie pregătit. Veți dori să tăiați găuri în recipientul de plastic și să îl montați undeva la câțiva metri de sol. Modul exact în care îl montați va depinde de piesele și obiectivul dvs., dar iată câteva recomandări pentru a-l corecta.

  • Asigurați-vă că senzorul este orientat în jos la un unghi ușor. Nu doriți să arate drept în jos, deoarece cutia dvs. va arunca o umbră acolo unde zăpada nu lovește pământul.
  • Veți dori ca senzorul să se ridice de pe zăpadă la aproximativ 3 metri.
  • Zăpada se topește în apă, deci asigurați-vă că configurația dvs. este rezonabil impermeabilă.
  • Asigură-te că ai putere! Fie un cablu USB lung, fie un cablu prelungitor ar trebui să vă îndepărteze de un acoperiș pentru a ajunge la un loc util. Oricum, asigurați-vă că este în siguranță afară.

Pasul 6: Obțineți apelul

Obțineți apelul!
Obțineți apelul!

Dacă totul merge conform planului, ar trebui să primiți apelul dimineața dacă ninge. Dacă ceva nu funcționează, verificați jurnalele de distanță din Foi de calcul Google pentru a vedea ce a fost măsurat de fapt.

Provocarea zăpezii
Provocarea zăpezii
Provocarea zăpezii
Provocarea zăpezii

Runner Up în Snow Challenge

Recomandat: