Rauch- oder Gassensor mit Raspberry Pi

Wenn wir eine Art von Gas mit einem Raspberry Pi analysieren möchten, Mit MQ-Sensoren können wir es uns sehr einfach machen, Wir müssen in jedem Fall nur wissen, welchen Sensor wir je nach den zu analysierenden Gasen erhalten müssen, und das war's auch schon, Wir werden in diesem Beitrag sehen, wie man es verbindet und die Werte erhält. Wie gewöhnlich, Am Ende speichern wir die erhaltenen Daten in einer MySQL-Datenbank, um sie aus Grafana zu visualisieren!

 

Was ich gesagt habe, Zunächst müssen wir wissen, welchen MQ-Sensor wir verwenden werden, In diesem Beitrag werden wir uns auf einen MQ2 verlassen, der Methan analysiert, LPG & Rauch, aber Sie sollten wissen, dass wir unter anderem auch den MQ3 haben, um Alcoho zu erhalten, Ethanol & Rauch, mit dem MQ4 werden wir in der Lage sein, Methan und komprimiertes Erdgas oder CNG zu gewinnen, MQ5 für Erdgas und Flüssiggas, Mit dem MQ6 erhalten wir Flüssiggas und Butangas, mit dem MQ7 Kohlenmonoxid, mit MQ8 Hydrogen, MQ9 für Kohlenmonoxid und brennbare Gase, MA131 für Ozon, MQ135 für Benzol, Alkohol und Rauch, MQ136 Schwefelwasserstoff, MQ137 für Ammoniak, MQ138 würde uns die Werte von Benzol geben, Toluol, Aceton, Propan, Alkohol und Formaldehydgas… und so weiter, bis wir uns entscheiden, welchen billigen Sensor wir erwerben, um die Gase zu erkennen, an denen wir interessiert sind. Was ich gesagt habe, in diesem Beitrag basieren wir auf einem MQ-2.

 

 

Abgesehen vom Sensor, wir benötigen auch einen Analog-Digital-Wandler, Ich verwende einen MCP3008 und auch einen Logikpegelwandler 3.3 bei 5V. Wir sehen im Bild, wie man den GPIO des Raspberry mit dem Sensor verbindet. Übrigens kann der Sensor bei Bedarf mit einem Schraubendreher reguliert werden, Aber wow, Erweist sich in der Regel als nützlich, ist zu testen…

 

 

Und auf der Softwareseite, Nehmen wir an, wir haben einen Raspbian, der läuft, Wir haben ein wunderbares tutRPi-Skript von GitHub heruntergeladen und versucht, es auszuführen, So einfach ist das:

[Quellcode]git clone https://github.com/tutRPi/Raspberry-Pi-Gas-Sensor-MQ

cd himbeer-pi-gas-sensor-mq

Python-example.py[/Quellcode]

 

Und wenn wir es ein wenig modifizieren… jeder wie er braucht und mag… In meinem Fall kennen Sie bereits dieses Skript, das ich ausführen werde, wenn ich den Raspberry Pi mit cron starte, jeder 60 Die vom Sensor erhaltenen Werte werden in einer Tabelle in einer Datenbank abgelegt. Dann sehen wir uns an, wie wir es mit Grafana visualisieren… So würde das Skript aussehen:

[Quellcode]

Von mq importa *
SYS importieren, Zeit
mq = MQ();
während Wahr:
Perc = MQ. MQPercentage()
Drucken Perc["GAS_LPG"]
Drucken Perc["CO"]
Drucken Perc["RAUCH"]

MySQLdb importieren
db = MySQLdb.connect("DIRECCION_IP_SERVIDOR_MYSQL","BENUTZER","PASSWORT","BASE_DE_DATOS")
cursor = db.cursor()
cursor.execute("""EINSATZ IN Gase (FLÜSSIGGAS, KO, Rauch) WERTE (%s, %s, %s) """,( Perc["GAS_LPG"], Perc["CO"], Perc["RAUCH"]))
db.commit()

Zeit.Schlaf(60)

[/Quellcode]

 

Das heißt, dieses Skript speichert in einer Tabelle namens Gase, die 4 Spalten, 3 davon sind Gase (FLÜSSIGGAS, CO und Rauch) und ein anderer ist das Datum, Ich überlasse Ihnen den Code, falls ihn jemand benötigt und eine identische Tabelle für das vorherige Skript habe:

[Quellcode]TABELLE 'Gase' ERSTELLEN (
'LPG' FLOAT NULL DEFAULT NULL,
'CO' FLOAT NULL STANDARD NULL,
'smoke' FLOAT NULL DEFAULT NULL,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP BEI UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
ENGINE=InnoDB
ROW_FORMAT=KOMPAKT
;[/Quellcode]

 

Und das schon in unserem Grafana, Wir können zum Beispiel ein Graph-Dashboard in einem Dashboard hinzufügen und Abfragen an die MySQL-Datenbank stellen, um die Metriken der Gase zu zeichnen, die wir analysieren. Es sieht sehr cool aus, Nein?? Ich verlasse Sie, falls Sie die Abfragen benötigen, die ich mache:

[Quellcode]SELECT smoke als Wert, "Rauch" als Metrik, UNIX_TIMESTAMP(Datum) als time_sec VON Gasen, BEI __timeFilter $(Datum) Sortieren nach time_sec ASC

SELECT LPG als Wert, "Flüssiggas" als Metrik, UNIX_TIMESTAMP(Datum) als time_sec VON Gasen, BEI __timeFilter $(Datum) Sortieren nach time_sec ASC

SELECT CO als Wert, "Kriegsdienstverweigerer" als Metrik, UNIX_TIMESTAMP(Datum) als time_sec VON Gasen, BEI __timeFilter $(Datum) Sortieren nach time_sec ASC[/Quellcode]

 

Fertig! Ich hoffe, Sie fanden es interessant, Sie haben bereits auf dem Blog andere Arten von Sensoren gesehen, um sie an einen Raspberry Pi anzuschließen und den Zustand unserer Umgebung zu kennen! zum Genießen!!!

 

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!

Überwachen eines QNAP NAS

29 vom Mai de 2018