Ich habe eine Projekt angefangen in dem es darum geht Pflanzen aufzuziehen mit Unterstützung eines ESP32-Dev Kit. Ich brauche aber etwas Inspiration zum vernünftigen Anwendungsaufbau.
Der ESP32-Dev Kit soll Sensordaten empfangen und Relais ansteuern.
Jetzt eine Frage die mich besonders beschäftig:
Wie kann ich die Sensordaten vernünftig auf einen WIN PC Logen?
(Also z.b. Server auf Windows und dann mit GET Anfragen in Datenbank)
Es geht mir darum das es auch für andere wieder verwendbar sein soll die vielleicht nicht so viel Erfahrung haben wie ich einen eigenen Server zu betreiben. Die weitere Verwendung der Sensordaten sollte z.b. in Excel möglich sein um damit Rückschlüsse auf den Zuchterfolg abzuleiten.
Ich sammle meinen Stromverbrauch mit einem ESP32, der die Daten in einer csv-Datei im Dateisystem LittleFS zusammenfaßt. Der ESP32 verbindet sich mit meiner Fritz!Box per WLAN. Mittels FTP verschiebe ich wöchentlich die csv-Datei auf eine an der Fritz!Box angeschlossene Festplatte. Der Dateiname unterscheidet sich nach Jahr und Woche.
Würde das auch Deinen Vorstellungen entsprechen?
Selbstverständlich gibt es noch ganz andere Ansätze
#include <FTPClient.h> //FTPServer and FTPClient Version=0.9.7 https://github.com/dplasa/FTPClientServer
FTPClient ftpClient(LittleFS); // tell the FTP Client to use LittleFS
FTPClient::ServerInfo ftpServerInfo(FTP_USER, FTP_PASSWORD, "www.fritz.box"); // provide FTP servers credentials and servername
Hallo,
wie viele Daten fallen da denn so an ?
Ein Datensatz bestehend aus 5-10 Messwerten je Stunde , sowas in der Grössenordnung ?
Du könntest mit einem ESP per FTP auch zeilenweise mittels append in eine Datei auf einem FTP Server schreiben.
FTP Server kann z.B eine Fiitzbox oder eventuell auch ein NAS-Laufwerk sein. Direkt in eine Datenbank schreiben geht auch dann müsste allerdings ein Datenbank Server laufen.
@agmue JA sehr schön das NTP Beispiel werde ich brauchen. fipsok auch geil: Auch wenn ich mit Clion von Jetbrains arbeiten werde. Ich kenne mich mit PHP sehr gut aus und habe mich vor C++ immer gedrückt aber jetzt komme ich nicht mehr drum rum.
Wenn Esp vorhanden, würde ich einen nodered server aufbauen und die Daten vom Esp per mqtt an nodered übertragen. Das ganze kannst du dann auch in eine Datenbank schreiben lassen und im Grunde mithilfe eines VPNs kannst du von überall aus darauf zugreifen.
ich gehe dann zwar dann im letzten 4. Teil auf eine NAS mit PHP ein aber ich gehe mal davon aus, dass der Server Teil dir eh das wenigste Problem bereitet bzw. du das auch ähnlich für den PC verwenden kannst.
Danke Leute für die Unterstützung. Werde hier wieder zurückkehren wenn es etwas neues gibt ---
(Habe erst mal mehr Hardware geordert das bringt echt Spaß mit Microcontrollern ).
Bis jetzt habe ich folgendes Ergebnis da das ESP Board Gipo mäßig an seine Anschluss grenzen kommt:
Projekt aufteilen in zwei eigenständige Projekte:
TEIL 1 - Die Entwicklung eines Controller Programms
ESP32-DEV Board
SD Karten Anbindung auch zum Laden neuer Programm-Varibalen.
Export der Messdaten in textdatei.csv nach GET Anfrage
Weiter Verwendung der Messdaten auf PC
TEIL 2 - Hier geht es darum viele Daten zu sammeln für die Entwicklung zu Teil1 Da ich zu viele Gipos brauche für die 16 Relais und min. 7 Sensoren (Analog, SPI ..) und ein Multiplexer leider nicht so Funktioniert wie ich gedacht habe.
Arduino Giga Board
Datenbank Server auf Rechner mit dem Giga Post absetzen.
Wie es dann mit den Daten weiter geht weiß ich noch nicht (PHP, Ein Node Modul, JAVA App) das muss sich entwickeln.
Das problem ist ja das ich am Relay-Board 16 Kanäle habe bei dem viele auch gleichzeitig arbeiten und dazu auch noch die ganzen Sensoren um Messdaten zu erhalten damit ich eine Steuerung (C++) entwickeln kann.
zu wenig Ports?
Häng einen I2C od. SPI Port Expander an das ESP32-Dev Board.
Merke:
1 Controller - 1 Problem (das Programm)
2 Controller - 3 Probleme (je ein Programm für jeden Controller + die Kommunikation zwischen den Controllern)
Die beiden Boards sollen nicht miteinander Kommunizieren. Sondern unabhängig arbeiten.
Das meine ich so das Kleinere Board(ESP32-Dev) ist am ende das "fertige Produkt" mit einem Programm was ich entwickle auf Basis der Messwerte des Großen Boards.
Mit dem Großen Board baue ich erst einmal die Datenbank mit den verschieden Genotypen auf.
ist eigentlich ein Shift Register. Der Eingang ist 8 Bit seriell die Ausgänge sind 8 paralell. Dieser kann nur als 8 Ausgänge verwenden. Es gibt die Shift Register auch umgekehrt also 8 Eingänge zu 1 seriellen Ausgang.
Es gibt noch Pin Expander mit I2C oder Spi Interface. Bei denen können die Pin einzeln als Eingänge oder Ausgänge definiet und verwendet werden.
ich habe die Shiftregister extra nicht angeführt sondern I2C oder SPI Port Expander angeführt. Nimm den Bus den du schon verwendest (oben hast du von SPI geschrieben). MCP23S17, MCP23S08 z.B.
oder eben deren I2C Äquivalent MCP23017, MCP23008.
Oder den PCF8574
Oder den PCA9685 (wie am "Servoboard")
Oder wenns um LEDs geht einen HT16K33 (I2C) oder MAX7219 (SPI ähnlich)
oder ein SX1509 .
Die meisten dieser ICs gibts auf Breakout Boards zum Testen.
aber noch mal 3 Pins für ein Shiftregister würde ich nicht nehmen.
du wirst 3 Pins für ein Shiftregister brauchen.
wenn du einen SPI Portexpander nimmst brauchst du nur einen Pin als Chipselect und nutzt die gleichen SPI pins wie dein SHT45.