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

Tweeting Weather Station: 8 βήματα (με εικόνες)
Tweeting Weather Station: 8 βήματα (με εικόνες)

Βίντεο: Tweeting Weather Station: 8 βήματα (με εικόνες)

Βίντεο: Tweeting Weather Station: 8 βήματα (με εικόνες)
Βίντεο: Διάσημοι που ΥΠΟΣΤΗΡΙΖΟΥΝ Το 🏳️‍🌈 (Part 2) 2024, Ιούλιος
Anonim
Tweeting Μετεωρολογικός Σταθμός
Tweeting Μετεωρολογικός Σταθμός

Θέλατε ποτέ να παρακολουθείτε τις τρέχουσες καιρικές συνθήκες της πόλης σας, το αποτύπωμα άνθρακα, τον θόρυβο και τη ρύπανση; Θέλετε να είστε Σταυροφόρος για την Κλιματική Αλλαγή ή να δημιουργήσετε τον δικό σας Μετεωρολογικό Σταθμό Tweeting και να μοιραστείτε τις τοπικές καιρικές συνθήκες με τον κόσμο;

Γνωρίστε το Tweeting Weather IoT Station aka TWIST - μια πλατφόρμα απόκτησης DIY, ανοιχτού κώδικα περιβαλλοντικής παρακολούθησης και μετεωρολογικών δεδομένων. Ο σκοπός του TWIST είναι έτσι ώστε άτομα και κοινότητες να μπορούν να συλλέγουν δεδομένα για το τι συμβαίνει πραγματικά στο περιβάλλον τους και να μοιράζονται αυτά τα δεδομένα σε κοινωνικά μέσα όπως το Twitter.

  • Το TWIST είναι μια πλατφόρμα που υποστηρίζει το Internet of Things (IoT).
  • Ο εγκέφαλος του TWIST είναι ένας πίνακας Intel Edison.
  • Το TWIST είναι συμβατό με μια ποικιλία αισθητήρων.
  • Όλοι οι κώδικες, τα αρχεία σχεδίασης (σχηματικά & διάταξη PCB) είναι ανοιχτού κώδικα. Αυτό σημαίνει ότι οποιοσδήποτε μπορεί να συνεισφέρει στην πλατφόρμα TWIST μοιράζοντας κώδικα και σχήματα για διαφορετικούς αισθητήρες.

Το TWIST αποτελείται από τρία τεχνολογικά στρώματα:

Το πρώτο στρώμα είναι ένας πίνακας υλικού που περιέχει όλους τους αισθητήρες καιρού και περιβάλλοντος γνωστούς ως «πίνακας αισθητήρων». Όπως υποδηλώνει το όνομα, φέρει αισθητήρες που μετρούν τη σύνθεση του αέρα, τη θερμοκρασία, την υγρασία, τη βροχή. Μπορούν επίσης να προστεθούν επιπλέον αισθητήρες παρόμοιας σεισμικής δραστηριότητας, δείκτης UV, βαρομετρικής πίεσης, υψόμετρου, lux (φωτεινότητας), ηχητικών επιπέδων, ταχύτητας & κατεύθυνσης ανέμου κ.λπ. Μόλις ρυθμιστεί, ο πίνακας αισθητήρων είναι σε θέση να μεταφέρει δεδομένα που μετρούνται από τους αισθητήρες στο δεύτερο επίπεδο. Το δεύτερο επίπεδο είναι ο Intel Edison Board που λαμβάνει δεδομένα από το Sensor Board, τα επεξεργάζεται και τα στέλνει στο επόμενο επίπεδο. Το τρίτο επίπεδο συνδέει τον πίνακα Edison στο Διαδίκτυο μέσω Wi-Fi χρησιμοποιώντας την ασύρματη μονάδα στον πίνακα Edison και το Tweet's the Current Weather & Environmental συνθήκες.

Η τροφοδοσία της συσκευής μπορεί να παρέχεται από ένα ηλιακό πάνελ ή έναν προσαρμογέα AC.

Αποθετήρια που ελέγχονται από εκδόσεις

Και τα τρία τεχνολογικά επίπεδα του TWIST είναι ανοικτού κώδικα και έτσι όλα τα αρχεία που χρησιμοποιούμε για κώδικα, ανάπτυξη PCB, μηχανικό σχεδιασμό κ.λπ. είναι άμεσα διαθέσιμα στο αποθετήριο Github.

Δηλώσεις συμμετοχής στο διαγωνισμό

Intel IoT Invitational

Θα ήθελα να ευχαριστήσω την Intel+Instructables που μου παρείχε τον Intel Edison Board. Σκοπεύω να φτιάξω πολλά περισσότερα σχετικά με το IoT Instructables χρησιμοποιώντας τον πίνακα Edison.

#iotweatherstn

Αν κάνετε TWIST, μην ξεχάσετε να κάνετε tweet τον καιρό χρησιμοποιώντας το #iotweatherstn. Το #iotweatherstn μπορεί να είναι ένα hashtag που χρησιμοποιείται από όλους τους Μετεωρολογικούς Σταθμούς Tweeting που υποστηρίζουν IoT.

Βήμα 1: Μέρη και υλικά

Ανταλλακτικά και Υλικά
Ανταλλακτικά και Υλικά
Ανταλλακτικά και Υλικά
Ανταλλακτικά και Υλικά
Ανταλλακτικά και Υλικά
Ανταλλακτικά και Υλικά

QuantityPartDetails 1

Intel Edison

με το Arduino Breakout Board

1

Αισθητήρας καύσιμου αερίου MQ2

1

YL-83

Αισθητήρας βροχής

1

SL-HS-220

Αισθητήρας θερμοκρασίας & υγρασίας

1

Αντίσταση

32Κ

4,7 χιλ

3 Metal Standoff 1 ίντσα

1

Αντίσταση

32Κ

4,7 χιλ

2

Ξύλινο φύλλο Α4 Μέγεθος

Μπορεί αργότερα να κοπεί σε μέγεθος

3

Metal Standoff

1 ίντσα

Βήμα 2: Ηλεκτρικός σχεδιασμός

Εξουσία

Ολόκληρο το σύστημα τροφοδοτείται από τροφοδοτικό 5V 1A. Οι αισθητήρες (Θερμοκρασία, Υγρασία, Βροχή, Αέριο) αντλούν περίπου 200 mA, ο Edison περίπου 500 mA, Δεδομένου ότι το συνολικό ρεύμα που απαιτείται είναι μικρότερο από 1 amp, η παροχή 1 amp θα λειτουργήσει μια χαρά. Η ενσωματωμένη πράσινη λυχνία LED στην ψηφιακή ακίδα 13 της πλακέτας Edison χρησιμοποιείται για να δείξει την κατάσταση ισχύος.

ControlAn Intel Edison τρέχει την παράσταση για το TWIST. Το Edison είναι τοποθετημένο σε ένα Arduino breakout board, το οποίο καθιστά εύκολη την ανάγνωση των ψηφιακών και αναλογικών σημάτων από τους αισθητήρες. Το Edison συνδέεται με τη ράγα 5V μέσω καλωδίου micro USB. Το Edison διαθέτει ενσωματωμένο ραδιόφωνο Wi-Fi, το οποίο του επιτρέπει να συνδέεται στο Twitter χωρίς να χρειάζεται πρόσθετο υλικό.

Ρολόι πραγματικού χρόνου (RTC)

Δεδομένου ότι η χρονική σφράγιση που πραγματοποιείται αυτόματα από το Twitter για κάθε tweet έχει ανάλυση περιορισμένη στον αριθμό των συνολικών ημερών από τη στιγμή του Tweeting, ένα ρολόι σε πραγματικό χρόνο χρησιμοποιείται για να σφραγίσει με ακρίβεια την ημερομηνία και την ώρα στο Hour-Minute- Δεύτερη μορφή. Το ρολόι σε πραγματικό χρόνο που χρησιμοποιείται στην πλατφόρμα TWIST είναι η μονάδα DS-1307 RTC.

Η πιο βασική ρύθμιση αυτού του συστήματος διαθέτει τέσσερις αισθητήρες (Θερμοκρασία, Υγρασία, Βροχή, Αέριο) που συνδέονται με το Edison. Μπορούν να προστεθούν πρόσθετοι αισθητήρες, όπως Θόρυβος, Άνεμος, κλπ. Κάθε αισθητήρας τροφοδοτείται απευθείας από τη ράγα 5V και έχει τον ακροδέκτη σήματος συνδεδεμένος αντίστοιχα με τους αναλογικούς ακροδέκτες Α0 έως Α2 και τον ψηφιακό πείρο 2 στην πλακέτα διάσπασης Edison. Οι αισθητήρες έχουν επίσης καθένα ποτενσιόμετρο ρύθμισης ευαισθησίας τοποθετημένο σε κάθε πλακέτα αισθητήρων. Το MQ-2 είναι ένας αισθητήρας καύσιμου αερίου (υγροποιημένο πετρέλαιο, προπάνιο, υδρογόνο και μεθάνιο) που εξάγει αναλογική τάση ανάλογη της συγκέντρωσης των αερίων σε μέρη ανά εκατομμύριο. Το SL-HS-220 διαθέτει θερμίστορ που δίνει την τιμή θερμοκρασίας. Δεδομένου ότι η έξοδος του θερμίστορ είναι μη γραμμική, ο αντίστοιχος πίνακας θερμοκρασίας δίνεται στο αποθετήριο αισθητήρων. Το θερμίστορ απαιτεί κύκλωμα διαχωριστή τάσης όταν συνδέεται στην πλακέτα Edison όπως φαίνεται στο διάγραμμα κυκλώματος. Το SL-HS-220 διαθέτει επίσης ενσωματωμένο υγρόμετρο που μετρά την υγρασία και εξάγει αναλογική τάση που αντιστοιχεί σε σταθερή τιμή υγρασίας. Ο πίνακας υγρασίας-τάσης δίνεται επίσης στο αποθετήριο αισθητήρων. Ένα κοινό υποκατάστατο του SL-HS-220 είναι ο αισθητήρας DHT11. Ο αισθητήρας βροχής/ο αισθητήρας νερού έχει ένα ποτενσιόμετρο το οποίο έχει ρυθμιστεί ώστε να δίνει μια ψηφιακή έξοδο για μια ορισμένη ποσότητα βροχής του οποίου η ευαισθησία μπορεί να ρυθμιστεί από τον χρήστη.

Μετεωρολογικός Σταθμός.fzz

Βήμα 3: Μηχανολογικός σχεδιασμός

Το σώμα του TWIST είναι κατασκευασμένο από δύο πλάκες από ξύλινα φύλλα. Παρόλο που χρησιμοποίησα κόντρα πλακέ 1/4 ", ο σχεδιασμός μπορεί να συναρμολογηθεί από οποιοδήποτε φύλλο, καθώς η απόσταση (διατηρείται από αναρτήσεις αλουμινίου 1") είναι το μόνο κρίσιμο στοιχείο. Έχω επισυνάψει τα διανυσματικά αρχεία για λήψη παραπάνω.

Κοπή λέιζερ

Για όλους εκείνους που επιθυμούν να κόψουν λέιζερ τις δύο πλάκες, έχω επισυνάψει τα αρχεία κοπής λέιζερ για λήψη παρακάτω. Περιλαμβάνει επίσης έναν επιπλέον αισθητήρα ποιότητας αέρα στο σχεδιασμό του. Έτσι, μπορείτε είτε να χρησιμοποιήσετε μια μονάδα αισθητήρα MQ2 είτε μια μονάδα αισθητήρα ποιότητας αέρα ανάλογα με την επιλογή σας.

Βήμα 4: Συναρμολόγηση πλαισίου: Πρόσωπο & βάση

Μετωπική πλάκα

Οι αισθητήρες ταιριάζουν στις αντίστοιχες οπές και αποκοπές τους και μπορούν να στερεωθούν χρησιμοποιώντας βίδες ή κόλλα.

Πλάκα βάσης

Οι εκκρεμότητες του σκάφους Edison βιδώνονται στη Βάση. Ο μετατροπέας αναλογικού σε ψηφιακό (ADC) που είναι συνδεδεμένος στον αισθητήρα βροχής μπορεί επίσης να βιδωθεί στη Βάση.

Επιπρόσθετα εξαρτήματα όπως οι βομβητές ή το κύκλωμα ρυθμιστή τάσης για την ηλιακή είσοδο μπορούν επίσης να βιδωθούν στη Βάση.

Η Βάση και η Πρόσοψη χωρίζονται και οι δύο με αναστολές 1.

Βήμα 5: Συναρμολόγηση ηλεκτρονικών & αισθητήρων

Εξουσία

Η τροφοδοσία του συστήματος παρέχεται από έναν προσαρμογέα τοίχου με μια τυπική υποδοχή κάννης, η οποία συνδέεται απευθείας με τη φίσα του Edison's Barrel. Το σύστημα μπορεί επίσης να τροφοδοτηθεί μέσω της θύρας USB στην πλακέτα Edison. Μπορείτε επίσης να τροφοδοτήσετε την πλακέτα από εξωτερικό ηλιακό πάνελ.

Αισθητήρες

Οι αισθητήρες είναι προσαρτημένοι σε σανίδες ανάρτησης με αρσενικές κεφαλίδες και ως εκ τούτου μπορούν να συνδεθούν απευθείας με το Edison μέσω καλωδίων από άντρα σε γυναίκα.

Βήμα 6: Διαμόρφωση Twitter

Σε παραγγελία στο Tweet, χρησιμοποιούμε μια εφαρμογή τρίτου κατασκευαστή της NeoCat που λαμβάνει το διακριτικό Twitter που θα χρειαστεί να κάνετε Tweet με τον πίνακα Edison. Τα διακριτικά μπορούν επίσης να προέλθουν από την ιστοσελίδα προγραμματιστών του Twitter.

Έτσι, για να ξεκινήσετε, επισκεφτείτε τον ιστότοπο του NeoCat, ακολουθήστε το σεμινάριό του/της για να αποκτήσετε τη βιβλιοθήκη του twitter και το διακριτικό σας στο twitter. Όπως ανέφερε η NeoCat στον ιστότοπό τους, μην κάνετε κατάχρηση της υπηρεσίας. Κρατήστε τα tweets σας αραιά. Εάν χρειάζεστε κάτι που tweets κάθε 6 δευτερόλεπτα, θα πρέπει να ρυθμίσετε τον δικό σας διακομιστή και εφαρμογή twitter και ως εκ τούτου ο κώδικας που έγραψα διασφαλίζει ότι ο διακομιστής του NeoCat δεν υπερφορτώνεται (TWIST tweets κάθε 6 ώρες).

Η βιβλιοθήκη χρησιμοποιεί τον ιστότοπο αυτού του NeoCat ως διακομιστή μεσολάβησης για πράγματα OAuth. Το tweet σας ενδέχεται να μην εφαρμοστεί κατά τη συντήρηση του ιστότοπου αυτού του NeoCat. Το Twitter φαίνεται να απορρίπτει επαναλαμβανόμενα tweets με το ίδιο περιεχόμενο (επιστρέφει το σφάλμα 403).

Twitter Token

Βιβλιοθήκη Tweet Arduino

Βήμα 7: Λογισμικό και διαμόρφωση

Ακολουθήστε τον οδηγό ρύθμισης της Intel για το Intel Edsion πριν ξεκινήσετε την κωδικοποίηση.

Το πρόγραμμα είναι ένα σκίτσο Arduino που τρέχει στο Edison. Έχω εξηγήσει καθένα από τα κύρια μπλοκ κώδικα παρακάτω.

Ο κώδικας περιλαμβάνει ορισμένες προκαθορισμένες σταθερές, δηλώσεις pin και μερικές σειριακές δηλώσεις εκτύπωσης που βοηθούν στην αντιμετώπιση προβλημάτων.

Tweet Καθυστέρηση

Δεδομένου ότι το Twitter φιλτράρει tweet που έχουν το ίδιο περιεχόμενο και τιτίβονται σε σύντομο χρονικό διάστημα μεταξύ καθενός από αυτά, έχει οριστεί τυπική καθυστέρηση 3 ωρών (10800000 χιλιοστών δευτερολέπτου) μεταξύ κάθε τιτίβισμα.

tweetMessage ();

καθυστέρηση (10800000)

Τύπος Casting

Πολλές από τις ενδείξεις που λαμβάνουμε από τους αισθητήρες βρίσκονται στον τύπο δεδομένων «int» ή «float». Αλλά δεδομένου ότι κάνουμε tweeting αυτές τις τιμές, πρέπει να τις μετατρέψουμε σε τύπο δεδομένων "String". Για αυτό χρησιμοποιούμε μια ειδική τεχνική Type-casting.

char *dtostrf (διπλό val, υπογεγραμμένο πλάτος char, unsigned char char prec, char *sout) {

char fmt [100]; sprintf (fmt, "%%% d.%df", width, prec); sprintf (sout, fmt, val); επιστροφή sout? }

Twitter Token

Το διακριτικό του twitter δημιουργείται στον ιστότοπο της NeoCat και πρέπει να επικολληθεί στον χώρο των διακριτικών εδώ.

void tweetMessage () {

Twitter twitter ("ENTER TWITTER TOKEN ΕΔΩ");

Tweet Τιμές Αισθητήρα

Προκειμένου να αναβοσβήνει η τιμή του αισθητήρα, συμπεριλαμβάνουμε πρώτα τον τύπο αισθητήρα. Παράδειγμα: "Υγρασία". Αυτό ακολουθείται από μια δήλωση χαρακτήρων και μια γραμμή κώδικα που απαιτείται για τη μετάδοση τύπου. Στη συνέχεια προσθέτουμε μια δήλωση για τη μονάδα μέτρησης. Παράδειγμα: "%RH". Μπορούμε να συνεχίσουμε να προσθέτουμε τιμές άλλων αισθητήρων επίσης με παρόμοιο τρόπο.

υγρασία(); επιπλέουν υγρό?

// Μήνυμα Twitter String stringMsg = "Υγρασία:"; char tmp [10]; dtostrf (υγρό, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Μετεωρολογικός Σταθμός Τοποθεσία & Επισήμανση

Στη συνέχεια επισημαίνουμε την τοποθεσία (Πόλη, Τοπικότητα, κλπ) και άλλες ετικέτες όπως #iotweatherstn.

stringMsg += " #Βομβάη #Bandra #iotweatherstn";

Ρολόι πραγματικού χρόνου (RTC)

Όπως εξηγήθηκε νωρίτερα, το TWIST μπορεί επίσης να Tweet τα δεδομένα ρολογιού σε πραγματικό χρόνο. Παρακάτω είναι ένα παράδειγμα του μπλοκ παραμέτρων κώδικα "ημέρας" του RTC. Η λειτουργία Ρολόι πραγματικού χρόνου είναι προαιρετική στην πλατφόρμα TWIST, καθώς η ενότητα έρχεται ξεχωριστά. Ως εκ τούτου, υπάρχει ένας ξεχωριστός κλάδος που δημιουργήθηκε στο αποθετήριο TWIST για τον κώδικα και τα σχήματα του κλάδου ρολογιού πραγματικού χρόνου.

TwistDateTime (); DateTime now = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

140 Όριο χαρακτήρων

Αυτό το μπλοκ κώδικα καλύπτει τον πίνακα συμβολοσειράς σε πίνακα 140 χαρακτήρων, έτοιμος για tweet.

char msg [140];

stringMsg.toCharArray (msg, 140);

Αντιμετώπιση προβλημάτων μηνυμάτων & σύνδεσης

Αυτό το μπλοκ κώδικα εκτυπώνει μερικές γραμμές κειμένου στο Serial Monitor για να βοηθήσει τον χρήστη να ελέγξει την κατάσταση του μηνύματος και του tweet.

// Tweet αυτό το κορόιδο!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("OK."); Serial.println ("Μήνυμα Tweeted"); } else {// Connection Test Serial.print ("απέτυχε: κωδικός"); Serial.println ("Το μήνυμα δεν είναι tweeted"); Serial.println (κατάσταση); }} else {Serial.println ("η σύνδεση απέτυχε."); Serial.println ("Το μήνυμα δεν έχει τιτιβιστεί"); }

Όλα τα άλλα μπλοκ κώδικα απλώς μετατρέπουν την αναλογική ή ψηφιακή ανάγνωση από τους αισθητήρες σε δεδομένα που μπορούν να χρησιμοποιηθούν.

Ο κώδικας μπορεί να μεταφορτωθεί από εδώ ή από το κύριο αποθετήριο:

Μετεωρολογικός Σταθμός.ino

Βήμα 8: Συμβολή στην αποθήκη αισθητήρων

Είστε προγραμματιστής, μηχανικός ή σχεδιαστής που έχει εξαιρετική ιδέα για μια νέα λειτουργία στο TWIST; Maybeσως έχετε μια καλή ιδέα για διόρθωση σφαλμάτων; Μη διστάσετε να πάρετε τον κώδικα, τα σχήματα και τα αρχεία CAD από το Github και να το τσιμπήσετε.

TWIST GitHub

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

Δεύτερο Βραβείο στο Intel® IoT Invitational

Συνιστάται: