Inhoudsopgave:

RPIEasy - RPI-gebaseerd multisensor-apparaat - Ajarnpa
RPIEasy - RPI-gebaseerd multisensor-apparaat - Ajarnpa

Video: RPIEasy - RPI-gebaseerd multisensor-apparaat - Ajarnpa

Video: RPIEasy - RPI-gebaseerd multisensor-apparaat - Ajarnpa
Video: RPIEasy P212 Dash plugin quick setup 2024, November
Anonim
RPIEasy - op RPI gebaseerd multisensor-apparaat
RPIEasy - op RPI gebaseerd multisensor-apparaat

Als iemand van plan is wat doe-het-zelf-sensoren te maken, dan is naast de populaire ESP8266 ook het goedkope en energiezuinige "Raspberry Pi Zero W" -model een aanzienlijke optie.

De RPI Zero W kost ongeveer 10 USD en het stroomverbruik is bijna 1 W. Het heeft echter maar één CPU-kern, maar het is meer dan genoeg voor het verwerken van verschillende sensoren op zijn 40-pins GPIO, wat hetzelfde is als op de RPI2/3/4. Ook heeft hij geïntegreerde WiFi en Bluetooth 4.0 modules, zodat er bijvoorbeeld een BLE gateway mee gebouwd kan worden.

Als je sommige sensoren op de GPIO kunt aansluiten, maar niet veel programmeervaardigheden hebt of als je niet voor elk nieuw apparaat nieuwe code wilt schrijven, is er een eenvoudige oplossing, genaamd RPIEasy.

RPIEasy is een op Python3 gebaseerd programma voor op Debian/Raspbian gebaseerde computers, voornamelijk bedoeld voor Raspberry Pi, maar sommige functies zijn ook beschikbaar op een eenvoudige pc. RPIEasy verzamelt gegevens van de apparaten die erop zijn aangesloten en stuurt deze door naar een lokale domoticaserver, via HTTP/UDP/MQTT - de methode kan worden geselecteerd in het menu Controllers. RPIEasy is compatibel met de beroemde ESPEasy (voor ESP8286) firmware, en de GUI lijkt er ook erg op, in feite kan RPIEasy deelnemen aan een ESPEasy P2P UDP-peernetwerk.

Momenteel kunnen de volgende apparaat-/sensortypes via een gebruiksvriendelijke webGUI aan RPIEasy worden toegevoegd:

  • Digitale schakelingang (PIR, Deur open sensor, etc…)
  • DS18b20 temperatuur
  • DHT22 temperatuur en vochtigheid
  • PCF8591 ADC/DAC
  • Wiegand RFID-lezer
  • MCP23017 GPIO-extender
  • BH1750 lichtsensor
  • LCD-scherm (I2C)
  • HC-SR04 ultrasone bereiksensor
  • Si7021/HTU21D temperatuur en vochtigheid
  • TLS2561 lichtsensor
  • PN532 Mifare/NFC-lezer (I2C)
  • PCF8574 GPIO-extender (I2C)
  • PCA9685 PWM-extender (I2C)
  • OLED-display (I2C)
  • MLX90614 IR temperatuursensor (I2C)
  • INA219 DC-stroomsensor (I2C)
  • ADS1015/ADS1115 ADC
  • BMP280/BME280 temperatuur
  • NeoPixel/WS2812 adresseerbare LED
  • MH-Z19 CO2-sensor
  • AM2320 temperatuur
  • MPR121 capacitieve aanraaksensor (I2C)
  • 7segment TM1637-display
  • RF433Mhz RX/TX (eenvoudige GPIO)
  • APDS9960 bewegingssensor
  • VL53L0X LIDAR-bereiksensor
  • MAX44009 temperatuur
  • MCP9808 temperatuur
  • MCP4725 DAC
  • Stappenmotor (28BYJ-48)
  • (V-)USB-relais
  • USB Temper-temperatuursensor
  • Xiaomi BLE Mijia temperatuur- en vochtigheidssensor
  • Xiaomi BLE Mi Flora bloemenverzorgingsmonitor
  • DS18b20 via seriële USB

Stap 1: Montage

samenkomst
samenkomst
samenkomst
samenkomst

Laten we beginnen met een eenvoudige setup, met behulp van een temperatuur- en een lichtsensor:

  • Raspberry Pi Zero W
  • 8GB/16GB Class10 microSD-geheugenkaart
  • Micro-USB 5V2A-wandoplader
  • DHT22 temperatuur- en vochtigheidssensor
  • 4,7 kOhm weerstand
  • BH1750 lichtintensiteitssensor
  • sommige startkabels
  • plastic doos

Monteer het volgens de fritzing.

Stap 2: OS-installatie

OS-installatie
OS-installatie
  1. Download een afbeelding van een Raspbian Lite-besturingssysteem
  2. Etcher downloaden
  3. Schrijf de Lite OS-afbeelding met Etcher naar een SD-kaart van 8-16 GB

Nadat het proces is voltooid, wijzigt u het bestand op de SD-kaart "etc/wpa_supplicant/wpa_supplicant.conf" op dezelfde manier:

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. Plaats de SD-kaart in het RPI-geheugenslot, steek de MicroUSB-voedingskabel in de "PWR IN"-connector en als we alles goed hebben geregeld, start de RPI op en is toegankelijk via SSH. (IP-adres wordt verzameld van een DHCP-server, dus controleer de DHCP-lease van uw router voor het gebruikte IP-adres)

5. Bij de eerste keer opstarten is de gebruikersnaam pi en het wachtwoord is framboos.

Stap 3: RPIEasy-installatie

RPIEasy-installatie
RPIEasy-installatie
RPIEenvoudige installatie
RPIEenvoudige installatie

De eerste (optionele) stap is om uw systeem bij te werken:

sudo apt-get update sudo apt-get upgrade

Installeer daarna de vereiste pakketten:

sudo apt install python3-pip scherm alsa-utils wireless-tools wpasupplicant zip unzip gitsudo pip3 install jsonpickle

Als uw systeem de opdracht "ifconfig" mist, installeer het dan ook:

sudo apt install net-tools

Download dan RPIEasy van github naar de eigenlijke directory en start:

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

Als nog niets poort 80 gebruikt, dan is de GUI nu beschikbaar via poort 80 met een webbrowser, als het niet beschikbaar is, zal het programma proberen om 8080 en vervolgens 8008 te gebruiken. (het schrijft het poortnummer op de console bij het opstarten)

Stap 4: RPIEasy hardware-instellingen

RPIEasy hardware-instellingen
RPIEasy hardware-instellingen
RPIEasy hardware-instellingen
RPIEasy hardware-instellingen
RPIEasy-hardware-instellingen
RPIEasy-hardware-instellingen

Op de hardware-instellingenpagina kunt u de optie "RPIEasy autostart at boot" inschakelen met een eenvoudig selectievakje en vervolgens op de knop Verzenden drukken.

Deze applicatie is gebaseerd op python, dus er zijn verschillende mogelijke afhankelijkheden die kunnen worden bekeken en geïnstalleerd op de pagina Plugin & controller-afhankelijkheden. De installatie kan worden gestart door op een onderstreepte tekst te klikken, even geduld, het proces kan enkele minuten duren, afhankelijk van het pakketnummer en de complexiteit!

Dan is het misschien een goed idee om de hardware-instellingen te controleren bij Pinout&Ports. Zorg ervoor dat I2C is ingeschakeld (voor de lichtsensor) en dat het GPIO 22-pins type "Input" is voor DHT. U kunt hier andere systeemgerelateerde wijzigingen aanbrengen, maar vergeet niet op Verzenden en opnieuw opstarten te drukken. (Reboot-opdracht is beschikbaar in het menu Extra)

Stap 5: RPIEasy-controllers

RPIEasy-controllers
RPIEasy-controllers

Terwijl je een sensor maakt, wil je misschien een soort controller instellen in het menu Controllers: dit kan Domoticz HTTP/MQTT, Generic UDP, ESPEasy P2P of Generic MQTT zijn (voor HA, OpenHab, enz..)

Stap 6: RPIEasy-apparaten

RPIEasy-apparaten
RPIEasy-apparaten
RPIEasy-apparaten
RPIEasy-apparaten

En tot slot: apparaten kunnen worden toegevoegd in het menu Apparaten, er zijn 48 slotmogelijkheden voor apparaten, als dit niet genoeg is, open dan een github-probleem en het zal worden gemeld.:)

Klik op een knop Bewerken, selecteer de benodigde DHT22- en BH1750-plug-ins en stel parameters in volgens de fritzing. De DHT22 1e GPIO is GPIO22 en oversampling is over het algemeen een goed idee, omdat dit soort sensor erg gevoelig is voor nauwkeurige timing. (onthoud dat DHT met één draad communiceert, maar het is niet 1-draads compatibel!) De BH1750 is een I2C-sensor, het I2C-adres kan worden geselecteerd uit een selectie, de standaard is 0x23, oversampling is niet nodig omdat de I2C-communicatie is vrij solide.

Er kan worden geselecteerd op welke controller, welke IDX en met welke intervallen de sensoruitlezing moet worden verzonden. Het veld Formule is compatibel met EasyFormula en lokale regels die compatibel zijn met ESPEasy kunnen worden opgegeven in het menu Regels.

Dit is het korte verhaal van het maken van een op RPI gebaseerde multisensor, er zijn veel opties en combinaties, probeer ze gerust in de geest van de DIY!

Aanbevolen: