Beiträge von gottfried50

    Danke Euch

    @famp
    "BTW: lmgtfy hilft sehr bei Fehlermeldungen undefined"
    Du hast recht aber ich habe mit dem OOP-Kauderwelsch ein echtes Problem ... sorry

    Hallo,

    ich habe ein sehr sonderbares Problem mit [python 3.2.3] _thread.start_new_thread(...)

    Ein "Basisprogramm" startet 2 Threads (Funktionen) mit einfachen Dingen (Test wie Blinken, Zeit ausgeben etc.) ...

    Code
    t1=(0.3,)
    t2=(1.2,)
    _thread.start_new_thread(task1, (t1))
    _thread.start_new_thread(task2, (t2))
    print ('***starting finished***')


    ...alles super, das Programm läuft über die _thread.start_new_thread(...) - wie es soll - hinweg und das Hauptprogramm macht auch seine Arbeit. ***starting finished*** wird ausgegeben So weit so gut.

    Nun hänge ich statt einer Testfunktion die wirklich für mich interessante Funktion ein

    Code
    t1=(0.3,)
    t2=(1.2,)
    _thread.start_new_thread(true_task, (t1))
    _thread.start_new_thread(task2, (t2))
    print ('***starting finished***')

    ... das Programm startet diese Funktion "true_task" und die Funktion arbeitet brav und bieder... aber "task2" wird nicht gestartet.

    Ändere ich die Reihenfolge:

    Code
    t1=(0.3,)
    t2=(1.2,)
    _thread.start_new_thread(task2, (t2))
    _thread.start_new_thread(true_task, (t1))
    print ('***starting finished***')


    Startet "task2" und "true_task" aber das Hauptprogramm läuft nicht weiter.


    Nun ist der Hauptverdächtige "true_task" - was macht "true_task" (das ist eine umfangreiche Funktion die Daten erfasst steuert). CPU Last 12% und zum Schluss ein sleep(etwa 1800). Ich denke da ist nichts Schlimmes. Das Einzige, etwas außergewöhnliche, ist dass diese Funktion beim Start mit os.system ein Python2 Programm startet (weil es den DHT22 Modul in Python3 nicht gibt). Aber auch das ist nicht verwerflich und wird auch nicht mit dem Scheiterhaufen geahndet...oder? Die ganze Schleife in "true_task benötigt 3sec Rechenzeit und fertig.

    Also im wesentlichen ist true_task

    Code
    setup
    init
    os.system('sudo python DHT22#loop.py 22 24 100  > DHT22#loop.txt &')
    while True:
         messe vor dich hin
         schallte ein und aus
         sleep(1759.534)
    ...


    Bitte um einen Expertenrat

    Gottfried

    PS.: wenn ich den System-call herausnehme ändert sich nix

    Super, aber die Zeile

    Code
    cpuInfo=subprocess.check_output('cat /proc/cpuinfo', shell=True).strip().split('\n')
    
    
    produziert
    
    
    Type Error: Type str doesn't support the buffer API

    was immer das heisst ???


    [code=php]#!/usr/bin/python
    import subprocess

    cpuInfo=subprocess.check_output('cat /proc/cpuinfo', shell=True).strip().split('\n')
    revision=[line for line in cpuInfo if 'Revision' in line][0].split(':')[1].strip()
    print "Found revision %s" % revision[/php]

    liefert Dir den aktuellen Revision Code. Dann noch diese Tabelle nehmen und auf das gewünschte Modell abfragen ;)

    Hallo,

    ich möchte den Module in /home/pi/mymod/SuperModule.py aus
    /home/pi/plant/test.py laden.
    mit

    Code
    gMod = importlib.machinery.SourceFileLoader('gMod','/home/pi/mymod/SuperModule.py').load_module()


    bekomme ich die Meldung das die Eigenschaft SourceFileLoader nicht existiert.
    (http://stackoverflow.com/questions/2738…n-the-full-path)

    Auch habe ich keine Ahnung was links vom "=" stehen muss und mit dem ersten Parameter habe ich auch Verständnisprobleme.

    Mit
    from ..SuperModule import *
    geht das auch nicht.
    (from http://stackoverflow.com/questions/1217…atement-python3)

    Kann mir jemand die Hand führen?

    Gottfried

    PS.: warum: das Module soll von mehreren Projekten die in eigenen Directories sind angesprochen werden.

    Ich kann mich nur maxl95 anschließen. Ich habe so etwas ähnliches ausprobiert ... funktioniert .... manchmal. Das war nix für mich. Da sowieso im Aufbau ein MC3008 war konnte ich auch Analog Werte messen.
    Meine Vorgangsweise:
    * ein GPIO als output, damit schalte ich die Versrgung der 2 _Edelstahlnägel_ nur ein wenn ich den Wert brauche =) Korrosionsschutz
    * 1MOhm
    * Kontakt A
    * 10MOhm zwischen A und B
    * Kontakt B auf GND

    Ich messe den Spannungswert von Kontakt A gegen GND. Das ist _sehr_ zuverlässig.
    Hoffe das hilft
    Gottfried


    Hallo,


    Bist du denn _sicher_, dass das Programm Output produziert? Ansonsten hältst du dich mit ein paar mehr Infos ja stark hinter Berg. Und Raten != Support, von daher...

    Gruß, noisefloor

    Du glaubst mir nicht :lol: ja, ich schaue im LAN am Handy mehrmals täglich die produzierten Messwerte an und veränder gegebenenfalls das INI File (das - nur zu Sicherheit hier gesagt - alle z.B.: halbe Stunde neu eingelesen wird). Es sind die Feuchtigkeitswerte und Umweltparameter von für uns teuren Pflanzen (riesige Bejamin Ficus).

    Also ... Lügendetektortest bestanden ? :rolleyes: :rolleyes:

    Alles liebe

    Gottfried

    Hallo,

    ich verwende Wheezy und mit VNC will ich sehen welche Werte gerade gemessen werden.

    Mein Ansatz wie im ersten Beitrag angezeigt ist schlicht nicht möglich, weil idle3 seinerseits ein X-Terminal braucht.

    Was soll also passieren beim Start

    • startx
    • start LX-Terminal (so heisst das denke ich)
    • jetzt erst "sudo idle3 -r python_program.py"

    dann sollte ich mit VNC den output sehen können.

    BTW: was bewirkt bei "/usr/bin/tightvncserver :1" (in meinem rc.local) das :1?

    Auf http://www.tightvnc.com/vncserver.1.php entnehme ich, dass das die "Display Nummer" ist. Und was heisst das?

    Danke

    Gottfried

    Hallo

    ich möchte ein python3 Programm automatisch starten und habe folgendes versucht mit rc.local:

    Fakt ist, dass ich damit den Raspi irgendwie schwer durcheinander bringe - crasht sogar manchmal und außerdem sehe ich mit

    Code
    ps -ax


    nichts das nach Python aussieht.

    ohne
    sudo idle3 -r TEST#PlantServiceXe_3.py
    funktioniert alles ... ich muss natürlich das Programm händischstarten.

    Ich möchte natürlich das X-Terminal im VNC sehen.

    Bitte um Expertenhilfe

    Gottfried

    Hallo,

    ich hatte einen funktionierenden Python2 code für der PIL und das FlickrAPI verwendet hat.

    Um nach Python3 zu emigrieren habe ich

    Code
    sudo pip-3.2 uninstall PIL
    sudo pip-3.2 install Pillow>=3.0
    sudo pip-3.2 install flickrapi>=2.0.0
    sudo apt-get install python3-dev python3-setuptools
    sudo apt-get remove squeak-plugins-scratch


    ...ohne Fehlermeldung.


    mit sys.modules sehe ich aber keine Module und import Pillow oder PIL oder FlickrAPI funktioniert nicht.

    Was mache ich falsch?

    Danke

    Gottfried


    FTP muss hinter einem NAT-Router im passive mode betrieben werden - dafür ist eine Portrange configuriert, die du auch noch freigeben musst > siehe config des FTP-Servers (vermutlich proftpd).

    Schau dich da nochmal im Forum um, es gab einige Themen die dieses Problem behandelt haben.

    Danke... super funktioniert, ich habe 1200 bis 1220 freigegeben und musste erst draufkommen, das das Connect auf Port 21 initialisiert werden muss