Inhaltsverzeichnis:

EC-/pH-/ORP-Daten mit dem TICK-Stack und der NoCAN-Plattform speichern und grafisch darstellen - Gunook
EC-/pH-/ORP-Daten mit dem TICK-Stack und der NoCAN-Plattform speichern und grafisch darstellen - Gunook

Video: EC-/pH-/ORP-Daten mit dem TICK-Stack und der NoCAN-Plattform speichern und grafisch darstellen - Gunook

Video: EC-/pH-/ORP-Daten mit dem TICK-Stack und der NoCAN-Plattform speichern und grafisch darstellen - Gunook
Video: Herrschaft und Zerfall : Jesaja und der Gottesknecht 2024, November
Anonim
Speichern und grafisch darstellen von EC-/pH-/ORP-Daten mit dem TICK-Stack und der NoCAN-Plattform
Speichern und grafisch darstellen von EC-/pH-/ORP-Daten mit dem TICK-Stack und der NoCAN-Plattform

Hier erfahren Sie, wie Sie die NoCAN Platform von Omzlo und uFire-Sensoren zur Messung von EC, pH und ORP verwenden. Wie ihre Website sagt, ist es manchmal einfacher, einfach ein Kabel zu Ihren Sensorknoten zu führen. CAN hat den Vorteil der Kommunikation und Stromversorgung in einem Kabel, sodass Signal und Batterie keine Probleme darstellen. Die Firmware der Knoten kann einfacher sein; keine Mühe mit Schlafmodi oder WLAN-Einrichtung, zum Beispiel. Die NoCAN-Plattform bietet auch einige großartige Funktionen wie die Programmierung der Knoten über den CAN-Bus.

Die NoCAN-Plattform verwendet einen Raspberry Pi, sodass alles verfügbar ist, was möglich ist. Wir werden dies nutzen, indem wir den TICK-Stack installieren. Dadurch können wir InfluxDB zum Speichern von Messungen verwenden. Es ist eine zeitreihenbasierte Datenbank, die speziell für diese Art von Dingen entwickelt wurde. Es kommt auch mit Chronograf, um Dashboards zu erstellen und all diese Daten anzuzeigen, die wir aufnehmen werden. Das T und K stehen für Telegraf und Kapacitor. Telegraf sitzt zwischen den von Ihnen gesendeten Daten und der Influx-Datenbank. Kapacitor ist die Event-Engine. Wenn etwas passiert, kann es Ihnen auf verschiedene Weise eine Benachrichtigung senden. Und weil es mir besser gefällt als Chronograf, werde ich Grafana für Dashboards installieren.

Schritt 1: Bereiten Sie den Raspberry Pi vor

Gehen Sie zur Rasbian-Download-Seite und laden Sie das Bild mit dem Desktop und der empfohlenen Software herunter und flashen Sie es dann auf eine SD-Karte.

Nachdem sich das Image auf Ihrer SD-Karte befindet, sollten Sie zwei Volumes haben, Root und Boot. Öffnen Sie ein Terminal beim Booten und geben Sie Folgendes ein:

berühren ssh

Dadurch wird SSH aktiviert.

Geben Sie dann ein:

nano wpa_supplicant.conf

Und kopieren Sie Folgendes und fügen Sie es ein, nachdem Sie es für Ihren eigenen Landkreis und Ihre WLAN-Einstellungen geändert haben:

Land=USA

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

Die Ländercodes stammen von hier.

SPI aktivieren:

echo "dtparam=spi=on" >> config.txt

Legen Sie die SD-Karte in Ihren Raspberry Pi ein, warten Sie ein wenig und geben Sie Folgendes ein:

ssh [email protected]

Sie sollten an der Anmeldeaufforderung sein. Das Passwort ist Himbeere.

Schritt 2: NoCAN einrichten

Omzlo bietet eine ausführliche Installationsanleitung. Aber ich beschloss, es mir einfacher zu machen und ein wenig über Bash-Scripting zu lernen. Starten Sie also Ihren Raspberry Pi und stecken Sie ein SSH- oder serielles Terminal ein.

Ich habe gelernt, dass in die Erstellung eines guten Bash-Skripts genauso viel Entwicklungszeit investiert werden kann, wie das, was Sie tatsächlich installieren möchten. Es gibt 1000 Möglichkeiten, etwas zu erledigen, von denen einige einfacher zu begreifen oder auszuführen sind als andere. Am Ende habe ich nicht wirklich viel gemacht. Wenn Sie ausführen:

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

Im Terminal Ihres Raspberry Pi wird es das Skript herunterladen und ausführen.

Dann es:

  1. Lädt den Omzlo NoCAN-Daemon herunter und installiert ihn in /usr/bin für einen einfachen Zugriff, erstellt einen Ordner ~/.nocand und schreibt eine sehr einfache Konfigurationsdatei mit dem Passwort 'password'. Sie sollten es wahrscheinlich in etwas anderes ändern, es befindet sich unter ~/.nocand/config.
  2. Lädt den Omzlo NoCAN-Client herunter und kopiert ihn in /usr/bin und erstellt eine grundlegende Konfigurationsdatei mit demselben Passwortsatz. Es befindet sich unter ~/.nocanc.conf.
  3. Richtet einen Systemd-Dienst ein, der den NoCAN-Daemon am Laufen hält.
  4. Schreibt eine Python-Datei nach ~/.nocand, nocan_ufire.py. Es kommuniziert mit der Firmware des NoCAN-Knotens und nimmt EC-, pH- und ORP-Messungen vor, analysiert die Ergebnisse und fügt sie der InfluxDB-Datenbank hinzu.
  5. Fügt das Repo von InfluxData zu apt hinzu und installiert den TICK-Stack. Und da ich es Chronograf vorziehe, installiert es auch Grafana.
  6. Erstellt eine leere Influx-Datenbank

Einige Fallstricke, auf die Sie möglicherweise stoßen:

  • Ihr Gebietsschema ist möglicherweise nicht eingerichtet, führen Sie also dpkg-reconfigure locales aus
  • Die Grafana-Installation kann hängen bleiben, also versuchen Sie es einfach noch einmal.
  • Der Influx-Daemon wird möglicherweise nicht rechtzeitig gestartet, damit das Skript die Datenbank hinzufügt, geben Sie

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

  • Dieses Skript funktioniert nur als Standard-Pi-Benutzer. Sie müssen pi gegebenenfalls in Ihren Benutzernamen ändern, wenn Sie unter einem anderen Benutzer sind.

Als letztes fügen Sie einen Cron-Job hinzu. Ich konnte keine sehr gute Möglichkeit finden, dieses zu skripten, also geben Sie 'crontab -e' ein, um manuell zu bearbeiten, und fügen Sie '* * * * * python /home/pi/.nocand/nocan_ufire.py' hinzu.

Sobald dies erledigt ist, können Sie überprüfen, ob alles eingerichtet ist und wie es sein sollte. Grafana lebt unter https://[Raspberry Pi's Address]:3000/. Sie sollten eine Anmeldeseite sehen, admin/admin ist die Standardeinstellung.

Chronograf finden Sie unter https://[Raspberry Pi's Address]:8888/

Schritt 3: Zusammenbau der UFire-Hardware

Zusammenbau der UFire-Hardware
Zusammenbau der UFire-Hardware

Bevor wir die Hardware zusammenbauen können, gibt es eine Sache zu klären. Mit dem uFire ISE-Board können sowohl pH- als auch Redox-Messungen durchgeführt werden. Die Hardware ist die gleiche, aber die Software ist anders. Da die Hardware gleich ist, ist die I2C-Adresse standardmäßig auch gleich. Und die Sensoren kommunizieren über I2C, sodass einer ausgetauscht werden muss. Für dieses Projekt werden wir eines der ISE-Boards auswählen und es verwenden, um ORP zu messen. Befolgen Sie die Schritte hier und ändern Sie die Adresse in 0x3e.

Nachdem die Adresse geändert wurde, ist der Zusammenbau der Hardware einfach. Dieses Setup basiert auf früheren Arbeiten, die im Wesentlichen das gleiche tun, jedoch BLE anstelle von CAN verwenden, um Daten zu übertragen. Sie können darüber auf dem Arduino Project Hub lesen. Alle Sensorgeräte verwenden das Qwiic-Connect-System, also verbinden Sie einfach alles in einer Kette miteinander, es gibt nur eine Möglichkeit, die Qwiic-zu-Qwiic-Kabel anzuschließen. Sie benötigen ein Kabel von Qwiic zu Male, um einen der Sensoren mit dem CANZERO-Knoten zu verbinden. Die Drähte sind einheitlich und farbcodiert. Verbinden Sie Schwarz mit dem GND des Knotens, Rot mit dem +3,3V- oder +5V-Pin, Blau mit dem SDA-Pin, der D11 ist, und Gelb mit dem SCL-Pin von D12.

Für dieses Projekt wird erwartet, dass die Temperaturinformationen vom EC-Sensor stammen. Schließen Sie also unbedingt einen Temperatursensor an der EC-Platine an. Alle Boards haben jedoch die Möglichkeit, die Temperatur zu messen. Vergessen Sie nicht, die EC-, pH- und Redox-Sonden an die entsprechenden Sensoren anzuschließen. Sie werden einfach mit BNC-Anschlüssen angeschlossen. Wenn Sie ein Gehäuse haben, wäre es eine gute Idee, all dies ins Innere zu legen, insbesondere wenn man bedenkt, dass Wasser im Spiel ist.

Schritt 4: Die NoCAN-Hardware

Die NoCAN-Hardware
Die NoCAN-Hardware

Auch die Montage der NoCAN-Hardware ist einfach. Schließen Sie den PiMaster an den Raspberry Pi an und finden Sie ein passendes Netzteil dafür.

Befolgen Sie die Anweisungen von Omzlo zur Herstellung von Kabeln für Ihr Projekt.

Stellen Sie Ihren Knoten bereit und finden Sie einen Platz für den PiMaster.

Schritt 5: Programmieren Sie den CANZERO-Knoten

Programmieren Sie den CANZERO-Knoten
Programmieren Sie den CANZERO-Knoten

Einer der großen Vorteile dieses Setups ist, dass Sie auch nach der Bereitstellung auf die Knoten zugreifen können. Sie werden über das CAN-Kabel programmiert, sodass Sie sie jederzeit neu programmieren können.

Dazu benötigen Sie die Arduino IDE installiert, den PiMaster in Ihrem Netzwerk und Ihren Knoten, der mit dem CAN-Bus verbunden ist. Sie benötigen außerdem ein Programm namens nocanc, das auf Ihrem Entwicklungscomputer installiert ist. All dies ist auf der Installationsseite von Omzlo beschrieben.

Besuchen Sie GitHub und kopieren Sie den Code in eine neue Arduino-IDE-Skizze. Ändern Sie die Karte auf Omzlo CANZERO und wählen Sie den Knoten im Menü 'Port' aus. Klicken Sie dann einfach wie gewohnt auf Hochladen. Wenn alles nach Plan gelaufen ist, sollten Sie einen programmierten Knoten bereit haben, um einige Messungen durchzuführen.

Schritt 6: Wie hängt das alles zusammen?

Wie hängt das alles zusammen?
Wie hängt das alles zusammen?

Jetzt, da die gesamte Software und Hardware eingerichtet ist, nehmen wir uns einen Moment Zeit, um darüber zu sprechen, wie das Ganze tatsächlich funktionieren wird. Und zeige meine GIMP-Fähigkeiten…

Zusammenfassend:

  1. Der CANZERO-Knoten wird mit dem PiMaster verbunden und irgendwo eingesetzt
  2. Jede Minute wird ein Cron-Job auf dem PiMaster ausgeführt. Es wird ein Python-Skript ausführen.
  3. Das Python-Skript sendet einen Befehl an den Knoten, der ihn auffordert, eine Messung oder eine andere Aktion durchzuführen.
  4. Der Knoten führt den Befehl aus und gibt ein Ergebnis im JSON-Format zurück.
  5. Das Python-Skript empfängt dieses Ergebnis, analysiert es und aktualisiert eine InfluxDB damit.

Der letzte Schritt besteht darin, die gesammelten Daten in einigen gut aussehenden Diagrammen zu beobachten.

Schritt 7: Chronograf oder Grafana einrichten

Einrichten von Chronograf oder Grafana
Einrichten von Chronograf oder Grafana

Als letztes müssen Sie einige Charts in Chronograf oder Grafana einrichten.

Sie müssen die Datenquelle einrichten. Die Standardeinstellungen für InfluxDB sind in Ordnung. Die Adresse dafür ist 'https://localhost:8086' und es gibt keinen Benutzernamen oder Passwort.

Beide ähneln sich darin, dass sie in Dashboards organisiert sind, die eine beliebige Anzahl von Diagrammen enthalten. Beide verfügen über einen Erkundungsbereich, in dem Sie die Messungen anzeigen und interaktiv Diagramme erstellen können. Denken Sie daran, dass der Datenbankname 'nocan' ist und in mehrere Messungen mit einem Wert unterteilt ist.

Wie bereits erwähnt, bevorzuge ich Grafana, weil es konfigurierbarer ist als Chronograf. Es ist auch mobilfreundlich, wo Chronograf nicht ist. Die Diagramme lassen sich einfach einbetten und teilen

Schritt 8: Einige Verbesserungen

  • Sie können den Hostnamen Ihres Raspberry Pi festlegen, um in Ihrem Netzwerk einfacher darauf zuzugreifen. Das kannst du in raspi-config machen. Ich habe meine in nocan geändert, sodass ich zu nocan.local gehen konnte, um darauf zuzugreifen (funktioniert nicht auf Android).
  • Sie können ein Programm wie ngrok installieren, um außerhalb Ihres Netzwerks auf Ihren Raspberry Pi zuzugreifen.
  • Verwenden Sie eine der Methoden, die Kapacitor bietet, um Benachrichtigungen bereitzustellen.
  • Fügen Sie natürlich weitere Sensoren hinzu.

Empfohlen: