-
        

Ergebnis 1 bis 6 von 6

Thema: Python genaue Mglichkeit fr s Sleep

  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beitrge
    3.517
    Blog-Eintrge
    9

    Python genaue Mglichkeit fr s Sleep

    Anzeige

    Hallo Forum,

    heute sind endlich meine DS1820 1Wire Sensoren Muster angekommen (Muster sind schon was feines....spart man super viel Geld mit ^.^).
    Nun wollte ich 1Wire per Python realisieren und habe dafr folgenden Code:

    Code:
    import RPi.GPIO as GPIO
    import time
    import os
    from pizypwm import *
    
    
    # Kommandos
    Convert = 0x44
    Read = 0xBE
    Write = 0x4E
    Copy = 0x48
    Recall = 0xB8
    Read_Power = 0xB4
    
    
    # Datenpin
    Data_Out = 7
    
    
    # Pin 4 als Ausgang deklarieren
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(Data_Out, GPIO.OUT)
    GPIO.output(Data_Out, True)
    
    
    def Send_Data(Daten):
    	
    	# Umwandeln in einen Binaerstring
    	Dual = bin(Daten)
    	Dual = Dual[2:10]
    	
    	# Binaerstring ausgeben
    	for Stelle in range(len(Dual)):
    		if Dual[Stelle] == "1":
    			GPIO.output(Data_Out, False)
    			time.sleep(1.0/1000000.0)
    			GPIO.output(Data_Out, True)
    		else:
    			GPIO.output(Data_Out, False)
    			time.sleep(60.0/1000000.0)
    			GPIO.output(Data_Out, True)
    	
    
    
    while True:
    	Send_Data(Read_Power)
    	time.sleep(1)
    Allerdings zeigt mir mein Oszi zwischen den High Pegeln eine Zeit zwischen 150s - 200s an (was vieeeeeeeeel zu viel ist).....die Zeit zwischen High Pegeln soll bei einer "1" 1-15s und bei einer "0" 60-120s betragen...
    Kennt jemand eine Mglichkeit dies vernnftig zu realisieren?
    Danke schon mal!
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen knnen Binr, die anderen nicht.

    Gru
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beitrge
    802
    Nicht mit Phyton. Die Sprache ist halt nicht Hardwarenahe. Du knntest mal versuchen den Kernel mit dem PREEMPT Flag zu kompilieren, ansonsten musst du auf sowas wie Xenomai und C zurckgreifen. Wei nicht, ob sich fr Raspian(?) da Untersttzung da ist, einzukompilieren.
    Kultuverein Metal Resurrection, fr mehr Bands und Konzerte in sterreich (:

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beitrge
    3.517
    Blog-Eintrge
    9
    Hab eventuell eine andere Mglichkeit gefunden...muss ich mal probieren
    Und ja C-Code einkompilieren soll gehen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen knnen Binr, die anderen nicht.

    Gru
    Daniel

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beitrge
    802
    Naja mit einkompilieren meinte ich den Kernel selbst und mglw. teile des RootFS selbst zu kompilieren.
    Kultuverein Metal Resurrection, fr mehr Bands und Konzerte in sterreich (:

  5. #5
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beitrge
    41
    Jetzt ist der richtige Zeitpunkt gekommen, einen kleinen C hinter den RPi zu schalten

    Und im ernst, du kannst im Userspace nicht exakt ein paar s warten, du wirst immer "mindestens" die Zeitspanne warten. Selbst wenn dein sleep exakt [1] solange ausgefhrt wird, dann wird dir der Scheduler ein Strich durch die Rechnung machen. Nach meinen Beobachtungen liegen realistische Wartezeiten, auch im Kernel, eher im Millisekundenbereich.

    [1] http://www.kernel.org/doc/Documentat...s/hrtimers.txt

    - - - Aktualisiert - - -

    Jetzt ist der richtige Zeitpunkt gekommen, einen kleinen C hinter den RPi zu schalten

    Und im ernst, du kannst im Userspace nicht exakt ein paar s warten, du wirst immer "mindestens" die Zeitspanne warten. Selbst wenn dein sleep exakt [1] solange ausgefhrt wird, dann wird dir der Scheduler ein Strich durch die Rechnung machen. Nach meinen Beobachtungen liegen realistische Wartezeiten, auch im Kernel, eher im Millisekundenbereich.

    [1] http://www.kernel.org/doc/Documentation/timers/hrtimers.txt

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beitrge
    3.517
    Blog-Eintrge
    9
    Hey,

    ich habe gesehen, dass es sowieso ein Update fr einen 1Wire Treiber gibt, den man dann wohl einfach mit "file" etc. benutzen kann....
    Aber da muss ich mal schauen wie das geht....im Moment klappt das noch nicht so ganz.
    Ansonsten lagere ich die Kommunikation mittels 1Wire auf einen PSoC aus.....
    Wollte da heute eh noch eine einstellbare Hardware-PWM + ADC und evtl. DAC an mein Pi anschlieen und testen (werde es dann auch hier ins Forum / auf meine HP schreiben).
    Hatte halt gehofft ich knnte schnell mal einen 1Wire Sensor anschlieen und testen aber da gibt es leider doch das ein oder andere Problem
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen knnen Binr, die anderen nicht.

    Gru
    Daniel

hnliche Themen

  1. Suche Serviceleistung Python-Programmierung fr Raspberry Pi
    Von Raspy im Forum Jobs/Hilfen/Stellen - Gesuche und Angebote
    Antworten: 0
    Letzter Beitrag: 01.09.2012, 10:23
  2. rpyutils 0.1: Loader & Term in python fr linux
    Von karmic_koala im Forum Robby RP6
    Antworten: 0
    Letzter Beitrag: 01.07.2011, 16:55
  3. [ERLEDIGT] Genaue Zeitmessung fr SRF05
    Von RobotMichi im Forum Robby RP6
    Antworten: 6
    Letzter Beitrag: 23.04.2011, 13:26
  4. Andere Mglichkeit fr Servoansteuerung?
    Von easyprivate im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 03.09.2008, 18:20
  5. [ERLEDIGT] Bezugsquelle fr genaue Platinenfrse?
    Von im Forum Mechanik
    Antworten: 8
    Letzter Beitrag: 17.11.2004, 12:01

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhnge hochladen: Nein
  • Beitrge bearbeiten: Nein
  •