Πίνακας περιεχομένων:

Συνδεδεμένο χρονόμετρο: 5 βήματα
Συνδεδεμένο χρονόμετρο: 5 βήματα

Βίντεο: Συνδεδεμένο χρονόμετρο: 5 βήματα

Βίντεο: Συνδεδεμένο χρονόμετρο: 5 βήματα
Βίντεο: Πως μπορούμε να οργανώσουμε την εβδομάδα μας με 5 βήματα 2024, Νοέμβριος
Anonim
Συνδεδεμένο Χρονόμετρο
Συνδεδεμένο Χρονόμετρο
Συνδεδεμένο Χρονόμετρο
Συνδεδεμένο Χρονόμετρο
Συνδεδεμένο Χρονόμετρο
Συνδεδεμένο Χρονόμετρο

Γεια! Σε αυτό το σεμινάριο θα μάθετε πώς μπορείτε να συνδέσετε οποιαδήποτε συμβατή με Arduino συσκευή, εξοπλισμένη με WiFi, σε REST API! Χρησιμοποιήστε το webapp του GitKraken Glo Board για να δημιουργήσετε πίνακες, στήλες και κάρτες για να οργανώσετε πράγματα!

Απαιτείται κάποια γνώση για το πώς λειτουργεί το δημόσιο API. Αυτό το έργο προορίζεται να χρησιμοποιήσει το API του GitKraken Glo για να παρακολουθήσει το χρόνο που αφιερώνετε σε εργασίες στις λίστες που πρέπει να κάνετε.

Για παράδειγμα, πρέπει να κάνετε αυτές τις εργασίες:

- Πίνω καφέ

Πατάτε έναρξη όταν ξεκινάτε, όταν τελειώσετε, πατάτε Τέλος και voilà, ο χρόνος που ξοδεύετε σχολιάζεται.

Βήμα 1: Δημιουργία

Χτίζω
Χτίζω
Χτίζω
Χτίζω

Για να χτίσετε, μπορείτε να σκεφτείτε οτιδήποτε. Ένα μικρό χρονόμετρο θα ήταν υπέροχο, αλλά δεν έκανα τίποτα μικρό.

Έτσι, τα κουμπιά από χαρτόνι και arcade ήταν ο δρόμος!

Ο πίνακας που χρησιμοποίησα είναι ένα ESP8266 WeMos D1 Mini. Αυτό είναι φθηνότερο από ένα Arduino και διαθέτει WiFi επί του σκάφους!

Η οθόνη είναι Nokia 5110 LCD.

ν

Λίστα μερών στο AliExpress:

  • Nokia 5110
  • 2 κουμπιά arcade
  • ESP8266
  • Καλώδια βραχυκυκλωτήρων
  • Κουτί από χαρτόνι

Μπορείτε ουσιαστικά να το βρείτε οπουδήποτε ή σε άλλους ιστότοπους όπως το Amazon ή το eBay.

Συνολικός λογαριασμός: 5 € 86

Συνδέσεις καρφιτσών:

ESP8266 WeMos D1 Mini ↔ Nokia 5110 LCD

  • D2 (GPIO4) ↔ 0 RST
  • D1 (GPIO5) ↔ 1 CE
  • D6 (GPIO12) ↔ 2 DC
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3 ↔ 5 VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini ↔ Arcade κουμπιά

D3 (GPI18) ↔ Αριστερό κουμπί

D4 (GPI17) ↔ Δεξί κουμπί

Η άλλη καρφίτσα του κουμπιού είναι συνδεδεμένη στη γείωση (GND).

Βήμα 2: Κωδικός

Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας

Δώσε μου απλά τον κωδικό

Μπορείτε να βρείτε τον πλήρη πηγαίο κώδικα εδώ:

github.com/antoinech/glo-stopwatch

Για να λειτουργήσει για εσάς, θα πρέπει να αλλάξετε αυτές τις μεταβλητές:

// Τοποθετήστε τα διαπιστευτήριά σας WiFi εδώ char* ssid = "--your-ssid--"; const char* password = "--your-password--"; // Βάλτε το προσωπικό σας διακριτικό πρόσβασης (https://support.gitkraken.com/developers/pats/) const char *bearer = "Φορέας XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Θα χρειαστείτε επίσης 2 βιβλιοθήκες Adafruit:

github.com/adafruit/Adafruit-GFX-Library

github.com/adafruit/Adafruit-PCD8544-Nokia…

Και αυτό το φοβερό Arduino Json:

arduinojson.org/

Επεξηγήσεις

Στον πηγαίο κώδικα θα μάθετε:

  • πώς να συνδεθείτε σε ένα τελικό σημείο
  • πώς να υποβάλετε ένα αίτημα POST ή GET
  • πώς να σειριοποιήσετε μια απάντηση JSON για να λάβετε αντικείμενα και πίνακες
  • πώς να εμφανίσετε κείμενο και εικόνες σε μια οθόνη Nokia 5110 LCD

Αν θέλετε να μάθετε περισσότερα σχετικά με αυτό το API:

support.gitkraken.com/developers/overview/

Αυτό το αίτημα θα μπορούσε να λειτουργήσει από απόσταση με οποιοδήποτε API που χρησιμοποιεί αιτήματα POST και GET:)

Βήμα 3: Συνδεθείτε σε έναν ιστότοπο

Αυτός ο ψευδοκώδικας σας εξηγεί πώς μπορείτε να συνδεθείτε σε έναν ιστότοπο HTTPS. Τα πρώτα του βήματα είναι τα ίδια με τα α

Πελάτης WiFiClient

αλλά με ένα βήμα επαλήθευσης. Πρέπει να μεταβείτε στο τελικό σημείο API που θέλετε να επαληθεύσετε και να ελέγξετε το αποτύπωμα SHA1 του πιστοποιητικού. Αντιγραφή επικολλήστε το ως συμβολοσειρά στον κωδικό σας και καλέστε το client.verify (δακτυλικό αποτύπωμα, hosturl).

WiFiClientSecure πελάτης.

// Σύνδεση σε WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, κωδικός πρόσβασης); while (WiFi.status ()! = WL_CONNECTED) {καθυστέρηση (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("η σύνδεση απέτυχε"); ΕΠΙΣΤΡΟΦΗ; } if (client.verify (δακτυλικό αποτύπωμα, κεντρικός υπολογιστής)) {Serial.println ("πιστοποιητικά ταιριάζει"); } else {Serial.println ("το πιστοποιητικό δεν ταιριάζει"); }

Βήμα 4: Κάντε αιτήματα POST / GET

ΘΕΣΗ

Αυτή είναι η σύνταξη για την υποβολή αιτήματος POST:

String PostData = "{"; PostData += "\" κείμενο / ": \" το μήνυμά μου / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Εξουσιοδότηση:" + φορέας + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application/json / r / n" + "Content-Length:" + PostData. length () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("το αίτημα στάλθηκε");

το PostData είναι τα δεδομένα που στέλνετε ως JSON, σε αυτήν την περίπτωση:

{

"text": "το μήνυμά μου"}

Η μεταβλητή url είναι το url του τελικού σημείου, ο κεντρικός υπολογιστής, το url της ιστοσελίδας, ο φορέας είναι το διακριτικό πρόσβασης API.

ΠΑΙΡΝΩ

Αυτός είναι ο ψευδοκώδικας για ένα αίτημα GET:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Εξουσιοδότηση:" + φορέας + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Σύνδεση: κρατήστε ζωντανή / r / n / r / n"); Serial.println ("το αίτημα στάλθηκε"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("οι κεφαλίδες λαμβάνονται"); Διακοπή; }} String line = client.readStringUntil ('\ n');

Το αποτέλεσμα αυτής της εντολής θα αποθηκευτεί στη μεταβλητή γραμμής.

Βήμα 5: LCD JSON & NOKIA

Για να επιτύχετε ένα παρόμοιο έργο, θα χρειαστεί να εμφανίσετε εικόνες, κείμενα και σύμβολα στην οθόνη Nokia 5110 της Nokia. Μπορείτε να δείτε αυτό το In Depth Tutorial από lastminuteengineers.

Για να χειριστείτε το JSON στο Arduino C ++, χρησιμοποιήστε τον ιστότοπο ArduinoJson που θα σας τα πει όλα!

Μην διστάσετε να δημοσιεύσετε ερωτήσεις εάν έχετε ή να δημοσιεύσετε ό, τι φτιάξατε με αυτόν τον πηγαίο κώδικα / φροντιστήριο.

Συνιστάται: