Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Temperaturüberwachung auf dem Raspberry Pi

Übersicht

Der Raspberry Pi ist ein kleiner Einplatinencomputer (SBC), der hier in Großbritannien von der Raspberry Pi Foundation entwickelt wurde. Es führt verschiedene Linux-Versionen auf ARM aus und verfügt über eine Reihe von I/O-Pins, mit denen Sie externe Komponenten wie Sensoren, Tasten usw. anschließen können. Der Raspberry Pi hat leider keinen integrierten Analog-zu-Digital-Wandler Wir können keinen analogen Temperatursensor wie den TMP36 verwenden, der mit dem Arduino hervorragend funktioniert. Die Alternative besteht darin, einen digitalen Temperatursensor zu verwenden.

Teile

Raspberry Pi
DS18B20 Temperatursensor
4,8k Ohm Widerstand
Prototyping Plate
Pi Cobbler
Halbes Steckbrett
Jumper Wire Pack

Grunddesign

Hardware

Im Grunddesign benötigen wir nur den Raspberry Pi, den DS18B20-Temperatursensor, den 4,8 kOhm-Widerstand, den Pi Cobbler, das halbe Steckbrett und die Überbrückungsdrähte. Alles wird in das Steckbrett eingefügt, um das Testen und Design zu vereinfachen.

Schaltplan

Die Sensoren sind insofern ziemlich einzigartig, als sie parallel verdrahtet werden können und dem System beliebig viele Sensoren hinzugefügt werden können. Die Sensoren kommunizieren über eine einadrige serielle Schnittstelle und wenn Sie Rasbian auf dem Raspberry Pi verwenden, werden die Sensoren als angeschlossene serielle Geräte erkannt. Der Sensor muss jedoch mit Pin4 des GPIO verdrahtet werden, da dies der einzige Pin ist, der (derzeit) die Kommunikation über das serielle Eindrahtprotokoll ermöglicht.

Sie können dieses Diagramm aus der Anleitung von Adafruit zum Einrichten des DS18B20-Temperatursensors auf dem Raspberry Pi verwenden, um beim Anschließen alles zusammenzufassen.

DS18B20

Sie können den DS18B20 in drei Formen erwerben:eine Komponente mit normalem Transistor-Look ist erhältlich, eine wasserdichte Version mit einem daran befestigten langen Kabel und eine Hochtemperaturversion.

Alle drei DS18B20 enthalten die spezielle serielle 1-Wire-Schnittstelle sowie die Steuerlogik und den Temperatursensor selbst. Es gibt die digitalen Messwerte an den Raspberry Pi aus und je nach Distribution bietet die neueste Version von Raspbian eine Möglichkeit, diese Nachrichten ohne zusätzliche Arbeit zu lesen. Wenn Sie alles miteinander verkabelt haben, können Sie es über die Befehlszeile mit den folgenden Befehlen testen.

123456sudo modprobe w1–gpiosudo modprobe w1–thermcd /sys/bus/w1/deviceslscd 28–xxxx (ändern Sie dies so, dass es mit Ihrem übereinstimmt)cat w1_slave

Geben Sie die oben angezeigten Befehle in ein Terminalfenster ein. Navigieren Sie zum Verzeichnis '/sys/bus/s1/devices'. In den Befehlen über dem 'cd'-Befehl wurde das Verzeichnis beginnend mit '28-' festgelegt. Es kann auf Ihrem System einen anderen Namen haben, als er auf der Seriennummer des DS18B20 basiert Nummer, also cd zum Namen des Verzeichnisses, das dort ist.

Die Antwort enthält entweder JA oder NEIN am Ende der ersten Zeile. Wenn ja, wird die Temperatur am Ende der zweiten Zeile in 1/000 °C angegeben.

Software

Nachdem die Schaltung zusammengestellt wurde, müssen wir nun das Programm schreiben, um die Temperaturdaten vom Sensor zu lesen. In der Grundausführung liest das Programm die Daten jede Sekunde und zeigt den Messwert auf Standard im Terminal an.

Die Softwaresprache, die wir verwenden werden, um die Daten vom DS18B20-Temperatursensor zu lesen, ist Python. Füge dies zu einer Datei hinzu und speichere sie als ‚temp_logger_basic.py‘

1234567891011121314151617181920212223242526272829303132import osimport globimport timeos.system('modprobe w1-gpio')os.system('modprobe w1-therm')base_dir ='/sys/bus/w1/devices/'device_folder =glob.glob(base_dir + '28*' )[0]device_file =device_folder + '/w1_slave'def read_temp_raw():    f =open(device_file, 'r')    lines =f.readlines()    f.close()    return linesdef read_temp():    lines =read_temp_raw() while lines[0].strip()[–3:] !='YES':        time.sleep(0.2)        lines =read_temp_raw()    equals_pos =lines[1].find('t=')    if equals_pos !=– 1:temp_string =Linien [1] [equals_pos + 2:] temp_c =float (temp_string) / 1000,0 =temp_f temp_c * 9,0 / 5,0 + 32,0 return temp_c, temp_fwhile True:print (read_temp ()) time.sleep (1)

Am Anfang des Programms fügen wir Module ein, die wir im Skript verwenden, und gibt dann die "modprobe"-Befehle aus, die zum Starten der Schnittstelle erforderlich sind. Suchen Sie in den nächsten drei Zeilen die Datei, aus der die Daten gelesen werden können.

Es gibt zwei Funktionen, die das Lesen der Temperatur handhaben, ‚read_temp_raw‘ holt die beiden Nachrichtenzeilen von der Schnittstelle. Die Funktion ‚read_temp‘ gibt jede Sekunde zwei Werte zurück, die Temperatur in Celsius und die Temperatur in Fahrenheit.

Hier ist eine Ausgabe des Skripts.

123456789sculley@berry:/usr/local/temperature/$ sudo python ./temp_logger_basic.py(18,875, 65,975)(18,875, 65,975)(18,875, 65,975)(18,875, 65,975)(18,875, 65,975)(18,875, 65,975)( 18,875, 65,975)(18,875, 65,975)

Das Skript muss als Root ausgeführt werden, und Sie müssen Python verwenden, um das Skript aufzurufen, da wir den Python-Shebang nicht oben im Skript hinzugefügt haben.

Das war's also, Sie sollten das Basisdesign erfolgreich verdrahtet und das Basisskript geschrieben haben, um die Temperaturdaten vom DS18B20-Temperatursensor zu lesen. Jetzt können wir zum fortgeschritteneren Design übergehen.

Erweitertes Design

Im erweiterten Design zeige ich euch mein Design meines Temperaturloggers, bei dem ich die Komponenten auf ein PCB-Shield gelötet habe, das in den Raspberry Pi gesteckt wird und in einer kleinen schwarzen Box aufbewahrt wird, um alles zu verstecken, der Code läuft stündlich und speichert die Daten in eine MySQL-Datenbank, verwende ich diese, um die Daten in einem Google-Diagramm anzuzeigen, was die Visualisierung erleichtert.

Hardware

Für das fortgeschrittene Design benötigen wir die gleichen Teile wie das grundlegende, außer dem Pi Cobbler (Raspberry Pi, DS18B20 Temperatursensor, 4,8 k Ohm Widerstand, Half-Size-Breadboard und Überbrückungsdrähte), aber wir brauchen auch eine Platine, ich habe den Raspberry Pi gekauft Prototyping-Schild von Adafruit, das sich hervorragend für die Erstellung semipermanenter Designs eignet.

Für mehr Details:Temperaturüberwachung auf dem Raspberry Pi


Herstellungsprozess

  1. Himbeer-Pi-Temperaturlogger
  2. Raspberry Pi-Temperaturprofil mit LabVIEW
  3. Raspberry Pi Temperatur- und Luftfeuchtigkeits-Netzwerkmonitor
  4. Temperatur lesen mit DS18B20 | Raspberry Pi 2
  5. Temperaturmessung mit RASPBERRY PI
  6. Python- und Raspberry Pi-Temperatursensor
  7. Einfache Temperatur und Luftfeuchtigkeit auf Raspberry Pi
  8. Überwachen der Temperatur mit Raspberry Pi
  9. DIY:Temperaturüberwachung und -regulierung für HomeBrew
  10. Raspberry Pi liest BMP085 Temperatur und Druck