15/11/2016, 19:35
(Questo messaggio è stato modificato l'ultima volta il: 30/07/2018, 15:29 da Enrico Sartori.)
La maggior parte delle guide di solito sono per i sensori DHT, ma se come me avete comprato i sensori AM2320 di temperatura e umidita (io li ho comprati su AliExpress)
il sensore AM2320 ha una connessione i2C e una portata di 20m
collegare i pin come da figura, io l'ho collegato alla 3,3v senza resistenze.
L'idea è semplice, raccogliere i dati dal sensore AM2320 tramite i2c ed inviarli al nostro server MQTT.
MQTT
Per l'installazione del server MQTT esegui questo codice sul server che farà da broker (ricevitore)
Codice:
apt update; apt install -y mosquitto
Libreria Python
Da console
Codice:
pip3 install micropython-am2320
Rilevamento
script Python
Codice:
import am2320
from machine import I2C, Pin
i2c = I2C(scl=Pin(5), sda=Pin(4))
sensor = am2320.AM2320(i2c)
sensor.measure()
print(sensor.temperature())
print(sensor.humidity())
Invio tramite MQTT
Da console
Codice:
pip3 install paho-mqtt
Codice:
import paho.mqtt.publish as publish
msgs = [{'topic':"temperatura", 'payload':"sensor.temperature()"}, ("umidita", "sensor.humidity()", 0, False)]
publish.multiple(msgs, hostname="localhost")
Gestione da Node-RED
Gestione su android l'app IoT MQTT Panel
Per attivare la modalita i2c è necessario verificare che usando
Codice:
sudo raspi-config
Codice:
interfacing option -> i2c
Libro | Blog EnricoSartori.it | YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione!
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione!