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

CloudyData - ESP8266 σε Google Sheets Made Simple: 10 βήματα (με εικόνες)
CloudyData - ESP8266 σε Google Sheets Made Simple: 10 βήματα (με εικόνες)

Βίντεο: CloudyData - ESP8266 σε Google Sheets Made Simple: 10 βήματα (με εικόνες)

Βίντεο: CloudyData - ESP8266 σε Google Sheets Made Simple: 10 βήματα (με εικόνες)
Βίντεο: IoT: скорость управления двигателем постоянного тока с NodeMCU ESP8266 и модулем L298N 2024, Ιούλιος
Anonim
CloudyData - ESP8266 σε Υπολογιστικά φύλλα Google Made Simple
CloudyData - ESP8266 σε Υπολογιστικά φύλλα Google Made Simple

Έψαχνα για αποθήκευση δεδομένων στο cloud για πολύ καιρό τα τελευταία χρόνια: είναι ενδιαφέρον να παρακολουθούμε δεδομένα από κάθε είδους αισθητήρα, αλλά είναι πιο ενδιαφέρον αν αυτά τα δεδομένα είναι διαθέσιμα παντού χωρίς δυσκολία αποθήκευσης, όπως χρήση καρτών SD ή παρόμοια, σε τοπική αποθήκευση. Συνήθιζα να αποθηκεύω σε κάρτες SD δεδομένα ταχύτητας ανέμου πριν από χρόνια, προτού οι υπηρεσίες IoT και cloud αρχίσουν να είναι απλές στη χρήση: τώρα ένα βήμα παραπέρα είναι δυνατό με ιδιαίτερες δυσκολίες, ακόμη και αν δεν είστε ειδικός στο IoT ή προγραμματιστής.

Σε αυτό το διδακτικό θα περιγράψω πώς παρακολουθώ την ποιότητα του αέρα μου στο σπίτι, αναφερόμενη κυρίως στη συγκέντρωση σκόνης και σωματιδίων κοντά στον τρισδιάστατο εκτυπωτή μου, προσπαθώντας να καταλάβω εάν η διαδικασία τρισδιάστατης εκτύπωσης είναι επικίνδυνη από την άποψη του PM2.5 και πώς είμαι χρησιμοποιώντας τα Υπολογιστικά φύλλα Google για αποθήκευση δεδομένων, χωρίς να απαιτείται υπηρεσία τρίτου μέρους.

Βήμα 1: Γενικός στόχος

Γενικός Στόχος
Γενικός Στόχος

Θέλω να μάθω εάν η ζωή παρουσία ενός 3D εκτυπωτή μπορεί να είναι επικίνδυνη.

Για να γίνει αυτό χρειάζομαι δεδομένα και τα δεδομένα πρέπει να αποθηκευτούν στο cloud.

Θέλω να χρησιμοποιήσω τα Υπολογιστικά φύλλα Google αφού είναι απλό και αποτελεσματικό.

Θέλω επίσης το απόρρητο: οπότε η κοινή χρήση δεδομένων με την Google δεν είναι η πρώτη μου επιλογή, αλλά είναι καλύτερη από τη χρήση υπηρεσιών τρίτων, όπως κάνουν πολλοί bloggers.

Η χρήση των Υπολογιστικών φύλλων Google είναι ένα βήμα προς τη μεταφόρτωση δεδομένων σε έναν προσωπικό τοπικό αποθηκευτικό χώρο, όπως το Nextcloud σε ένα απλό NAS: αυτό θα περιγραφεί σε μελλοντικό οδηγό.

Βήμα 2: Πρώτο βήμα: Αισθητήρες

Πρώτο βήμα: Αισθητήρες
Πρώτο βήμα: Αισθητήρες
Πρώτο βήμα: Αισθητήρες
Πρώτο βήμα: Αισθητήρες

Χρησιμοποιώ 2 αισθητήρες για να παρακολουθώ την ποιότητα του αέρα στο σπίτι μου:

  • a Nova PM Sensor SDS011 Air Quality Detection Sensor Module, ένα υπέροχο κομμάτι υλικού, σχετικά απλό στη χρήση με Arduino και παρόμοιους πίνακες. Μπορείτε να το χρησιμοποιήσετε με το δικό του λογισμικό (μόνο για παράθυρα!:-() και προσαρμογέα USB, ή σύνδεση με Arduino με βιβλιοθήκες. Πολλές πληροφορίες μπορείτε να βρείτε εδώ:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • μια ασπίδα SHT30 από το Wemos, για το Wemos D1 mini: Χρησιμοποίησα μια έκδοση v1.0.0, η τρέχουσα έκδοση είναι v2.1.0 αλλά έχουν το ίδιο αποτύπωμα, τις ίδιες λειτουργίες

    wiki.wemos.cc/products:d1_mini_shields:sht…

Βήμα 3: Δεύτερο βήμα: Σύνδεση με μικροελεγκτή

Δεύτερο βήμα: Σύνδεση με μικροελεγκτή
Δεύτερο βήμα: Σύνδεση με μικροελεγκτή

Το Wemos D1 mini είναι ίσως ο καλύτερος τρόπος για να δημιουργήσετε πρωτότυπο γύρω από το ESP8266: διαθέσιμο συνδετήρα microUSB, ενσωματωμένο led, ωραίες ασπίδες.

Συνδέσα την ασπίδα SHT30 στο Wemos D1 mini απευθείας (προσέξτε τον προσανατολισμό!), Έπειτα συνέδεσα τον Nova Air Sensor με το Wemos D1 mini ως εξής:

Wemos GND καρφίτσα Nova Air αισθητήρας GND

Wemos 5V pin Nova Air sensor 5V

Wemos D5 pin (RX pin) Nova Air sensor TX

Wemos D6 pin (TX pin) Nova Air sensor RX

Μπορείτε να ρίξετε μια ματιά εδώ για περισσότερες πληροφορίες:

www.hackair.eu/docs/sds011/

www.zerozone.it/tecnologia-e-sicurezza/nov…

www.instructables.com/id/Make-one-PM25-mon…

Βήμα 4: Τρίτο βήμα: Χτίζοντας ένα σκίτσο

Τώρα πρέπει να δημιουργήσετε ένα σκίτσο: είμαστε τυχεροί, μερικοί τύποι ανέπτυξαν συγκεκριμένες βιβλιοθήκες για το Nova Air Sensor, ώστε να μπορείτε να γράψετε εύκολα το λογισμικό σας.

Το Mine χρησιμοποιεί επίσης βιβλιοθήκη SHT30, για τη μέτρηση και την αποστολή δεδομένων θερμοκρασίας και υγρασίας.

Ανακατέψα κάποιο σκίτσο που βρήκα στο διαδίκτυο, ειδικά αυτό από το nishant_sahay7, του οποίου το σεμινάριο είναι πλήρες και γεμάτο πληροφορίες. Μπορείτε να το βρείτε εδώ.

Χρησιμοποίησα αυτήν τη βιβλιοθήκη:

Θα σχολιάσω μόνο μερικές γραμμές στο σκίτσο που δημιούργησα:

γραμμή 76-77: αφυπνίζοντας τον αισθητήρα σκόνης για λίγο, τότε θα κοιμηθεί ξανά, αφού τα φύλλα δεδομένων αναφέρουν ότι προορίζεται να λειτουργήσει για περίπου 8000 ώρες, το οποίο είναι περισσότερο από αρκετό, αλλά όχι άπειρο

sds.wakeup (); καθυστέρηση (30000); // λειτουργεί 30 δευτερόλεπτα

γραμμή 121: τα δεδομένα που αποστέλλονται είναι θερμοκρασία, υγρασία, PM2.5 και PM10

sendData (t, h, pm2_5, pm10);

γραμμή 122-123: Δεν χρησιμοποιώ το ESP.deepSleep, θα προσπαθήσω στο μέλλον. μέχρι τώρα μια απλή καθυστέρηση (90000) θα είναι αρκετή για την αποστολή δεδομένων κάθε 30s + 90s = 2 λεπτά, περισσότερο ή λιγότερο

//ESP.deepSleep(dataPostDelay);

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

γραμμή 143:

αυτή είναι η πιο σημαντική γραμμή, η σειρά που δημιουργείτε το String_url για να ανεβάσετε δεδομένα πρέπει να είναι η ίδια που θα χρησιμοποιήσετε στο Google Script (δείτε τα επόμενα βήματα)

String url = "/macros/s/" + GAS_ID + "/exec? Temperature =" + string_x + "& humidity =" + string_y + "& PM2.5 =" + string_z + "& PM10 =" + string_k;

Βήμα 5: Τέταρτο βήμα: Προετοιμασία του Φύλλου Google και του σεναρίου του

Τέταρτο βήμα: Προετοιμασία του Φύλλου Google και του σεναρίου του
Τέταρτο βήμα: Προετοιμασία του Φύλλου Google και του σεναρίου του
Τέταρτο βήμα: Προετοιμασία του Φύλλου Google και του σεναρίου του
Τέταρτο βήμα: Προετοιμασία του Φύλλου Google και του σεναρίου του
Τέταρτο βήμα: Προετοιμασία του Φύλλου Google και του σεναρίου του
Τέταρτο βήμα: Προετοιμασία του Φύλλου Google και του σεναρίου του

Οι πιστώσεις πηγαίνουν στο nishant_sahay7, όπως είπα.

Απλώς αναδημοσιεύω εδώ το έργο του, προσθέτοντας μερικές συμβουλές για μελλοντικές βελτιώσεις και τροποποιήσεις:

  1. Ρύθμιση φύλλων Google

    1. Ανοίξτε το Google Drive και δημιουργήστε νέο υπολογιστικό φύλλο και ονομάστε το, μετά δώστε τα πεδία με τις παραμέτρους που θέλετε να ορίσετε.
    2. Το αναγνωριστικό φύλλου φαίνεται στο σχήμα 2
    3. Μεταβείτε στο Εργαλεία-Επεξεργαστής σεναρίων (εικόνα 3)
    4. Δώστε το όνομα ίδιο με το υπολογιστικό φύλλο (εικόνα 4)
    5. Επιλέξτε τον κώδικα από εδώ και επικολλήστε στο παράθυρο του Script Editor (εικόνα 5)

      Αντικαταστήστε το var sheet_id με το αναγνωριστικό υπολογιστικού φύλλου από το βήμα 2

    6. Μετάβαση στη δημοσίευση - ανάπτυξη ως εφαρμογή Ιστού (εικόνα 6)
    7. Αλλάξτε τον τύπο πρόσβασης σε οποιονδήποτε, ακόμη και ανώνυμο, και αναπτύξτε (εικόνα 7)
    8. Μεταβείτε στην ενότητα "Άδειες ελέγχου" (εικόνα 8)
    9. Επιλέξτε Advanced (εικόνα 9)
    10. Επιλέξτε Μετάβαση στο (όνομα αρχείου) και, στη συνέχεια, επιτρέψτε (εικόνα 10)
    11. Αντιγράψτε το τρέχον URL εφαρμογής ιστού και κάντε κλικ στο κουμπί OK (εικόνα 11)
  2. Λήψη αναγνωριστικού σεναρίου Google

    • Η διεύθυνση URL που αντιγράφηκε θα είναι κάτι σαν: https://script.google.com/macros/s/AKfycbxZGcTwqe… Ο παραπάνω σύνδεσμος έχει τη μορφή: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Εδώ λοιπόν το Google Script ID είναι: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Θα χρησιμοποιηθεί για την προώθηση των δεδομένων στα Υπολογιστικά φύλλα Google: Παράδειγμα:

      script.google.com/macros/s/AKfycbxZGcTwqeD…

      Η επικόλληση του παραπάνω συνδέσμου σε ένα νέο παράθυρο και το πάτημα enter θα στείλει δεδομένα στο Google Sheet και ένα μήνυμα επιβεβαίωσης θα εμφανιστεί στο παράθυρο. Τα δεδομένα που αποστέλλονται θα είναι

      • θερμοκρασία = 1
      • υγρασία = 2
      • PM2,5 = 3
      • PM10 = 33,10
  3. Αλλαγή στις ανάγκες σας

    πρέπει να αλλάξετε το Google Script AND Arduino σκίτσο ανάλογα, για να προσθέσετε ή να αφαιρέσετε τιμές και στήλες: συγκρίνετε το σχήμα 5 και το σχήμα 5β

Βήμα 6: Πέμπτο βήμα: Σύνδεση όλων μαζί

Πέμπτο βήμα: Σύνδεση όλων μαζί
Πέμπτο βήμα: Σύνδεση όλων μαζί

Τώρα έχετε μια συσκευή που στέλνει δεδομένα στα Υπολογιστικά φύλλα Google, ένα Google Script που μπορεί να λαμβάνει και να κατανέμει δεδομένα, ένα πρόγραμμα περιήγησης είναι αρκετό για να δείτε δεδομένα, σε υπολογιστή ή smartphone ή ό, τι σας αρέσει.

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

Βήμα 7: Έκτο Βήμα: Γραφήματα δεδομένων

Έκτο βήμα: Γραφήματα δεδομένων
Έκτο βήμα: Γραφήματα δεδομένων
Έκτο βήμα: Γραφήματα δεδομένων
Έκτο βήμα: Γραφήματα δεδομένων

Για να έχω ένα απλό αλλά ενδιαφέρον και χρήσιμο πάνελ οργάνωσα τα δεδομένα μου με αυτόν τον τρόπο:

  1. το αρχικό φύλλο Google, το κύριο, που χρησιμοποιήθηκε για να παραλάβει το αναγνωριστικό του για να εισαχθεί στο Google Script, ΠΡΕΠΕΙ να είναι άθικτο και να διατηρήσει την παραγγελία του
  2. Δημιούργησα δύο άλλα φύλλα, ακολουθώντας το κύριο

    1. ένα για να εξαγάγετε μόνο λίγα δεδομένα από ολόκληρο το υλικό, για παράδειγμα, τελευταίες 24 ώρες Για να εξαγάγω δεδομένα, χρησιμοποίησα τη λειτουργία SORT και QUERY, εισάγοντας στο πρώτο κελί εξαγόμενων δεδομένων

      = SORT (QUERY (Foglio1! A2: Z, "order by A desc limit 694"), 1, 1)

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

Βήμα 8: Έβδομο βήμα: Ανάλυση δεδομένων

Έβδομο βήμα: Ανάλυση δεδομένων
Έβδομο βήμα: Ανάλυση δεδομένων

Έκανα μερικές αναλύσεις και μπορώ να πω, μέχρι τώρα, δεν θα πρέπει να υπάρχει κανένας κίνδυνος με τη χρήση τρισδιάστατου εκτυπωτή (υλικό: PLA) όσον αφορά τα PM2.5 και PM10. Κάθε φορά που ξεκινάω μια νέα τιμή σωματιδίων εκτύπωσης πηγαίνει στην οροφή, μόνο για λίγο: Νομίζω ότι αυτό οφείλεται σε προηγούμενη εναποτιθέμενη σκόνη στο κρεβάτι του εκτυπωτή 3D, έτσι ώστε όταν ο ανεμιστήρας εφέ να φτάσει στο πιάτο να αρχίσει να πετάει τριγύρω. Μετά από λίγα λεπτά η σκόνη απομακρύνεται αφού οι ανεμιστήρες συνεχίζουν να φυσούν και οι τιμές PM2.5 και PM10 μειώνονται σε χαμηλότερες τιμές.

Πράγματι, χρειάζονται περισσότερα δεδομένα και ανάλυση.

Συνιστάται: