• Du musst dich registrieren, bevor du Beiträge verfassen kannst. Klicke auf Jetzt registrieren!, um den Registrierungsprozess zu starten. Registrierte User surfen werbefrei, können Suchen durchführen und sehen die volle Darstellung des Forums mit vielen anderen Unterforen!!!

WLAN-Thermometer selbst bauen mit Raspberry Pi

Hi
Ich hoffe das ich mich nicht wie ein Elefant im Porzellanladen benommen habe. Falls doch Entschuldigung. Wie ihr ja sehen könnt bin ich neu. Ich grille zwar schon seit ca. 50 Jahren, aber ich habe mir erst letzte Woche eine Kugel zugelegt. Und bin auch prompt in die Falle der Temperaturproblematik hineingelaufen. Auf der Suche wie man die Temperatur am besten misst habe ich dann dieses Projekt gefunden. Beruflich hatte ich mal ein ähnliches Problem beim Upgrade eines Mikrocontrollers. Die Erhöhung der Taktfrequenz alleine wäre unkritisch gewesen, aber da auch die internen Rechenwerke verbessert wurden, mussten alle zeitkritischen Signale überprüft werden und die Software entsprechend angepasst werden. Evtl. sollte man einen "Verzögerungfaktor" in eine Konfigurationsdatei schreiben (automatisch wenn die SW den Controller erkennt oder per Hand wenn nicht).
Peter
P. S. Ich habe natürlich noch kein wlanthermometer (in der Kürze der Zeit) freue mich aber schon auf die v3. Sind die Infos auf wlanthermo.com bezüglich der v3 eigentlich aktuell? Kann man evtl. alle aktuelle Infos über die v3 erhalten. Ohne ist die Diskussion über Probleme mehr ein Stochern im Nebel.
 
@carbonara
Vermutlich wird die Software ohne Thermometer-Platine bei irgendeiner Abfrage auf Antwort warten und somit hängen bleiben.
Dann müßte man die SW-Teile zur Ansteuerung des A/D-Wandlers alleine laufen lassen (für ein Scope in einer Schleife). Es würde evtl. sogar reichen zu messen wie lange das hin und herschalten eines Port Pins dauert. Und dann mal "kräftig" überlegen wie die von der SW generierten Signale aussehen und schauen ob das für den A/D-Wandler OK ist.
Peter
 
Hi
Ich hoffe das ich mich nicht wie ein Elefant im Porzellanladen benommen habe. Falls doch Entschuldigung. Wie ihr ja sehen könnt bin ich neu. Ich grille zwar schon seit ca. 50 Jahren, aber ich habe mir erst letzte Woche eine Kugel zugelegt. Und bin auch prompt in die Falle der Temperaturproblematik hineingelaufen. Auf der Suche wie man die Temperatur am besten misst habe ich dann dieses Projekt gefunden. Beruflich hatte ich mal ein ähnliches Problem beim Upgrade eines Mikrocontrollers. Die Erhöhung der Taktfrequenz alleine wäre unkritisch gewesen, aber da auch die internen Rechenwerke verbessert wurden, mussten alle zeitkritischen Signale überprüft werden und die Software entsprechend angepasst werden. Evtl. sollte man einen "Verzögerungfaktor" in eine Konfigurationsdatei schreiben (automatisch wenn die SW den Controller erkennt oder per Hand wenn nicht).
Peter
P. S. Ich habe natürlich noch kein wlanthermometer (in der Kürze der Zeit) freue mich aber schon auf die v3. Sind die Infos auf wlanthermo.com bezüglich der v3 eigentlich aktuell? Kann man evtl. alle aktuelle Infos über die v3 erhalten. Ohne ist die Diskussion über Probleme mehr ein Stochern im Nebel.

Die Problematik tritt unabhängig von der Platine Version nur in Verbindung mit dem PI 2 auf. Der verbaute A/D Wandler wird in allen Versionen benutzt.
 
@ Das sehe ich auch so.

Aber da ich noch so neu bin habe ich zur Zeit nichts (noch nicht mal einen Raspi).
Wenn ich mal schauen soll ob die Ansteuerung OK ist, brauchte ich folgendes.
1. Wie lang sind die High and Low Phasen an einem Port Pin, wenn dieser per SW hin und her schaltet (Rechteck). Oder steht das schon irgendwo in der Raspi Doku?
2. Den Teil der SW, der den A/D-Wandler ansteuert (um mir zu überlegen wie die Steuersignale am Wandler aussehen)

Peter
 
Code:
def readAnalogData(adcChannel, SCLKPin, MOSIPin, MISOPin, CSPin):
    # Pegel vorbereiten
    GPIO.output(CSPin,   HIGH)   
    GPIO.output(CSPin,   LOW)
    GPIO.output(SCLKPin, LOW)
       
    sendcmd = adcChannel
    sendcmd |= 0b00011000 # Entspricht 0x18 (1:Startbit, 1:Single/ended)
   
    # Senden der Bitkombination (Es finden nur 5 Bits Beruecksichtigung)
    for i in range(5):
        if (sendcmd & 0x10): # (Bit an Position 4 pruefen. Zaehlung beginnt bei 0)
            GPIO.output(MOSIPin, HIGH)
        else:
            GPIO.output(MOSIPin, LOW)
        # Negative Flanke des Clocksignals generieren   
        GPIO.output(SCLKPin, HIGH)
        GPIO.output(SCLKPin, LOW)
        sendcmd <<= 1 # Bitfolge eine Position nach links schieben
           
    # Empfangen der Daten des ADC
    adcvalue = 0 # Ruecksetzen des gelesenen Wertes
    for i in range(13):
        GPIO.output(SCLKPin, HIGH)
        GPIO.output(SCLKPin, LOW)
        # print GPIO.input(MISOPin)
        adcvalue <<= 1 # 1 Postition nach links schieben
        if(GPIO.input(MISOPin)):
            adcvalue |= 0x01
    #time.sleep(0.1)
    return adcvalue
 
@ und @Phantomias2006

Ich habe in der Mittagspause mal etwas geschaut und den Code geringfügig geändert. Möchte den aber nicht in die Welt setzen (falls ich falsch liege).
Könnt Ihr den ausprobieren? (auf Pi und Pi2). Da ich noch keine PN schicken darf, könnt Ihr mir per PN eure email-Adresse zukommen lassen?

Ich glaube nicht, dass das auskommentieren von time.sleep hilft.
 
carbonara so ähnlich sehe ich das auch.

Langfristig sollte man wohl eine Funktion definieren die das setzen der GPI Ports per Parameter verlangsamt , so daß man das Controller un-abhängig programmieren kann.
 
@Pest da du noch kein PN schicken kannst, kannst du leider auch keine empfangen .. ab 15 Beiträge geht beides ..
 
@ und @Phantomias2006

Ich habe in der Mittagspause mal etwas geschaut und den Code geringfügig geändert. Möchte den aber nicht in die Welt setzen (falls ich falsch liege).
Könnt Ihr den ausprobieren? (auf Pi und Pi2). Da ich noch keine PN schicken darf, könnt Ihr mir per PN eure email-Adresse zukommen lassen?

Ich glaube nicht, dass das auskommentieren von time.sleep hilft.

Und ich hab noch keinen PI2 :-/
Deshalb kann ich mir das ganze nicht wirklich ansehen. Werd mir aber demnächst einen bestellen müssen.... Genaueres werd ich aber erst hier schreiben wenn es spruchreif ist ;-)

Aber versuch mal dass du mir eine Mail schickst (dann kann ich die an a.schaefer weiter leiten)

#####################################

Bin mir aber nicht 100% sicher ob die Adresse Funktioniert bzw. ob die Weiterleitung zu mir Funktioniert.
Hab die Adresse zwar schon über 1 Jahr aber noch nie getestet ;-)
 
würde mich auch für etwas Testcode interessieren, da ich hier B+ und Pi2 liegen habe .. kann aber sein, dass ich selber erst am WE dazu komme ..
 
@ und @Phantomias2006

Ich habe in der Mittagspause mal etwas geschaut und den Code geringfügig geändert. Möchte den aber nicht in die Welt setzen (falls ich falsch liege).
Könnt Ihr den ausprobieren? (auf Pi und Pi2). Da ich noch keine PN schicken darf, könnt Ihr mir per PN eure email-Adresse zukommen lassen?

Ich glaube nicht, dass das auskommentieren von time.sleep hilft.


Schick mal bitte an
-gelöscht- :-)
 
Zurück
Oben Unten