Sommario:

RPIEasy - Dispositivo multisensore basato su RPI: 6 passaggi
RPIEasy - Dispositivo multisensore basato su RPI: 6 passaggi

Video: RPIEasy - Dispositivo multisensore basato su RPI: 6 passaggi

Video: RPIEasy - Dispositivo multisensore basato su RPI: 6 passaggi
Video: DIY Multisensor with ESP8266 and Wifi + MQTT + Alarm system 2024, Dicembre
Anonim
RPIEasy - Dispositivo multisensore basato su RPI
RPIEasy - Dispositivo multisensore basato su RPI

Se qualcuno ha intenzione di creare alcuni sensori fai-da-te, oltre al popolare ESP8266, anche il modello "Raspberry Pi Zero W" economico e a basso consumo è un'opzione considerevole.

L'RPI Zero W costa circa 10 USD e il suo consumo energetico è di quasi 1 W. Tuttavia ha solo un core della CPU ma è più che sufficiente per gestire diversi sensori sul suo GPIO a 40 pin, che è lo stesso dell'RPI2/3/4. Ha anche moduli WiFi e Bluetooth 4.0 integrati, quindi ad esempio è possibile costruire un gateway BLE con esso.

Se sei in grado di collegare alcuni sensori al GPIO ma non hai molte capacità di programmazione o non vuoi scrivere nuovo codice per ogni nuovo dispositivo, c'è una soluzione semplice, chiamata RPIEasy.

RPIEasy è un programma basato su Python3 per computer basati su Debian/Raspbian, principalmente mirato per Raspberry Pi, ma alcune funzioni sono disponibili anche su un semplice PC. RPIEasy raccoglie i dati dai dispositivi ad esso collegati e li inoltra a un server domotico locale, tramite HTTP/UDP/MQTT - il metodo è selezionabile nel menu Controller. RPIEasy è compatibile con il famoso firmware ESPEasy (per ESP8286), e anche la GUI è molto simile ad esso, infatti RPIEasy è in grado di entrare in una rete peer ESPEasy P2P UDP.

Attualmente è possibile aggiungere a RPIEasy i seguenti tipi di dispositivi/sensori tramite una webGUI intuitiva:

  • Ingresso interruttore digitale (PIR, sensore porta aperta, ecc…)
  • DS18b20 temperatura
  • DHT22 temperatura e umidità
  • PCF8591 ADC/DAC
  • Lettore RFID Wiegand
  • MCP23017 Estensore GPIO
  • Sensore di luce BH1750
  • Display LCD (I2C)
  • Sensore di portata a ultrasuoni HC-SR04
  • Si7021/HTU21D temperatura e umidità
  • Sensore di luce TLS2561
  • PN532 Lettore Mifare/NFC (I2C)
  • PCF8574 Estensore GPIO (I2C)
  • PCA9685 Estensore PWM (I2C)
  • Display OLED (I2C)
  • MLX90614 Sensore di temperatura IR (I2C)
  • INA219 Sensore di corrente continua (I2C)
  • ADS1015/ADS1115 ADC
  • BMP280/BME280 temperatura
  • LED indirizzabile NeoPixel/WS2812
  • Sensore di CO2 MH-Z19
  • AM2320 temperatura
  • Sensore tattile capacitivo MPR121 (I2C)
  • Display TM1637 a 7 segmenti
  • RF433Mhz RX/TX (GPIO semplice)
  • Sensore di gesti APDS9960
  • VL53L0X Sensore di portata LIDAR
  • MAX44009 temperatura
  • MCP9808 temperatura
  • MCP4725 DAC
  • Motore passo-passo (28BYJ-48)
  • (V-)Relè USB
  • Sensore di temperatura USB Temper
  • Sensore di temperatura e umidità Xiaomi BLE Mijia
  • Xiaomi BLE Mi Flora monitor per la cura dei fiori
  • DS18b20 tramite seriale-USB

Passaggio 1: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea

Iniziamo con una semplice configurazione, utilizzando un sensore di temperatura e un sensore di luce:

  • Raspberry Pi Zero W
  • Scheda di memoria microSD Class10 da 8 GB/16 GB
  • Caricatore da muro Micro USB 5V2A
  • Sensore di temperatura e umidità DHT22
  • Resistenza da 4,7 kOhm
  • Sensore di intensità luminosa BH1750
  • alcuni cavi jumper
  • scatola di plastica

Assemblare secondo il fritzing.

Passaggio 2: installazione del sistema operativo

Installazione del sistema operativo
Installazione del sistema operativo
  1. Scarica un'immagine del sistema operativo Raspbian Lite
  2. Scarica incisore
  3. Scrivi l'immagine del sistema operativo Lite con Etcher su una scheda SD da 8-16 GB

Al termine del processo, modificare il file sulla scheda SD "etc/wpa_supplicant/wpa_supplicant.conf" in modo simile:

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. Inserisci la scheda SD nello slot di memoria RPI, collega il cavo di alimentazione MicroUSB al suo connettore "PWR IN" e se facciamo tutto nel modo giusto, l'RPI si avvia ed è accessibile tramite SSH. (L'indirizzo IP viene raccolto da un server DHCP, quindi controlla i lease DHCP del tuo router per l'indirizzo IP utilizzato)

5. Al primo avvio il nome utente è pi e la password è raspberry.

Passaggio 3: installazione semplice di RPI

RPIFacile installazione
RPIFacile installazione
RPIFacile installazione
RPIFacile installazione

Il primo passaggio (facoltativo) è aggiornare il sistema:

sudo apt-get update sudo apt-get upgrade

Dopodiché installa i pacchetti richiesti:

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

Se il tuo sistema non dispone del comando "ifconfig", installalo anche:

sudo apt install net-tools

Quindi scarica RPIEasy da github nella directory effettiva e avvia:

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

Se nulla sta ancora utilizzando la porta 80, la GUI è ora disponibile tramite la porta 80 con un browser Web, se non è disponibile il programma proverà a utilizzare 8080 e poi 8008. (scrive il numero di porta sulla console all'avvio)

Passaggio 4: impostazioni hardware RPIEasy

Impostazioni hardware RPIEasy
Impostazioni hardware RPIEasy
Impostazioni hardware RPIEasy
Impostazioni hardware RPIEasy
Impostazioni hardware RPIEasy
Impostazioni hardware RPIEasy

Nella pagina delle impostazioni hardware è possibile abilitare l'opzione "RPIEasy autostart at boot" con una semplice casella di controllo, quindi premendo il pulsante Invia.

Questa applicazione è basata su Python, quindi ci sono diverse possibili dipendenze che possono essere visualizzate e installate nella pagina delle dipendenze del plugin e del controller. L'installazione può essere avviata facendo clic su un testo sottolineato, si prega di pazientare, il processo potrebbe richiedere diversi minuti a seconda del numero del pacchetto e della complessità!

Quindi potrebbe essere una buona idea controllare le impostazioni hardware su Pinout&Ports. Assicurati che I2C sia abilitato (per il sensore di luce) e che il tipo di pin GPIO 22 sia "Input" per DHT. Puoi apportare altre modifiche relative al sistema qui, ma non dimenticare di premere Invia e riavvia alla fine. (Il comando Riavvia è disponibile nel menu Strumenti)

Passaggio 5: controller RPIEasy

Controller RPIEasy
Controller RPIEasy

Mentre stai realizzando un sensore potresti voler impostare una sorta di Controller nel menu Controller: può essere Domoticz HTTP/MQTT, Generic UDP, ESPEasy P2P o Generic MQTT (per HA, OpenHab, ecc.)

Passaggio 6: dispositivi RPIEasy

Dispositivi RPIEasy
Dispositivi RPIEasy
Dispositivi RPIEasy
Dispositivi RPIEasy

E infine: i dispositivi possono essere aggiunti nel menu Dispositivi, ci sono 48 possibilità di slot per dispositivi, se non è sufficiente, apri un problema github e verrà sollevato.:)

Fare clic su un pulsante Modifica, selezionare i plug-in DHT22 e BH1750 necessari e impostare i parametri in base al fritzing. Il DHT22 1st GPIO è GPIO22 e il sovracampionamento è generalmente una buona idea poiché questo tipo di sensore è molto sensibile alla sincronizzazione accurata. (ricorda che DHT comunica con un filo, ma non è compatibile con 1-Wire!) Il BH1750 è un sensore I2C, l'indirizzo I2C può essere selezionato da una selezione, il valore predefinito è 0x23, il sovracampionamento non è necessario poiché la comunicazione I2C è abbastanza solido.

Si può selezionare su quale controller, quale IDX ea quali intervalli deve essere inviata la lettura del sensore. Il campo Formula è compatibile con EasyFormula e le regole compatibili con ESPEasy locali possono essere specificate nel menu Regole.

Questa è la breve storia della realizzazione di un multisensore basato su RPI, ci sono molte opzioni e combinazioni, sentiti libero di provarle nello spirito del fai-da-te!

Consigliato: