Vorstellung und erste Fragen bezgl. Aquarium Arduino (Messwerte, POE, MySQL)

Hallo, ich bin Anton, aus Graz(und Anfang 40), und bin recht neu beim Arduino. Mein aktuelles Gebiet ist Mac und Raspberry, und für eine Aufgabe scheint mir aber der Arduino besser geeignet.
Mit dem Raspberry hab ich schon etwas Erfahrung (zb 10 DS1820 in Serie auf einem Kabel, 433MHZ Module, div. andere Sensoren, Whatsapp senden, mit DB-Anbindung,Visualisierung,...).

Da ich für den Herbst/Winter ein Salzwasseraquarium plane, möchte ich da die nötigen Daten auch entsprechend Messen und Aufbereiten.

Mein Plan: Ich habe einen Arduino Uno hier rumliegen, zumindest dann, wenn ich ihn finde , dann weiß ich auch welche Revision er ist (ca. 3 Jahre alt). wenns ein älterer ist, wird sicher auf einen R3 upgedatet.

Damit will ich die entsprechenden Wasserwerte messen und in eine MySQL DB am Raspberry schreiben und dort weiterverarbeiten(evtl auch Whatsapp bei schlechten Werten usw)

Sensoren ist folgendes geplant:
pH (schon vorhanden, noch mit altem UART Stamp) von Atlas Scientific
Leitfähigkeit, ORP(Redox) sind geplant, beide von Atlas, da hier die Qualität gut sein soll, mit neuer i2c Stamp
Temperatur (DS1820), eventuell auch 3-4 davon

Aktoren:
4 Kanal Relais (um einzelne Steckdosen/Stromkreise zu schalten) zb für die Heizung, Kühlung, ... bei bedarf auch ein 2. 4 Kanal , da das eine schon da ist

Display:
schön wäre ein 5" Touch, um Werte direkt anzuzeigen, und zb auch die kalibrierung der Sensoren darüber einzuleiten,
Eine Option wäre auch ohne touch, dafür 4-6 Taster mit normalen 4x20 Display, oder kleinerem Oled (2-3",..)
was wäre da einfacher zu machen?

  • Was haltet ihr von den Sensoren

  • was wäre beim Display/Steuerung einfacher?

  • für die Atlas Sensoren gibt es ein 4-fach Shield von Whiteboxes (Tentacleshield), rechnen sich die 100 euro, oder alles selbst aufbauen (anfangs zb auf einem Prototype Shield?)

  • Stromversorgung: da ja ein Lan Anschluss kommt, gleich einen Shield mit POE? mein Switch könnte es

  • Ich nehme mal an die Schaltung der Heizung und Kühlung ist idealerweise gleich im Arduino zu lassen, um eine Fehlerquelle bei der Datenübertragung und Ausarbeitung zu vermeiden

  • Reicht der Uno überhaupt dafür, oder ist er zu klein?

mir fällt da sicher noch mehr ein im laufe des Fortschrittes, aber vielleicht könnt ihr mir bei dem einen oder anderen helfen :slight_smile:

Danke, Anton

Beim UNO wirst du recht schnell Speicherplatzprobleme bekommen. Nimm lieber gleich einen Mega. Für die Lösung mit Tasten und Text Display könnte es gerade noch reichen mit dem Uno.

und herzlich willkommen im Forum.

Alles was auf einem neuen UNO R3 läuft läuft auch auf einem älteren. Es fehlen nur die extra nochmal herausgeführten SDA und SCL pins (sind A4 und A5) und ein IOREF der 5V gibt ( bei 3,3V Modellen eben 3,3V)

Grüße Uwe

Für das TFT wäre auch ein Mega nötig

Danke für den Tip mit dem Mega,

Hab ich es richtig gesehen, das Uno Shields auch auf den Mega passen?(Ethernet und eventuell das Tentacleshield)

ja, viele sind kompatibel

Wenn ein Shield SPI verwendet muss aber der 6-Pin ICSP Header verbunden sein.

Hätte da eine kleine "offtopic" Frage, funktioniert das mit whattsapp noch auf dem Raspberry seit es diese Verschlüsselung gibt?

Ansonsten Willkommen und viel Spass!

Gruß

Scherheinz:
Hätte da eine kleine "offtopic" Frage, funktioniert das mit whattsapp noch auf dem Raspberry seit es diese Verschlüsselung gibt?

Ich hab es auf einem Raspberry seit circa nem jahr laufen, und funktioniert noch immer(bekomm von da täglich eine Whatsapp Nachricht)

hi,

willkommen. endlich mal wieder ein landsmann (bin aus wien).

kennst Du diese nextion-displays? da läuft alles intern auf dem display (wird über PC programmiert), und tauscht mit dem arduino nur befehle aus.

ansonsten bin ich ein freund davon, raspberry und arduinos (bzw. eigene platinen auf arduino-basis) die aufgaben teilen zu lassen. jeder hat seine stärken und schwächen, gemeinsam sind sie hammer.

gruß stefan

Eisebaer:
hi,

willkommen. endlich mal wieder ein landsmann (bin aus wien).

kennst Du diese nextion-displays? da läuft alles intern auf dem display (wird über PC programmiert), und tauscht mit dem arduino nur befehle aus.

https://www.itead.cc/display/nextion.html

ansonsten bin ich ein freund davon, raspberry und arduinos (bzw. eigene platinen auf arduino-basis) die aufgaben teilen zu lassen. jeder hat seine stärken und schwächen, gemeinsam sind sie hammer.

gruß stefan

Hallo Stefan, liebe Grüße nach Wien

Nein die Displays kenn ich nicht, aber was ist da der Vorteil? muss ja auch wieder programmiert werden, und sind doch "etwas" teurer, was wäre denn da der Vorteil gegenüber einem i2c Display? vorallem wenn ich über das Display eine Sensor kalibrierung machen will, muss es dann ja erst wieder alle befehle an den Arduino senden.

Das gemeinsame muss ich erst schauen was ich alles mache, geplant ist mal die Datenspeicherung der Sensoren und die Darstellung über einen Webserver am Raspberry

Es kommt aber kurzfristig noch eine LED Regelung dazu für ca. 200-300W LED Leistung (Aquarienbeleuchtung), wird aber ein eigener Arduino damit beauftragt der gleich im Gehäuse mitgebaut wird, und auch die Funktion einer Zeitschaltuhr,... übernimmt

lg, Anton

Normale TFTs werden entweder parallel oder über SPI angesteuert. Nicht I2C.

Diese Displays sind "dumm". Bei denen musst du dir das Menü selbst erstellen. Also alle Buttons per Hand platzieren. Und dann deren Logik größtenteils selbst implementieren. Die Unterstützung für komplexere Bedien- und Anzeige-Elemente ist nicht existent bis minimal. Gerade deshalb sind TFTs absolut nichts für Programmier-Anfänger.
Dinge wie Fonts und Icons müssen im Flash des Controllers abgelegt werden weil die Displays i.d.R. keinen eigenen Speicher haben.

Bei dem Nextion Display hast du praktisch einen WYSIWYG Editor der dir sehr vieles davon abnimmt. Die haben auch einen schnellen Controller drauf, wodurch flüssige Animationen möglich sind.

Serenifly:
Normale TFTs werden entweder parallel oder über SPI angesteuert. Nicht I2C.

Ich hab hier paar Displays, die i2c können (2004, 1602 und kleine OLED), können aber teilweise auch spi

Serenifly:
Diese Displays sind "dumm". Bei denen musst du dir das Menü selbst erstellen. Also alle Buttons per Hand platzieren. Und dann deren Logik größtenteils selbst implementieren.

Zumindest am Raspberry hab ich sowas schon mal mit einem 2004er schon gemacht, eine einfache Menüstruktur, wie zB:

pH-Sensor
-kalibrierung löschen
-kalibrieren
--ph7
--ph4
--ph10
EC-Sensor
-kalibrierung löschen
--Bestätigen
-kalibrieren
--EC1000
--EC2500

Ohne Eingabe sind am Display die aktuellen Werte angezeigt worden, dazu 4 Tasten (rauf , runter, ok, back)
war eigentlich kein schlimmer aufwand, hab aber auch das ganze Menü,... in einer MySQL Datenbank aufgebaut und war da leicht zu warten.
Am Arduino muss ich noch schauen wie ich ein ähnliches Menü machen kann

Serenifly:
Bei dem Nextion Display hast du praktisch einen WYSIWYG Editor der dir sehr vieles davon abnimmt. Die haben auch einen schnellen Controller drauf, wodurch flüssige Animationen möglich sind.

Das ist natürlich ein Argument, gerade wenn ich mal mehr machen möchte.

kann ich dann vom Display an den Arduino Kommandos senden, und die Antwort dann am Display anzeigen? zb Kalibration, oder Messung,...

Ich hab hier paar Displays, die i2c können (2004, 1602 und kleine OLED),

Ich habe von TFTs geredet. Character Displays und OLEDs sind was anderes

Danke mal für die Tips an alle. jetzt muss ich mal warten bis Bauteile da sind. (paar Displays, Shields,...) China ist ja nicht der schnellste Lieferant(aliexpress) dafür passt der Preis.

Inzwischen werde ich mal paar "Trockenübungen" zb mit nem ds1820,.. machen, die ich sowieso da hab. (natürlich mit Original Arduino, und kein China Nachbau)

AntonT:
(natürlich mit Original Arduino, und kein China Nachbau)

Musst du nicht so betonen. Hier kriegst du auch geholfen, wenn du mit legalen Nachbauten arbeitest, ist ja von Arduino ausdrücklich so gewollt. Nur Clone, die als Originale verkauft werden, sind nicht gerne gesehen.
Und beim IDE runterladen kannste ja was spenden, um die Sache zu unterstützen.

Danke für den tip mit dem Spenden, wusste ich noch nicht

Mit MySQL wirst du am Arduino nicht so ganz glücklich werden. Es gibt zwar dieses Projekt "mysql connector", eleganter klappt es aber per PHP & POST oder GET.

Wenn du sowieso im Haushalt einen Webserver hast, z.B. auf einem NAS (QNAP oder Synology?), dann kannst du deine Messwerte problemlos in einer MySQL oder MariaDB sichern und auch noch grafisch schön aufbereitet auf dem Smartphone oder PC/Mac anzeigen ...

https://launchpad.net/mysql-arduino

qualidat:
Mit MySQL wirst du am Arduino nicht so ganz glücklich werden. Es gibt zwar dieses Projekt "mysql connector", eleganter klappt es aber per PHP & POST oder GET.

Hast du vielleicht überlesen, die MySQL DB lauft auf nem Raspberry, Arduino haltet nur die Messwerte bereit.

Wie ich die Anbindung an die DB genau löse, muss ich noch schauen, Arduino und Raspberry sind auf jedenfall nah genug ran, das sie zB Seriell, USB, oder i2c direkt verbunden werden, der Arduino selbst hat kein Ethernet Shield. Ob ich da mir die Daten einfach direkt abhole vom Raspberry aus initiiert, oder der Arduino die Daten in gewissen abständen pusht weiß ich noch nicht.

Wobei voraussichtlich wird der Raspberry die Daten regelmäßig abfragen, und der Arduino pusht nur in einem "Notfall" wenn zb der Strom ausfällt,... und löst dann gleich eine Whatsapp Nachricht o.ä. aus

qualidat:
Mit MySQL wirst du am Arduino nicht so ganz glücklich werden. Es gibt zwar dieses Projekt "mysql connector", eleganter klappt es aber per PHP & POST oder GET.

Ich weiß nicht, welche Probleme Du beim Direktzugriff über den MySQL-Connector hast, bei mir läuft der problemlos, schnell, stabil.

Auswertungen und Aufbereitungen sind nicht Gegenstand des Connectors und des Arduino, der will erst mal seine Daten los werden.

Gruß Tommy