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

Αποθήκευση και γραφική παράσταση δεδομένων EC/pH/ORP Με τη στοίβα TICK και την πλατφόρμα NoCAN: 8 βήματα
Αποθήκευση και γραφική παράσταση δεδομένων EC/pH/ORP Με τη στοίβα TICK και την πλατφόρμα NoCAN: 8 βήματα

Βίντεο: Αποθήκευση και γραφική παράσταση δεδομένων EC/pH/ORP Με τη στοίβα TICK και την πλατφόρμα NoCAN: 8 βήματα

Βίντεο: Αποθήκευση και γραφική παράσταση δεδομένων EC/pH/ORP Με τη στοίβα TICK και την πλατφόρμα NoCAN: 8 βήματα
Βίντεο: Η ΣΥΝΑΡΤΗΣΗ | ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ 2024, Δεκέμβριος
Anonim
Αποθηκεύστε και γράψτε δεδομένα EC/pH/ORP Με την πλατφόρμα TICK Stack και NoCAN
Αποθηκεύστε και γράψτε δεδομένα EC/pH/ORP Με την πλατφόρμα TICK Stack και NoCAN

Αυτό θα εξετάσει τον τρόπο χρήσης της πλατφόρμας NoCAN από τους αισθητήρες Omzlo και uFire για τη μέτρηση EC, pH και ORP. Όπως λέει ο ιστότοπός τους, μερικές φορές είναι ευκολότερο να τρέξετε κάποιο καλώδιο στους κόμβους αισθητήρων σας. Η CAN έχει το πλεονέκτημα της επικοινωνίας και της ισχύος σε ένα καλώδιο, οπότε το σήμα και η μπαταρία δεν είναι προβλήματα. Το υλικολογισμικό των κόμβων μπορεί να είναι απλούστερο. δεν ενοχλείτε με τις λειτουργίες ύπνου ή τη ρύθμιση WiFi, για παράδειγμα. Η πλατφόρμα NoCAN έχει επίσης μερικά εξαιρετικά χαρακτηριστικά όπως τον προγραμματισμό των κόμβων μέσω του διαύλου CAN.

Η πλατφόρμα NoCAN χρησιμοποιεί ένα Raspberry Pi, οπότε ό, τι μπορεί να κάνει θα είναι διαθέσιμο. Θα το εκμεταλλευτούμε εγκαθιστώντας τη στοίβα TICK. Αυτό θα μας επιτρέψει να χρησιμοποιήσουμε το InfluxDB για να αποθηκεύσουμε μετρήσεις. Είναι μια βάση δεδομένων που βασίζεται σε χρονομετρητές και προορίζεται για τέτοιου είδους πράγματα. Έρχεται επίσης με το Chronograf για να δημιουργήσει πίνακες ελέγχου και να εμφανίσει όλα αυτά τα δεδομένα που πρόκειται να λάβουμε. Τα Τ και Κ σημαίνουν Telegraf και Kapacitor. Το Telegraf βρίσκεται μεταξύ των δεδομένων που στέλνετε και της βάσης δεδομένων Influx. Ο πυκνωτής είναι ο κινητήρας εκδηλώσεων. Όταν συμβαίνει κάτι, μπορεί να σας στείλει μια ειδοποίηση με διάφορες μεθόδους. Και, ακριβώς επειδή μου αρέσει περισσότερο από το Chronograf, θα εγκαταστήσω το Grafana για πίνακες εργαλείων.

Βήμα 1: Προετοιμασία του Raspberry Pi

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

Αφού η εικόνα βρίσκεται στην κάρτα SD, θα πρέπει να έχετε δύο τόμους, root και εκκίνηση. Ανοίξτε ένα τερματικό στην εκκίνηση και πληκτρολογήστε:

αγγίξτε ssh

Αυτό θα ενεργοποιήσει το SSH.

Στη συνέχεια πληκτρολογήστε:

nano wpa_supplicant.conf

Και αντιγράψτε/επικολλήστε τα παρακάτω αφού τα τροποποιήσετε για τις δικές σας ρυθμίσεις νομού και WiFi:

χώρα = ΗΠΑ

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "NETWORK-NAME" psk = "NETWORK-PASSWORD"}

Οι κωδικοί χωρών προέρχονται από εδώ.

Ενεργοποίηση SPI:

ηχώ "dtparam = spi = on" >> config.txt

Τοποθετήστε την κάρτα SD στο Raspberry Pi σας, περιμένετε λίγο και πληκτρολογήστε:

ssh [email protected]

Θα πρέπει να βρίσκεστε στη γραμμή σύνδεσης. Ο κωδικός πρόσβασης είναι βατόμουρο.

Βήμα 2: Ρύθμιση του NoCAN

Το Omzlo παρέχει έναν λεπτομερή οδηγό εγκατάστασης. Αλλά αποφάσισα να το κάνω πιο εύκολο και να μάθω λίγο για το σενάριο Bash. Ξεκινήστε λοιπόν το Raspberry Pi και χρησιμοποιήστε SSH ή σειριακό τερματικό.

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

wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh

Στο τερματικό του Raspberry Pi, θα κατεβάσει και θα εκτελέσει το σενάριο.

Τότε αυτό:

  1. Κατεβάζει τον δαίμονα Omzlo NoCAN και τον εγκαθιστά στο/usr/bin για εύκολη πρόσβαση, δημιουργεί ένα φάκελο ~/.nocand και γράφει ένα πολύ βασικό αρχείο διαμόρφωσης με τον κωδικό πρόσβασης να έχει οριστεί ως «κωδικός πρόσβασης». Μάλλον θα πρέπει να το αλλάξετε σε κάτι άλλο, είναι στο ~/.nocand/config.
  2. Κατεβάζει το πρόγραμμα -πελάτη Omzlo NoCAN και το αντιγράφει στο /usr /bin και δημιουργεί ένα βασικό αρχείο διαμόρφωσης με το ίδιο σύνολο κωδικού πρόσβασης. Είναι στο ~/.nocanc.conf.
  3. Ορίζει μια υπηρεσία Systemd που διατηρεί τον δαίμονα NoCAN σε λειτουργία.
  4. Γράφει ένα αρχείο python στο ~/.nocand, nocan_ufire.py. Θα μιλήσει με το υλικολογισμικό του κόμβου NoCAN και θα λάβει μετρήσεις EC, pH και ORP, θα αναλύσει τα αποτελέσματα και θα τα προσθέσει στη βάση δεδομένων InfluxDB.
  5. Προσθέτει το repo του InfluxData στο apt και εγκαθιστά τη στοίβα TICK. Και αφού το προτιμώ από το Chronograf, εγκαθιστά και το Grafana.
  6. Δημιουργεί μια κενή βάση δεδομένων Influx

Μερικές αγορές που μπορεί να συναντήσετε:

  • Η τοπική σας ρύθμιση ενδέχεται να μην έχει ρυθμιστεί, οπότε εκτελέστε dpkg-επαναδιαμόρφωση τοπικών ρυθμίσεων
  • Η εγκατάσταση της Grafana ενδέχεται να σταματήσει, οπότε προσπαθήστε ξανά.
  • Ο δαίμονας εισροής μπορεί να μην ξεκινήσει εγκαίρως για να προσθέσει το σενάριο τη βάση δεδομένων, πληκτρολογήστε

    curl -i -XPOST https:// localhost: 8086/query --data -urlencode "q = CREATE DATABASE nocan"

  • Αυτό το σενάριο λειτουργεί μόνο ως προεπιλεγμένος χρήστης pi. Θα πρέπει να αλλάξετε το pi στο όνομα χρήστη σας, όπου απαιτείται, εάν βρίσκεστε σε διαφορετικό χρήστη.

Το τελευταίο πράγμα είναι να προσθέσετε μια εργασία cron. Δεν μπορούσα να βρω έναν πολύ καλό τρόπο για να γράψω αυτό, οπότε πληκτρολογήστε "crontab -e" για χειροκίνητη επεξεργασία και προσθέστε " * * * * * python /home/pi/.nocand/nocan_ufire.py".

Μόλις τελειώσουν όλα αυτά, μπορείτε να επαληθεύσετε ότι όλα είναι ρυθμισμένα και λειτουργούν όπως πρέπει. Η Grafana ζει στη διεύθυνση https:// [Διεύθυνση Raspberry Pi]: 3000/. Θα πρέπει να δείτε μια σελίδα σύνδεσης, ο διαχειριστής/διαχειριστής είναι η προεπιλογή.

Χρονογράφος μπορείτε να βρείτε στη διεύθυνση https:// [Διεύθυνση Raspberry Pi]: 8888/

Βήμα 3: Εγκατάσταση του υλικού UFire μαζί

Τοποθέτηση του υλικού UFire μαζί
Τοποθέτηση του υλικού UFire μαζί

Πριν μπορέσουμε να συναρμολογήσουμε το υλικό, πρέπει να αντιμετωπίσουμε ένα πράγμα. Ο πίνακας uFire ISE μπορεί να χρησιμοποιηθεί για τη μέτρηση τόσο του pH όσο και του ORP. Το υλικό είναι το ίδιο, αλλά το λογισμικό είναι διαφορετικό. Επειδή το υλικό είναι το ίδιο, αυτό σημαίνει ότι η διεύθυνση I2C είναι, από προεπιλογή, η ίδια επίσης. Και οι αισθητήρες επικοινωνούν μέσω I2C οπότε κάποιος θα πρέπει να αλλάξει. Για αυτό το έργο, θα επιλέξουμε έναν από τους πίνακες ISE και θα τον χρησιμοποιήσουμε για να μετρήσουμε το ORP. Ακολουθώντας τα βήματα εδώ, αλλάξτε τη διεύθυνση σε 0x3e.

Τώρα που η διεύθυνση έχει αλλάξει, η συναρμολόγηση του υλικού είναι εύκολη. Αυτή η ρύθμιση βασίζεται σε προηγούμενες εργασίες που κάνουν βασικά το ίδιο πράγμα αλλά χρησιμοποιούν BLE και όχι CAN για τη μετάδοση δεδομένων. Μπορείτε να διαβάσετε σχετικά με το Arduino Project Hub. Όλες οι συσκευές αισθητήρων χρησιμοποιούν το σύστημα σύνδεσης Qwiic, οπότε απλώς συνδέστε τα πάντα μαζί σε μια αλυσίδα, υπάρχει μόνο ένας τρόπος για να εισαγάγετε τα καλώδια Qwiic στα Qwiic. Θα χρειαστείτε ένα καλώδιο Qwiic to Male για να συνδέσετε έναν από τους αισθητήρες στον κόμβο CANZERO. Τα σύρματα είναι σταθερά και χρωματικά κωδικοποιημένα. Συνδέστε το μαύρο στο GND του κόμβου, κόκκινο είτε στον ακροδέκτη +3.3V ή +5V, μπλε στον πείρο SDA που είναι D11 και κίτρινο στον πείρο SCL στο D12.

Για αυτό το έργο, αναμένεται ότι οι πληροφορίες θερμοκρασίας θα προέρχονται από τον αισθητήρα EC, οπότε φροντίστε να συνδέσετε έναν αισθητήρα θερμοκρασίας στην πλακέτα EC. Ωστόσο, όλες οι σανίδες έχουν τη δυνατότητα να μετρήσουν τη θερμοκρασία. Μην ξεχάσετε να συνδέσετε τους αισθητήρες EC, pH και ORP στους κατάλληλους αισθητήρες. Συνδέονται εύκολα με συνδετήρες BNC. Εάν έχετε περίβλημα, θα ήταν καλή ιδέα να τα βάλετε όλα αυτά μέσα, ειδικά αν λάβετε υπόψη ότι πρόκειται να εμπλακεί νερό.

Βήμα 4: Το υλικό NoCAN

Το υλικό NoCAN
Το υλικό NoCAN

Η συναρμολόγηση του υλικού NoCAN είναι επίσης εύκολη. Συνδέστε το PiMaster στο Raspberry Pi και βρείτε ένα κατάλληλο τροφοδοτικό για αυτό.

Ακολουθήστε τις οδηγίες του Omzlo σχετικά με την κατασκευή καλωδίων για το έργο σας.

Αναπτύξτε τον κόμβό σας και βρείτε μια θέση για το PiMaster.

Βήμα 5: Προγραμματίστε τον κόμβο CANZERO

Προγραμματίστε τον κόμβο CANZERO
Προγραμματίστε τον κόμβο CANZERO

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

Για αυτό, θα χρειαστείτε το Arduino IDE εγκατεστημένο, το PiMaster στο δίκτυό σας και τον κόμβό σας συνδεδεμένο με το δίαυλο CAN. Θα χρειαστείτε επίσης ένα πρόγραμμα που ονομάζεται nocanc εγκατεστημένο στον υπολογιστή ανάπτυξης. Όλα αυτά περιγράφονται στη σελίδα εγκατάστασης του Omzlo.

Επισκεφτείτε το GitHub και αντιγράψτε τον κώδικα σε ένα νέο σκίτσο Arduino IDE. Αλλάξτε τον πίνακα σε Omzlo CANZERO και επιλέξτε τον κόμβο στο μενού «Θύρα». Στη συνέχεια, απλά κάντε κλικ στο κουμπί μεταφόρτωσης όπως συνήθως. Εάν όλα πήγαν σύμφωνα με το σχέδιο, θα πρέπει να έχετε έναν προγραμματισμένο κόμβο έτοιμο να λάβει κάποιες μετρήσεις.

Βήμα 6: Πώς συνδέονται όλα αυτά μαζί;

Πώς δένουν όλα αυτά μαζί
Πώς δένουν όλα αυτά μαζί

Τώρα που έχει διαμορφωθεί όλο το λογισμικό και το υλικό, ας αφιερώσουμε λίγο χρόνο για να μιλήσουμε για το πώς θα λειτουργήσει όλο αυτό. Και δείξτε τις ικανότητές μου στο GIMP…

Συνοψίζοντας:

  1. Ο κόμβος CANZERO συνδέεται με το PiMaster και αναπτύσσεται κάπου
  2. Κάθε λεπτό εκτελείται μια εργασία Cron στο PiMaster. Θα εκτελέσει ένα σενάριο python.
  3. Το σενάριο python θα στείλει μια εντολή στον κόμβο που θα του πει να κάνει μια μέτρηση ή κάποια άλλη ενέργεια.
  4. Ο κόμβος θα εκτελέσει αυτό που ήταν η εντολή και θα επιστρέψει ένα αποτέλεσμα σε μορφή JSON.
  5. Το σενάριο python θα λάβει αυτό το αποτέλεσμα, θα το αναλύσει και θα ενημερώσει ένα InfluxDB με αυτό.

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

Βήμα 7: Ρύθμιση χρονογράφου ή Grafana

Ρύθμιση χρονογράφου ή Grafana
Ρύθμιση χρονογράφου ή Grafana

Το τελευταίο πράγμα που πρέπει να κάνετε είναι να ρυθμίσετε μερικά διαγράμματα σε Chronograf ή Grafana.

Θα χρειαστεί να ρυθμίσετε την πηγή δεδομένων. Οι προεπιλογές για το InfluxDB είναι καλές. Η διεύθυνση είναι «https:// localhost: 8086» και δεν υπάρχει όνομα χρήστη ή κωδικός πρόσβασης.

Και τα δύο είναι παρόμοια στο ότι είναι οργανωμένα σε Πίνακες ελέγχου που έχουν οποιονδήποτε αριθμό γραφημάτων μέσα τους. Και οι δύο έχουν μια περιοχή Εξερεύνηση που σας επιτρέπει να βλέπετε τις μετρήσεις και να δημιουργείτε διαδραστικά γραφήματα. Θυμηθείτε ότι το όνομα της βάσης δεδομένων είναι "nocan" και οργανώνεται σε διάφορες μετρήσεις με μία τιμή.

Όπως ανέφερα, προτιμώ το Grafana επειδή είναι πιο διαμορφώσιμο από το Chronograf. Είναι επίσης φιλικό προς κινητά, όπου δεν είναι Chronograf. Τα γραφήματα ενσωματώνονται και μοιράζονται εύκολα

Βήμα 8: Μερικές βελτιώσεις

  • Μπορείτε να ορίσετε το όνομα κεντρικού υπολογιστή του Raspberry Pi για εύκολη πρόσβαση στο δίκτυό σας. Μπορείτε να το κάνετε στο raspi-config. Άλλαξα το δικό μου σε nocan, οπότε μπόρεσα να μεταβώ στο nocan.local για πρόσβαση σε αυτό (δεν λειτουργεί σε Android).
  • Μπορείτε να εγκαταστήσετε ένα πρόγραμμα όπως το ngrok για πρόσβαση στο Raspberry Pi εκτός του δικτύου σας.
  • Χρησιμοποιήστε μία από τις μεθόδους που παρέχει ο Kapacitor για την παροχή ειδοποιήσεων.
  • Προσθέστε περισσότερους αισθητήρες, φυσικά.

Συνιστάται: