» Ηλεκτρονικά » Arduino »Πελάτης για το openweathermap.org με βάση το Wemos d1 mini

Client για το openweathermap.org με βάση το Wemos d1 mini


Η ιδέα δανείζεται από το έργο. ESP8266 Weather Display.

Αποφάσισα να το θυμηθώ.
Οι ακόλουθες εργασίες καθορίστηκαν:
  1. Ενημέρωση κώδικα που σχετίζεται με τη χρήση νέα έκδοση βιβλιοθήκες ArduinoJson.h.
  2. Επαναπρογράψτε τον κώδικα χρησιμοποιώντας τη λειτουργία millis () αντί για τη λειτουργία καθυστέρησης (). Είναι σαφές ότι με τη χρήση καθυστέρησης για να ορίσετε μια παύση μεταξύ αλλαγής πληροφοριών στην οθόνη, είναι αδύνατο να εφαρμοστούν οι έλεγχοι κουμπιών.
  3. Κάνε κατεβάστε σκίτσα μέσω Wifi;
  4. Απομακρύνετε από το ογκώδες Wemos D1 R2 στο μίνι Wemos D1 mini.
  5. Όποτε είναι δυνατόν Ρυθμίστε την οθόνη;
  6. Χρησιμοποιήστε μια έτοιμη θήκη με τρύπες για συσκευές για συσκευές LCD1602.
  7. Χρησιμοποιήστε τα τυπικά κουμπιά 6x6 που έχουν κολληθεί στο πινέλο. Προσθέστε κουμπιά ελέγχου φωτισμού, ένα κουμπί καρουσέλ για την αλλαγή των εμφανιζόμενων δεδομένων και ένα κουμπί για αναγκαστική ενημέρωση δεδομένων από το διακομιστή.


Χρησιμοποιήθηκαν τα ακόλουθα στοιχεία:
  1. Η θήκη είναι κατασκευασμένη από πλαστικό ABS με σετ καλύμματος για τα κουμπιά.
  2. Αντηρίδες νάυλον 6 + 5 mm αρσενικό M3 μαύρο, 4 τεμάχια.
  3. M3 καρφιά νάυλον μαύρο, 4 τεμάχια?
  4. Νάιλον στύλοι 6 + 5 mm αρσενικό Μ2 λευκό, 3 τεμ.
  5. Βάση νάυλον 6 mm μητέρα λευκό, 1 τεμάχιο.
  6. Βάση νάυλον 8 mm μητέρα λευκό, 1 τεμάχιο.
  7. Ράφια νάυλον 10 χιλιοστά μητέρα λευκό, 2 τεμάχια.
  8. LCD 1602 (I2C), κίτρινο.
  9. Wemos d1 mini;
  10. Wemos d1 DC-Power ασπίδα?
  11. Πινέλο 3x7;
  12. Κουμπιά 6x6, ύψος 7 mm, 3pcs.
  13. Dupont σύρματα 10cm μητέρα μητέρα, 4 τεμάχια?
  14. 24 AWG σύρματα μαύρα και κόκκινα.
  15. Σύρματα από σιλικόνη 20 AWG μπλε και άσπρο.
  16. Αντίσταση 5 kOhm - 2 τεμ., 10 kOhm - 1 τεμάχιο (που έρχεται σε επαφή με το χέρι)?
  17. Τροφοδοτικό 9V 1A;
  18. Εποξειδική κόλλα δύο συστατικών.


Η χρησιμοποιούμενη περίπτωση έχει πολλά πλεονεκτήματα. Πρώτον, εκτός από την οθόνη, η τυποποιημένη τυπική μονάδα αποσύνδεσης 3x7 με τα στοιχεία που είναι εγκατεστημένα και στις δύο πλευρές τοποθετείται τέλεια σε ύψος. Δεύτερον, σε δύο άκρα έχει ορθογώνια ανοίγματα για ψύξη. Αποδείχθηκε ότι οι βραχυκυκλωτήρες μεταξύ αυτών των τρυπών κόβονται τέλεια με μίνι-αρχεία 3 και 4 mm. Αν κόψετε δύο ζευγάρια και κόψετε μια μικρή ορθογώνια οπή στην θήκη, τότε ο συνδετήρας τροφοδοσίας DC-005 πηγαίνει τέλεια στην τρύπα που σχηματίζεται με πολύπλοκη γεωμετρία. Επίσης, το πίσω μέρος αυτής της θήκης έχει μια μεγάλη τετράγωνη τρύπα, η οποία, προφανώς, έπρεπε να εγκαταστήσει μπαταρίες.Μέσα από αυτό, είναι εύκολο να συνδέσετε κάτι μέσα χωρίς να αποσυναρμολογήσετε την θήκη. Στη συνέχεια, μπορεί απλά να κλείσει με γυαλί ή πλαστικό.

Δημιουργία προόδου:
Πρώτον, κατασκευάστηκε ένα πρωτότυπο σε ένα χαρτόνι.

Στη συνέχεια, η υπόθεση ολοκληρώνεται με ένα αρχείο.

Μετά από αυτό, τα κύρια εξαρτήματα είναι συγκολλημένα και το εξάρτημα πραγματοποιείται. Τα πόδια ήταν ειδικά λυγισμένα έτσι ώστε οι αποσπώμενες αρθρώσεις να ταιριάζουν σε ύψος. Κάποια ράφια από νάυλον έπρεπε να τοποθετηθούν έτσι ώστε όλα τα κουμπιά να ήταν στο ίδιο ύψος.




Ως αποτέλεσμα, η μπροστινή πλευρά του πίνακα με κουμπιά, αντιστάσεις και καλώδια έχει ως εξής:

Ως αποτέλεσμα, τα εσωτερικά της συσκευής μοιάζουν με αυτό:

Όταν συναρμολογηθεί, η συσκευή μοιάζει με αυτή:





Αντιμετώπιση δυσκολιών:
  1. Για πολύ καιρό δεν κατάλαβα γιατί τα κουμπιά δεν λειτούργησαν, παρόλο που το πολύμετρο έδειξε καθαρά 0 όταν πιέζονταν τα κουμπιά και 4,6 - 5,0 V όταν πιέζονταν (ανάλογα με την τροφοδοσία). Αποδείχθηκε ότι στις συσκευές Wemos / Lolin είναι απαραίτητο να υποδείξετε τους αριθμούς GPIO ως αριθμούς καρφίτσας στο σκίτσο. Για παράδειγμα, το D5 είναι GPIO14. Αυτός είναι ο 14ος ακροδέκτης.
    const κουμπί intPin = 14;

  2. Για να δείτε τον καιρό, η κατάσταση είναι απαραίτητη:
    currentMillis - previousMillis == weatherTime

    Αυστηρή αλληλογραφία, διότι πρέπει να γίνει μία φορά.
    Για να υποβάλετε αίτημα στον διακομιστή, η προϋπόθεση είναι απαραίτητη:
    currentMillis - previousMillis> = getDataTime

    Χαλαρή συμμόρφωση, επειδή εκτελείται μέχρι να οριστεί η σημαία "λήψη δεδομένων".
    Στην πραγματικότητα, αυτό δεν είναι προφανές, και για να καταλάβουμε αυτό, χρειάστηκε πολύ καιρό.
  3. Επίσης, έπρεπε να βασανίσω με την απάντηση του διακομιστή:
    String weather = ρίζα ["weather"] [0] ["main"];
    Περιγραφή συμβολοσειράς = root ["weather"] [0] ["περιγραφή"];

    Το μηδέν ήταν εντελώς αναπάντητο. Αποδεικνύεται ότι στη Μόσχα υπάρχουν δύο μετεωρολογικοί σταθμοί και ο δεύτερος δεν λειτουργεί πάντα (για να λάβετε δεδομένα από αυτό, πρέπει να καθορίσετε [1] εάν είναι ενεργός).

Η αποθήκη με κώδικα και βιβλιοθήκες βρίσκεται εδώ.
5.5
8.5
10

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3ρουζκαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά
7 σχόλια
ino53, είναι εκπληκτικό το γεγονός ότι συναντηθήκαμε ερήμην, διαβάζοντας ένα άρθρο όχι για τους ενισχυτές και την BP. Αν και δεν προκαλεί έκπληξη. Και περίπου ένα χρόνο υποθέτω για πολύ καιρό. Είμαι 67 ετών, αλλά αυτό δεν είναι το θέμα.
Σας ευχαριστώ, θα ξέρω για ένα καλό πράγμα.
Οι πατέρες μου είναι τα αρχικά και το έτος γέννησης του 1953. Έχω 42 χρόνια τεχνικής εμπειρίας στο αρχείο εργασίας μου, δεν ξέρω για τον ερασιτέχνη - ο μπαμπάς (όχι ο Λουκασένκο, δεν έχουμε τσιγγάνοι) είπε ότι άρχισα να αρπάζω το συγκολλητικό σίδερο πριν μιλήσω. Δεν κατάλαβα τίποτα γραπτό, αλλά αυτό είναι ένα βήμα παραπέρα, καλά.
Ο συγγραφέας
Το κάνω. Σε γογγύλι http: //arduinoΤο .esp8266.com / stable / package_esp8266com_index.json έχει υποστήριξη για αυτά τα συμβούλια.
Και μπορείτε να προγραμματίσετε χρησιμοποιώντας ένα Arduino IDE;
Ο συγγραφέας
Λοιπόν, εγώ προσωπικά διέταξα δύο κάρτες Wemos D1 R2 v2.1.0 πριν από ένα χρόνο (λειτουργούν με τον οδηγό cp210x). Και δύο Wemos d1 μίνι πριν από μισό χρόνο. Ένα από τα D1 R2 ήρθε με ένα αποβραχθέν αντίσταση από ένα κύκλωμα παροχής 12 volt. Λοιπόν, κοίταξα το κύκλωμα, βρήκα μια αντίσταση, συγκολλημένη, λειτούργησε. Διαφορετικά, δεν έχω παρατηρήσει ακόμα κανένα πρόβλημα. Όσον αφορά τη δημοτικότητα, είναι περίπου σαν το NodeMCU, είναι περίεργο ότι δεν το έχουν ακούσει.
Έμαθα για το Wemos από το άρθρο σας, η τιμή και τα χαρακτηριστικά είναι ελκυστικά, αλλά τι γίνεται με την ανθεκτικότητα;

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...