Posts by KaiDieSeegurke

    hyle Ah, auch in den xlsxwriter Methoden.

    Hat funktioniert. Vielen Dank für die schnelle Hilfe! :)

    Für zukünftige Leser hier die Korrektur:


    Code
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook("/home/pi/Dektop/Gummibär/testMappe.xlsx") #Arbeitsmappen Objekt erstellen
    
    worksheet1 = workbook.add_worksheet() #Blatt in Excel erstellen
    worksheet1.write("A1", "Banane")
    worksheet1.write("B2", "Osterhase")
    worksheet1.write("C3", "Schokodöner")
    
    workbook.close() #Arbeitsmappe schließen und speichern

    Wenn ich mich recht entsinne versetzt diese Methode den Raspberry aber in eine Art Zustand zwischen Standby und Herunterfahren, oder liege ich da falsch?

    Hatte mich damit auch mal auseinander gesetzt, das ganze dann aber verworfen, da ich ein batteriebetriebenes System gebaut habe bei welchem ein unnötiger Verbrauch im Standby keine Option war.

    Hallo Zusammen,


    Mein aktuelles Projekt ist ein Koffer mit diversen Sensoren, welche ihre gesammelten Daten als xlcx file speichern sollen.

    Hierfür verwende ich die XlcxWriter library in Python3.


    Da der Sensorkoffer mobil eingesetzt werden soll, muss das Pythonscript beim Booten automatisch gestartet werden.

    Hierzu habe ich die entsprechenden Befehle in rc.local eingebunden.


    RaspberryPi4B 4GB

    Raspbian Version: Linux10 buster

    Code
    _IP=$(hostname -I) || true
    if [ "S_IP" ]; then
        printf "My IP address is %s\n" "S_IP"
    fi
    
    cd /home/pi/Desktop/HierSollDasFileHin &
    sudo python /home/pi/Sensorskript.py &
    
    exit0


    Leider schreibt das Skript beim Aufruf via Autostart keine Files mehr.(beim Aufruf übers LX Terminal funktioniert es)

    Generell läuft das Programm aber fehlerfrei weiter. (schreibt halt nur keine Files)


    Ich erspare euch jetzt mal meinen Wust aus 3000 Zeilen Code, da ich das Problem auch im einfachen Maßstab reproduziert bekomme.

    Hier mal die die wesentlichen Zeilen des Codes:


    Code
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook("testMappe.xlsx") #Arbeitsmappen Objekt erstellen
    
    worksheet1 = workbook.add_worksheet() #Blatt in Excel erstellen
    worksheet1.write("A1", "Banane")
    worksheet1.write("B2", "Osterhase")
    worksheet1.write("C3", "Schokodöner")
    
    workbook.close() #Arbeitsmappe schließen und speichern

    Kann mir jemand einen hint geben warum ein via autostart aufgerufenes Python Programm keine files schreiben kann?

    Muss man dem Skript eine Art Berechtigung zum Schreiben geben oder muss ich etwas in meinen Code einbauen?


    Ich freue mich über jeden Hinweis! :)


    Liebe Grüße

    Kai



    edit: PS: Ich freue mich darauf euch das fertige Projekt in Zukunft mal vorzustellen :)

    Hallo Tell,

    Danke für deine Antwort auf meine chaotische Frage.


    Ich denke ich habe irgendwo was an der Software verkorkst.

    Habe die SD Karte nochmal komplett geflasht und danach hats mit er erstbesten Standartanleitung geklappt und alle Probleme waren weg.


    Tut mir Leid, dass ich hier so einen sinnlosen Beitrag gestartet habe.

    Die Moral von der Geschichte: Regelmäßig Sicherungen machen, alles dokumentieren und wenn garnix mehr geht halt nochmal die SD Karte Flaschen.

    RTFM sehr interessant.

    Ich glaube nicht, dass er ein Kabel mit micro USB Stecker genommen hat.


    Das USB-C Kabel, dass ich verwendet habe hatte ich von meinem Smartphone.

    Da waren auch nur 5 Adern drin, da diese ein USB 2.0 Kabel ist.


    MR_FIRE_Flower

    Ich denke beim Verbinden ist etwas schief gegangen.

    Schau dir deine Verkabelung nochmal an und mess nach wo wirklich was ankommt.

    Wie RTFM schon wunderbar erläutert hat hast du irgendwo nen Kurzen drin.

    Anhand deiner Beschreibung entweder kein Kontakt oder Polarität vertauscht.

    Kurzschluss kann bei solchen Basteleien auch gerne mal vorkommen. :blush:

    Manche Kupferdrähte in Kabel sind nochmal beschichtet und somit auf blanko Kontakt nicht leitfähig.


    Ich habe für meinen Pi4 das gleiche gemacht, aber am anderen ende kein Netzteil sondern zwei Jumperkabel angelötet.

    Es empfiehlt sich die einzelnen Phasen mit Schrumpfschlauch abzuisolieren. Das sieht dann auch ganz nett aus.

    (Habe mit ne Schaltung mit variablen Spannungen von 0-12V gebastelt)

    Hallo zusammen, :)


    Seit einiger Zeit versuche ich an meinem RaspberryPi 4B (4GB) das GPS Neo6mV2 Modul zum laufen zu bringen.

    Vor einem Jahr hatte das gleiche Modul schon mal funktioniert, mittlerweile aber nichtmehr.


    Das GPS scheint Satelliten zu sehen (rote LED blinkt mit 1/sekunde), aber mit:

    Code
    sudo gpsd /dev/serial0 -F /var/run/gpsd.sock 
    sudo cgps -s

    bekomme ich kein Standort etc. rein. (damit hat es vorher geklappt)


    mit:

    Code
    sudo cat /dev/serial0  

    bekomme ich keine Ausgabe/bzw. das LX Terminal hängt sich auf (hat auch mal funktioniert)


    ein Echo bekomme ich indem ich RX mit TX überbrücke und

    Code
    echo "hello" > /dev/ttyAMA0 

    eingebe auch nicht.


    Ich habe mich durch zich Anleitungen geklickt, aber bisher hat nichts funktioniert.

    Das selbe GPS Modul habe ich an 2 verschiedenen Raspberrys mit 3 verschiedenen Antennen ausprobiert und mich damit mit 50m Kabeltrommel unter den freien Himmel gestellt.


    Die Serielle Schnittstelle scheint an sich zu funktionieren, da ich über Minicom z.B. auf meinen StromPi3 zugreifen kann

    (diesen Verwende ich nicht gleichzeitig mit dem GPS da beide um die Schnittstelle konkurrieren.)


    Hier ein paar Infos zu meiner Konfiguration:


    uname -a:

    Linux raspberrypi 5.10.17-v71+ #1421 SMP Thu May 27 14:00:13 BST 2021 armv71 GNU/Linux


    Modul angeschlossen an:

    VCC: Pin1 (3V3)

    GND: Pin9

    TX: Pin 10

    RX: Pin 8


    cmdline.txt:doc_otg.lpm_enable=0 console=tty1 root=PARTUUID=9720881e-02 rootfstype=ext4 elevator=deadline fsck.repair=yes root wait quiet splash plymouth.ignore-serial-consoles


    config.txt:

    enable_uart=1

    dtoverlay=disable-bt

    init_uart_baud=9600


    sudo raspi-config: (3) Interface options -> P6 Serial Port -> Nein -> Ja -> reboot


    Getty Service deaktiviert:

    sudo systemctl stop serial-getty@ttyAMA0.service

    sudo systemctl disable serial-getty@ttyAMA0.service


    Ausgabe von ls -l /dev:


    Ausgabe von stty -F /dev/ttyAMA0:



    Ich bin für jeden Hinweis und Vorschlag dankbar, da ich wirklich keine Ahnung habe wo ich noch nachschauen kann oder woran es hängen könnte. :conf:

    Wenn ihr einen guten Guide für die Serielle Kommunikation, Minicom oder GPS am RaspberryPi4B kennt, dann immer her damit.


    Welches GPS Modul, etc. könnt ihr denn empfehlen? Komme ich um das Problem mit einem USB GPS rum?


    Vielen Dank für eure Hilfe! :danke_ATDE:

    Falls man bei der volumetrischen Variante bleiben möchte würde ich empfehlen das mit der "Eimermethode" zu kombinieren.

    Hierfür könnte man einen Zylinder nehmen mit Füllstandssensoren auf einer festgelegten Füllhöhe.


    Die Temperatur könnte man hier mit mehr als einem Sensor messen und der Wert währe auch aussagekräftiger, da Schwankungen die in der Wasserleitung vorkommen durch das größere Volumen gemittelt werden und der Sensor auch mehr Zeit hat sich einzupendeln.

    Gaseinschlüsse lassen sich hiermit ebenfalls via Entlüftungsöffung abscheiden.


    Entsprechende Produkte kann ich dir leider spontan nicht auflisten, aber nehme nicht den Füllstandssensor aus Fokushima.

    Hab gehört, dass der nicht so gut funktioniert hat :P

    Hallo Zusammen,


    Ich habe ein Projekt für das ich eine große Zahl (min 128) DHT22 Sensoren nacheinander auslesen muss.


    Um die Zahl der Relays zu senken habe ich mir überlegt vier Sensoren an eine Datenleitung zu hängen und dann jeweils nur einen der Vier einzuschalten und auszulesen.

    So kann ich mit 36 Relays 128 Sensoren durchschalten.

    Das ganze habe ich experimentell getestet und konnte bis zu 6 DHT22 mit 4x 5m Klinkenkabel und 2x 3m Klinkenkabel an einen GPIO hängen und zuverlässig korrekte Daten auslesen.


    Meine Fragen währen:

    - Warum ist ab 6 Sensoren Schluss?

    - Wie lang kann ich die Kabel machen?

    - Wie lassen sich diese Grenzen weiter dehnen?


    Der folgende Schaltplan zeigt eine Sektion mit 4 Sensoren.

    Im vollständigen Schaltplan würde sich zwischen dem GPIO und diesem Abschnitt der Relay-Baum mit 31 weiteren dieser Sektionen befinden.



    Vielen Dank für jegliche Inspirationen :)


    Liebe Grüße

    Kai

    Hi

    Ich möchte die zusätzlichen UARTs des Raspberry Pi4 nutzen, da GPIO 14 und GPIO 15 bereits vom StromPi3 belegt sind, ich aber ein GPS Modul betreiben möchte.

    Für mich optimal wäre UART5 (GPIO12 = RX ; GPIO13 = TX).

    Durch hinzufügen von:


    enable_uart=1

    dtoverlay=uart2

    dtoverlay=uart3

    dtoverlay=uart4

    dtoverlay=uart5


    in die /boot/config.txt datei habe ich diese aktiviert.

    ls -l /dev/ttyA* gibt mirfolgendes aus:


    crw-rw---- 1 root dialout 204, 64 Jul 23 14:18 /dev/ttyAMA0

    crw-rw---- 1 root dialout 204, 64 Jul 23 14:18 /dev/ttyAMA1

    crw-rw---- 1 root dialout 204, 64 Jul 23 14:18 /dev/ttyAMA2

    crw-rw---- 1 root dialout 204, 64 Jul 23 14:18 /dev/ttyAMA3

    crw-rw---- 1 root dialout 204, 64 Jul 23 14:18 /dev/ttyAMA4


    Mein Problem ist jetzt, wie ich das GPS an uart5 zum laufen bekomme.

    Hat jemand einen Link zu einer Anleitung bzw. Hinweis, was ich tun muss.

    Das GPS hatte ich bereits an GPIO14 und GPIO15 verwendet und hat einwandfrei funktioniert.

    Kurzum: Ich möchte wissen, wie ich dem Raspberry verklicker, dass er über UART5 kommunizieren soll.


    Danke für jeden Tipp :)

    LG

    Kai

    Hallo zusammen :)


    Seit geraumer Zeit suche ich nach einem Python Skript, dass es mir ermöglicht eine Aktion durch Tastendruck auszulösen. (Im Prinzip wie Input, blos ohne Enter drücken zu müssen)

    Ich habe mich durch Unmengen an Forumsbeiträgen gewühlt (unter anderem auch in diesem Forum: einfacher Keyboard Event?)

    und sehr viele Skript ausprobiert, aber nix hat funktioniert. Am vielversprechendsten war bisher ein Versuch auf Basis der "Keyboard" library.


    Import keyboard


    while True:

    try:

    if Keyboard.is_pressed('q'):

    print('You pressed q!')

    break

    except:

    break


    Hab keine Fehlermeldung bekommen, aber er springt immer direkt aus dem Loop.

    Weitere Versuche hatte ich auf Basis von "termios" library, hatte da aber immer eine Fehlermeldungen ohne Ende. (Habs grad nicht im Kopf, aber stells gerne rein, wenns jemanden interessiert.)

    Weitere Skripte waren auf Basis von pygame, was für mich aber keine Option darstellt.


    Ziel der Unternehmung ist durch eine "to-do-Liste" mit Pfeiltasten (USB Tastertur) durch die einzelnen Punkte zu wechseln. (Anzeige via 16x4LCD)

    Optimal wäre, wenn mir jemand sagen könnte, wie ich die gedrückte Taste als Variable speichern kann. Damit wäre ich schon mehr als zufrieden.

    Meine Python Version ist 3.7.3 und ich betreibe das ganze auf einem Raspberry Pi 4 Model B Rev.1.1

    Wenn ihr weitere Infos braucht, einfach bescheid geben.


    Lieben Dank euch schonmal für jeden Hinweis.


    PS: Ich bin was Programmieren angeht ein absolut blutiger Anfänger und meine Kenntnisse basieren auf Trial and Error, daher bitte möglichst einfach schreiben :blush:

    Wenn ich etwas an meinem Post nicht passt, bitte schonungslos sein, damit ichs in Zukunft besser machen kann.