Inhaltsverzeichnis:

RPIEasy - RPI-basiertes Multisensor-Gerät - Gunook
RPIEasy - RPI-basiertes Multisensor-Gerät - Gunook

Video: RPIEasy - RPI-basiertes Multisensor-Gerät - Gunook

Video: RPIEasy - RPI-basiertes Multisensor-Gerät - Gunook
Video: Convert Your Raspberry Pi into a Mini PC 2024, November
Anonim
RPIEasy - RPI-basiertes Multisensor-Gerät
RPIEasy - RPI-basiertes Multisensor-Gerät

Wenn jemand plant, DIY-Sensoren zu bauen, dann ist neben dem beliebten ESP8266 auch das günstige und verbrauchsarme "Raspberry Pi Zero W"-Modell eine beachtliche Option.

Der RPI Zero W kostet ungefähr 10 USD und sein Stromverbrauch beträgt fast 1 W. Es hat jedoch nur einen CPU-Kern, aber es ist mehr als genug, um mehrere Sensoren auf seinem 40-Pin-GPIO zu handhaben, der dem RPI2/3/4 entspricht. Es hat auch integrierte WiFi- und Bluetooth 4.0-Module, so dass beispielsweise ein BLE-Gateway damit gebaut werden kann.

Wenn Sie einige Sensoren an den GPIO anschließen können, aber nicht viel Programmierkenntnisse haben oder nicht für jedes neue Gerät neuen Code schreiben möchten, gibt es eine einfache Lösung namens RPIEasy.

RPIEasy ist ein Python3-basiertes Programm für Debian/Raspbian-basierte Computer, das hauptsächlich für Raspberry Pi bestimmt ist, aber einige Funktionen auch auf einem einfachen PC verfügbar sind. RPIEasy sammelt Daten von den daran angeschlossenen Geräten und leitet sie über HTTP/UDP/MQTT an einen lokalen Hausautomationsserver weiter – die Methode ist im Controller-Menü wählbar. RPIEasy ist mit der berühmten ESPEasy (für ESP8286) Firmware kompatibel, und die GUI ist ihr auch sehr ähnlich, tatsächlich kann RPIEasy in ein ESPEasy P2P UDP Peer-Netzwerk aufgenommen werden.

Derzeit können die folgenden Geräte-/Sensortypen über eine benutzerfreundliche WebGUI zu RPIEasy hinzugefügt werden:

  • Digitaler Schalteingang (PIR, Türöffnungssensor, etc…)
  • DS18b20 Temperatur
  • DHT22 Temperatur und Luftfeuchtigkeit
  • PCF8591 ADC/DAC
  • Wiegand RFID-Lesegerät
  • MCP23017 GPIO-Extender
  • BH1750 Lichtsensor
  • LCD-Anzeige (I2C)
  • Ultraschall-Bereichssensor HC-SR04
  • Si7021/HTU21D Temperatur und Luftfeuchtigkeit
  • TLS2561 Lichtsensor
  • PN532 Mifare/NFC-Lesegerät (I2C)
  • PCF8574 GPIO-Extender (I2C)
  • PCA9685 PWM-Extender (I2C)
  • OLED-Display (I2C)
  • MLX90614 IR-Temperatursensor (I2C)
  • INA219 Gleichstromsensor (I2C)
  • ADS1015/ADS1115 ADC
  • BMP280/BME280 Temperatur
  • NeoPixel/WS2812 adressierbare LED
  • MH-Z19 CO2-Sensor
  • AM2320 Temperatur
  • Kapazitiver Berührungssensor MPR121 (I2C)
  • 7-Segment TM1637-Anzeige
  • RF433Mhz RX/TX (einfacher GPIO)
  • APDS9960 Gestensensor
  • VL53L0X LIDAR-Bereichssensor
  • MAX44009 Temperatur
  • MCP9808 Temperatur
  • MCP4725 DAC
  • Schrittmotor (28BYJ-48)
  • (V-)USB-Relais
  • USB Temper-Temperatursensor
  • Xiaomi BLE Mijia Temperatur- und Feuchtigkeitssensor
  • Xiaomi BLE Mi Flora Blumenpflegemonitor
  • DS18b20 über seriell-USB

Schritt 1: Montage

Montage
Montage
Montage
Montage

Beginnen wir mit einer einfachen Einrichtung mit einem Temperatur- und einem Lichtsensor:

  • Raspberry Pi Zero W
  • 8GB/16GB Class10 microSD-Speicherkarte
  • Micro USB 5V2A Wandladegerät
  • DHT22 Temperatur- und Feuchtigkeitssensor
  • 4,7 kOhm Widerstand
  • BH1750 Lichtstärkesensor
  • einige Überbrückungskabel
  • Kunststoff-Box

Montieren Sie es nach dem Fritzing.

Schritt 2: Betriebssysteminstallation

Betriebssysteminstallation
Betriebssysteminstallation
  1. Laden Sie ein Raspbian Lite-Betriebssystem-Image herunter
  2. Etcher herunterladen
  3. Schreiben Sie das Lite OS-Image mit Etcher auf eine 8-16 GB SD-Karte

Nachdem der Vorgang abgeschlossen ist, ändern Sie die Datei auf der SD-Karte "etc/wpa_supplicant/wpa_supplicant.conf" in ähnlicher Weise:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=HUNetwork={ ssid="YOUR_OWN_WIFI_AP_NAME" scan_ssid=1 psk="YOUR_WIFI_AP_PASSWORD" key_mgmt=WPA-PSK }

4. Stecken Sie die SD-Karte in den RPI-Speichersteckplatz, stecken Sie das MicroUSB-Stromversorgungskabel in den "PWR IN"-Anschluss und wenn wir alles richtig gemacht haben, startet das RPI und ist über SSH zugänglich. (Die IP-Adresse wird von einem DHCP-Server bezogen, überprüfen Sie also die DHCP-Leases Ihres Routers auf die verwendete IP-Adresse)

5. Beim ersten Start lautet der Benutzername pi und das Passwort raspberry.

Schritt 3: RPIEasy-Installation

RPIEeinfache Installation
RPIEeinfache Installation
RPIEeinfache Installation
RPIEeinfache Installation

Der erste (optionale) Schritt besteht darin, Ihr System zu aktualisieren:

sudo apt-get update sudo apt-get upgrade

Installieren Sie anschließend die erforderlichen Pakete:

sudo apt install python3-pip screen alsa-utils wireless-tools wpasupplicant zip entpacken gitsudo pip3 install jsonpickle

Wenn Ihrem System der Befehl "ifconfig" fehlt, installieren Sie ihn auch:

sudo apt install net-tools

Laden Sie dann RPIEasy von github in das eigentliche Verzeichnis herunter und starten Sie:

git-Klon https://github.com/enesbcs/rpieasy.gitcd rpieasysudo./RPIEasy.py

Wenn Port 80 noch nicht verwendet wird, ist die GUI jetzt über Port 80 mit einem Webbrowser verfügbar, wenn er nicht verfügbar ist, versucht das Programm, 8080 und dann 8008 zu verwenden. (es schreibt die Portnummer beim Start in die Konsole)

Schritt 4: RPIEasy-Hardwareeinstellungen

RPIEasy-Hardwareeinstellungen
RPIEasy-Hardwareeinstellungen
RPIEasy-Hardwareeinstellungen
RPIEasy-Hardwareeinstellungen
RPIEasy-Hardwareeinstellungen
RPIEasy-Hardwareeinstellungen

Auf der Hardware-Einstellungsseite können Sie die Option "RPIEasy Autostart beim Booten" mit einem einfachen Kontrollkästchen aktivieren und dann die Schaltfläche "Senden" drücken.

Diese Anwendung basiert auf Python, daher gibt es mehrere mögliche Abhängigkeiten, die auf der Seite Plugin- und Controller-Abhängigkeiten angezeigt und installiert werden können. Die Installation kann durch Anklicken eines unterstrichenen Textes gestartet werden, bitte haben Sie etwas Geduld, der Vorgang kann je nach Paketnummer und Komplexität einige Minuten dauern!

Dann kann es sinnvoll sein, die Hardwareeinstellungen bei Pinout&Ports zu überprüfen. Stellen Sie sicher, dass I2C aktiviert ist (für den Lichtsensor) und der GPIO 22-Pin-Typ "Input" für DHT ist. Sie können hier andere systembezogene Änderungen vornehmen, aber vergessen Sie nicht, am Ende Submit und Reboot zu drücken. (Reboot-Befehl ist im Tools-Menü verfügbar)

Schritt 5: RPIEasy-Controller

RPIEasy-Controller
RPIEasy-Controller

Wenn Sie einen Sensor erstellen, möchten Sie möglicherweise eine Art Controller im Controller-Menü einrichten: Dies kann Domoticz HTTP/MQTT, Generic UDP, ESPEasy P2P oder Generic MQTT (für HA, OpenHab usw.) sein.

Schritt 6: RPIEasy-Geräte

RPIEasy-Geräte
RPIEasy-Geräte
RPIEasy-Geräte
RPIEasy-Geräte

Und schließlich: Geräte können im Gerätemenü hinzugefügt werden, es gibt 48 Gerätesteckplätze, wenn es nicht ausreicht, öffnen Sie bitte ein Github-Problem und es wird ausgelöst.:)

Klicken Sie auf eine Schaltfläche Bearbeiten, wählen Sie die erforderlichen DHT22- und BH1750-Plugins aus und stellen Sie die Parameter entsprechend dem Fritzing ein. Der erste GPIO des DHT22 ist GPIO22 und Oversampling ist im Allgemeinen eine gute Idee, da diese Art von Sensor sehr empfindlich auf genaues Timing reagiert. (Denken Sie daran, dass DHT mit einem Draht kommuniziert, aber nicht 1-Wire-kompatibel ist!) Der BH1750 ist ein I2C-Sensor, die I2C-Adresse kann aus einer Auswahl ausgewählt werden, der Standardwert ist 0x23, Oversampling ist nicht erforderlich, da die I2C-Kommunikation ist recht solide.

Es kann ausgewählt werden, an welchen Controller, welcher IDX und in welchen Intervallen der Sensormesswert gesendet werden soll. Das Feld Formel ist mit EasyFormula kompatibel, und lokale ESPEasy-kompatible Regeln können im Menü Regeln angegeben werden.

Dies ist die kurze Geschichte der Herstellung eines RPI-basierten Multisensors. Es gibt viele Optionen und Kombinationen. Probieren Sie sie im Sinne des DIY aus!

Empfohlen: