Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργία
- Βήμα 2: Κωδικός
- Βήμα 3: Συνδεθείτε σε έναν ιστότοπο
- Βήμα 4: Κάντε αιτήματα POST / GET
- Βήμα 5: LCD JSON & NOKIA
Βίντεο: Συνδεδεμένο χρονόμετρο: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Γεια! Σε αυτό το σεμινάριο θα μάθετε πώς μπορείτε να συνδέσετε οποιαδήποτε συμβατή με 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 που θα σας τα πει όλα!
Μην διστάσετε να δημοσιεύσετε ερωτήσεις εάν έχετε ή να δημοσιεύσετε ό, τι φτιάξατε με αυτόν τον πηγαίο κώδικα / φροντιστήριο.
Συνιστάται:
Smart B.A.L (συνδεδεμένο γραμματοκιβώτιο): 4 βήματα
Smart B.A.L (συνδεδεμένο γραμματοκιβώτιο): Έχετε βαρεθεί να ελέγχετε κάθε φορά το γραμματοκιβώτιό σας ενώ δεν υπάρχει τίποτα μέσα. Θέλετε να μάθετε εάν λαμβάνετε την αλληλογραφία σας ή ένα δέμα κατά τη διάρκεια ενός ταξιδιού. Επομένως, το συνδεδεμένο γραμματοκιβώτιο είναι για εσάς. Θα σας ειδοποιήσει εάν ο ταχυδρόμος έχει καταθέσει ένα ταχυδρομείο ή ένα ισοδύναμο
Κάντε το δικό σας συνδεδεμένο θερμοστάτη θέρμανσης και εξοικονομήστε χρήματα με θέρμανση: 53 βήματα (με εικόνες)
Κάντε το δικό σας συνδεδεμένο θερμοστάτη θέρμανσης και εξοικονομήστε χρήματα με θέρμανση: Ποιος είναι ο σκοπός; Αυξήστε την άνεση θερμαίνοντας το σπίτι σας ακριβώς όπως θέλετε Εξοικονομήστε και μειώστε τις εκπομπές αερίων θερμοκηπίου θερμαίνοντας το σπίτι σας μόνο όταν το χρειάζεστε Κρατήστε τον έλεγχο της θέρμανσής σας όπου κι αν βρίσκεστε Να είστε περήφανοι που το κάνατε
Όλα σε ένα ψηφιακό χρονόμετρο (ρολόι, χρονόμετρο, ξυπνητήρι, θερμοκρασία): 10 βήματα (με εικόνες)
All in One Digital Chronometer (Ρολόι, Χρονόμετρο, Ξυπνητήρι, Θερμοκρασία): Σχεδιάζαμε να φτιάξουμε χρονόμετρο για κάποιον άλλο διαγωνισμό, αλλά αργότερα εφαρμόσαμε επίσης ένα ρολόι (χωρίς RTC). Καθώς μπήκαμε στον προγραμματισμό, ενδιαφερθήκαμε να εφαρμόσουμε περισσότερες λειτουργίες στη συσκευή και καταλήξαμε να προσθέσουμε DS3231 RTC, ως
MOS - IoT: Το συνδεδεμένο σας σύστημα Fogponic: 4 βήματα
MOS - IoT: Το συνδεδεμένο σας σύστημα Fogponic: Μετριασμός του σοκ από το Superflux: Ο ιστότοπός μαςΑυτό το Instructables είναι η συνέχεια του Fogponic System. Εδώ, θα μπορείτε να έχετε περισσότερες επιλογές για τη μέτρηση των δεδομένων από τον υπολογιστή του θερμοκηπίου σας και τον έλεγχο πολλαπλών λειτουργιών όπως το νερό
Συνδεδεμένο σπίτι: 4 βήματα
Συνδεδεμένο σπίτι: Χρησιμοποιώντας ένα συνδυασμό arduinos, υπηρεσιών ιστού, διακόπτες wifi και ένα παλιό mac, η σύνδεση αισθητήρων και πληροφοριών καθιστά δυνατή τη διαχείριση του περιβάλλοντος και την παροχή πληροφοριών με ανθρώπινο τρόπο. Αυτό δεν είναι ένα έργο για άτομα με λιποθυμία και είναι τεχνικό .Τ