Posts by ChrisvA

    Hi,
    wenn schon LAN verlegt ist, und aufgrund der Reichweite vllt. kein Funkt möglich ist, könnte der Pi (vllt. ein alter A) eine günstige Methode sein, um einen Wert per Lan zu übertragen. Für den Drucksensor wirst du aber wie hamyam schon sagte einen analogen Eingang brauchen, da du sowieso ne kleine Schaltung zum ansteuern der Relais brauchst (der Pi kann nicht so viel Strom liefern!!), wäre das nur ein Chip mehr für die Analoge Messung.


    Für die "Kommunikation" würde ich in einem (Python) Skript nen Port aufmache und per TCP von der Steuerung dann darauf verbinden. Alternativ könntest du das auch über HTTP tunneln, das wäre aber fast etwas übertrieben für diese kleine Aufgabe.


    Gruß
    Chris

    Hallo Chris,
    mein Tipp an dieser Stelle wäre, weg mit zwei der Raspberry Pis und habe nur auf dem Kontrollpult einen. Bei den Kanonen würde ich einfach nur einen kleinen Mikrocontroller (z. B. einen kleinen AtMega mit 3,3V (und analogem Eingang) ) betreiben, der diese Aufgabe erledigt und die Daten z.B. über I2C oder eine UART Schnittstelle an den Pi auf dem Kontrollpult sendet. (Auch eine Übertragung per Funkmodul wäre denkbar)


    Der Grund ist, dass sich alle 3 Pis mit ihren Aufgaben langweilen, außerdem ist ein Mikricontroller einfacher zu überblicken.


    Je nach Umfang der grafischen Ausgabe könnte auch da ein ArduinoNano (oder andere) reichen, der an ein beleuchtetes 16x2 LCD angeschlossen ist.


    Gruß
    Chris


    PS: Die 3,3V für die Kanonen habe ich genannt, da der Pi auch mit 3.3V arbeitet und du dir damit keine Gedanken über einen Pegelwandler machen musst. Falls du am Kontrollpult einen Arduino nimmst, würde es sich anbieten die beiden Kanonen auch mit einem ArduinoNano auszustatten.
    Edit: Drucksensoren bis 10bar habe ich z.B. gerade den hier gefunden: http://uk.farnell.com/honeywel…axial-barbless/dp/2490461 da dürfte es aber noch einige geben.

    Befindest du dich im selben Netzwerk, oder sind die Pi's nur über das Internet miteinander verbunden? Im selben Netzwerk würde ich die DB freigeben, falls die Pi's nur übers Internet verbunden sind, würde ich die Methode des SSH-Tunnels bevorzugen, da der sicherer ist und gar nicht erst aufdeckt, dass am anderen Pi eine öffentlich erreichbare DB sitzt.

    Hallo zusammen,
    ich würde sagen kein Problem, wenn man mal davon ausgeht, dass man pro Datensatz 10Byte braucht (mit allem Overhead) wären das 5Mb und sollten für den pi kein Problem darstellen.
    Die einfachste Möglichkeit das herauszufinden, ist das Testen, also mal ein Skript schreiben, was in eine SQLite Datenbank 1Mio (für den Puffer in der Zukunft) Datensätze schreibt und dann mal versuchen darauf einige Abfragen zu machen. (Fetch_all oder dergleichen sollte vielleicht zugunsten der Performance vermieden werden, besser sequentiell arbeiten)


    Gruß
    Chris

    Ne, der SSH-Tunnel sollte nicht von PHP aufgebaut werden, sondern dauerhaft (z. B. in einem screen mit einen Skript, das nach einem Verbindungsabbruch auch die Verbindung wieder neu aufbaut) laufen, sonst kann es passieren, dass falls 2 PHP-Skripte zeitgleich laufen das zweite das Nachsehen hat, der es den Port nicht mehr binden kann. Aber ja, an den MySQL Einstellungen solltest du nichts ändern müssen.

    Hii,
    mit Oberfläche meinte ich die Oberfläche vom Betriebssystem, also das, was erscheint, wenn du am Pi nen Monitor einsteckst. Wenn das nur ne Konsole ist, ist keine Oberfläche gestartet, wenn aber eine grafische Oberfläche erscheint, ist das definitiv ein unnötiger Overhead.


    Die 15% bei einem Zugriff über den Browser wirst du nicht verringert bekommen. Was hast du sonst, ohne Zugriff über den Browser? Wenn du da bei wenigen Prozent bist, wirst du am Programm wenig optimieren können.


    Hast du eigentlich einen Kühlkörper auf dem Pi?
    Gruß
    Chris

    Hallo PrimeSonic,
    bevor ich hier große Optimierungen ausführen würde, hätte ich mir mal angeschaut, wie viel Auslastung die Skripte denn erzeugen. (htop, oder top in der Konsole helfen)
    Läuft auf dem Pi noch eine Oberfläche?
    Wie viele Werte nimmst du auf? 1Wert/Sekunde?
    Gruß
    Chris


    Sollte zwischen den beiden Rechnern das Internet oder ein anderes, nicht vertrauenswürdiges Netzwerk liegen, solltest du obiges besser lassen.


    Oder zur Sicherheit alles über einen SSH-Tunnel (mit Public Key Auth) laufen lassen. SSH ist vermutlich sowieso auf beiden Pi's aktiv.
    Der Aufruf zur SSH-Verbindung mit Tunnel ist glaube ich (Doku befragen!):
    ssh user@host -L 9884:localhost:3306
    wobei 9884 der Port ist, an dem die Datenbank danach erreichbar ist, localhost der Host aus sicht des anderen Pi, und 3306 der Port am anderen Pi.
    Du kannst dann lokal auf die Datenbank vom anderen Pi über "localhost:9884" zugreifen.

    Hallo toni22,
    was heißt "Sensorplatform" genau? Deiner Beschreibung nach ist der Raspberry Pi aktuell chronisch unterfordert und könnte z.B. durch einen Arduino Nano (/ESP8266) ersetzt werden, der viel weniger Strom benötigt und die Anforderung zu "schlafen" von Haus aus mitbringt. Zudem mag es der Raspberry Pi ohne entsprechende beschaltung/Konfiguration nicht, wenn man ihn nicht korrekt herunterfährt.


    Hier werden die verschiedenen Powerstufen z.B. mal ganz schön erklärt.

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Gruß
    Chris


    Sehr wahrscheinlich nicht. Der Wärmeeintrag durch den Pi dürfte weitaus geringer sein als die Kälteleistung des Kühlschrankes. Es wird also definitiv zum kühlen kommen.


    Das mag sein, aber alle Energie, die man in den Pi steckt, muss man dann auch in den Kühlschrank stecken, da der Pi seine Energie 100% in Wärme umsetzt und der Kühlschrank nochmal die selbe Energie braucht, um die Wärme wieder in Kälte zu wandeln. (Bei 100% Wirkungsgrad Kühlschrank), also aus Resourcensicht nicht gut.

    Alti Hast du einen Kühlkörpre am Pi dran? Welche Version des Pi (Der 3B aus der Signatur) hast du? Bei zu hohen Temperaturen taktet sich der Pi auch runter, Ich würde aber aus Angst vor Kondenswasser davon absehen den Pi kalt zu stellen. Da würde ich eher noch zu einem aktiven Kühlsystem greifen (Auch weil der Kühlschrank sicherlich nicht so stromsparend läuft, wenn da ne bis zu 10W Heizung drinnen steht :) )

    Hallo Hamyam,
    das mit dem Ram hatte ich falsch im Kopf, dachte der ATMega hat nur 128Byte Ram (sind aber 2048), da wären die 28Byte für das Array schon einiges gewesen, da er aber 2K hat, sollte es kein Problem sein, entsprechend wird auch "PS2" obsolet, das wäre auch nur ne Optimierung gewesen, um zwar zur Laufzeit weniger zu rechnen, dafür deutlich weniger Ram zu verbrauchen.
    Da du auf die Library FastLed setzt, fällt auch mein "PS3" weg, die Idee war, im Programm für die LED in der normalen Rechteckform (ohne Serpentinen) zu sehen und das erst bei der Ausgabe on the fly umzuwandeln.
    Gruß
    Chris


    PS: zum debuggen kannst du die Fuktion auch lokal in einem C Programm ausführen, sollte ja das Selbe rauskommen...


    Edit: Die rechnung im Index von tmpArray, z.B. (xMatrix-1+yMatrix-1+xMatrix-1), ist unabhängig von i, das kann nicht sein!

    Hallo hamyam,
    auf den ersten Blick sehe ich keinen Fehler (außer dass die Funktion ziemlich viel RAM-Speicher braucht!)
    Für die Analyse würde ich die serielle Ausgabe verwenden. Mache einmal am Anfang vor allem eine Ausgabe, dann nach jeder Schleife.


    Gruß
    Chris


    PS: Einen (doppelten) Fehler entdeckt ;) Du versucht einen Pointer auf ein Array im Stack zurückzugeben von einer Funktion, die keinen Rückgabewert hat (void).
    PS2: Warum rechnest du dir die nächste LED-Nummer nicht immer zur Laufzeit, das spart einige Byte Arbeitsspeicher


    PS3: hast du schon mal dran gedacht, das Serpentinenlayout für dein Programm in ein Array-Layout zu überführen? Das könnte die Entwicklung vereinfachen, also immer von einer Matrix ausgehen und erst bei der Ausgabe das neu „ordnen“

    Hallo zusammen,
    darf man lineare Spannungsregler parallel schalten? Dann könnte man 2 lineare Regler von diesem Typ verwenden (http://www.ti.com/lit/ds/symlink/tps766.pdf), die haben je 35uA Ruhestrom und liefern 250mA unter Last.
    Alternativ vllt. einen großen Kondensator parallel zum ESP schalten, der für die 18s den Strom liefert und sich in den Rest der Zeit auflädt? (Hab ich jetzt nicht durch gerechnet, wie viel Farad man da bräuchte)


    Gruß
    Chris

    Hallo schnibli,
    dafür verwendest du entweder preparend Statements ( empfohlene Möglichkeit), oder du baust dir die Abfrage mittels Stringstream zusammen (möglich, aber unsicher gegenüber Manipulationen).


    Gruß
    Chris

    Hallo zusammen,
    welche Ladestöme sind hier vorhanden? Reden wir von >10A. Eine einfache Diode würde ich als ungeeignet ansehen, da durch den Spannungsabfall das Ladegerät zu hohe Spannungen liefern muss. (z.B. bei einer LiPo-Zelle statt den 3,7V bei 1V Spannungsdrop an der Diode 4,7V).
    Die sauberste Lösung sehe ich in einem Doppelrelais (oder wie der korrekte Name für Relais ist, die ein Y schalten können, also einen Eingang entweder auf den einen oder den anderen Ausgang schalten), was den Akku entweder mit dem Ladegerät, oder mit dem Regler verbindet. Das hätte dann auch noch den Vorteil, dass das Ladegerät den Regler unter keinen Umständen versorgen kann.


    Wenn man dann noch ein Bistabiles Relais verwendet, bräuchte man nicht mal Strom zum halten.


    Gruß
    Chris