Taula de continguts:
- Subministraments
- Pas 1: Preparació del maquinari
- Pas 2: Instal·lació de Cloud4RPi
- Pas 3: Connexió del sensor
- Pas 4: enviament de lectures del sensor al núvol
- Pas 5: gràfics i alarmes
Vídeo: Humitat al núvol: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Arriba l’estiu i els que no disposin d’aire condicionat haurien d’estar preparats per controlar manualment l’atmosfera a l’interior. En aquest post, descric la forma moderna de mesurar els paràmetres més importants per a la comoditat humana: temperatura i humitat. Aquestes dades recollides s’envien al núvol i s’hi processen.
Subministraments
Estic fent servir una placa Raspberry Pi i el sensor DHT22. Podeu fer el mateix en qualsevol equip que tingui Internet, GPIO i Python. El sensor DHT11 més barat també funciona bé.
Pas 1: Preparació del maquinari
Comencem des del primer moment, ja que fa temps que no vaig fer servir el meu Raspberry Pi.
Necessitarem:
- Taula Raspberry Pi (o una altra plataforma orientada a l'IoT).
- Targeta SD o microSD (segons la plataforma).
- 5V / 1A mitjançant cable micro-USB. LAN, que proporciona la connexió a Internet.
- Pantalla HDMI, pantalla RCA o port UART (per habilitar SSH).
El primer pas és descarregar Raspbian. He triat la versió Lite, ja que utilitzaré SSH en lloc de mostrar-lo.
Les coses han canviat des de la darrera vegada que ho vaig fer: ara hi ha un gran programari de gravació anomenat Etcher, que funciona perfectament i té un disseny impressionant.
Un cop finalitzada la gravació de la imatge, vaig introduir la targeta SD al meu Pi, vaig connectar la LAN i els cables d’alimentació i, al cap d’un temps, el router va registrar el nou dispositiu.
Genial! Continuem amb SSH.
La seguretat està bé, m’agrada, però això fa que les coses siguin una mica més difícils. Faré servir l’adaptador UART-USB per accedir a l’intèrpret d’ordres i activar SSH …
L’ús d’una pantalla en lloc d’UART ho fa molt més fàcil.
Després de reiniciar, finalment hi sóc.
Primer de tot, actualitzem:
sudo apt update && sudo apt upgrade -y
Ara connectem aquest nou dispositiu al núvol.
Pas 2: Instal·lació de Cloud4RPi
Vaig decidir provar la plataforma de núvol anomenada Cloud4RPi, que està dissenyada per a IoT.
Segons els documents, necessitem els paquets següents per executar-lo:
sudo apt install git python3 python3-pip -y
La biblioteca client es pot instal·lar en una sola ordre:
sudo pip3 instal·la cloud4rpi
Ara necessitem algun codi de mostra.
git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
L'escript executable és control.py.
Necessitem un testimoni que permeti a Cloud4RPi enllaçar els dispositius amb els comptes. Per obtenir-ne un, creeu un compte a cloud4rpi.io i premeu el botó Nou dispositiu en aquesta pàgina. Substituïu la cadena _YOUR_DEVICE_TOKEN_ del fitxer control.py pel testimoni del dispositiu i deseu-lo. Ara estem preparats per al primer llançament.
sudo python3 control.py
Obriu la pàgina del dispositiu i comproveu que hi hagi dades.
Ara passem a les dades del món real.
Pas 3: Connexió del sensor
Necessitarem:
- Sensor d’humitat DHT22 o DHT11
- Resistència de tracció (5-10 KΩ)
- WiresThe
El sensor DHT22 mesura la temperatura i la humitat simultàniament. El protocol de comunicació no està estandarditzat, de manera que no necessitem habilitar-lo a raspi-config: un simple pin GPIO és més que suficient.
Per adquirir les dades, faré servir la gran biblioteca d’Adafruit per a sensors DHT, però potser no funcioni tal com és. Una vegada vaig trobar un estrany retard constant en el codi, que no funcionava per al meu maquinari i, al cap de dos anys, la meva sol·licitud d'extracció encara està pendent. També he canviat les constants de detecció de la placa perquè el meu Raspberry Pi 1 amb BCM2835 es va detectar sorprenentment com a Raspberry Pi 3. M'agradaria que fos cert … Per tant, recomano utilitzar la meva forquilla. Si teniu algun problema, proveu el repositori original, potser funciona per a algú, però jo no en sóc cap.
git clon https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
Com que la biblioteca està escrita en C, requereix una compilació, de manera que necessiteu els paquets build-essential i python-dev.
sudo apt install build-essential python-dev -ysudo python setup.py install
Mentre s’instal·len els paquets, connecteu el DHT22 tal com es mostra a la imatge.
I proveu-ho:
cd ~ python -c "importa Adafruit_DHT com a d; imprimeix d.read_retry (d. DHT22, 4)"
Si veieu alguna cosa com (39.20000076293945, 22.600000381469727), heu de saber que aquesta és la humitat en percentatges i la temperatura en centígrads.
Ara, muntem-ho tot junts!
Pas 4: enviament de lectures del sensor al núvol
Faré servir el control.py com a base i hi afegiré la interacció DHT22.
cp cloud4rpi-raspberrypi-python / control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python / rpi.py./rpi.pyvi cloud_dht22.py
Elimineu el codi de mostra com a la imatge superior.
Com que DHT22 retorna la temperatura i la humitat en una sola trucada, les emmagatzemaré globalment i les actualitzaré només una vegada en una sol·licitud, suposant que el retard entre elles sigui superior a 10 segons. Penseu en el codi següent, que adquireix les dades DHT22:
importa Adafruit_DHT
temp, hum = None, None
last_update = time.time () - 20
def update_data ():
global last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time ()
def get_t ():
update_data () return round (temp, 2) if temp is not None else None def get_h (): update_data () return round (hum, 2) if hum is not None else None
Inseriu aquest codi després de les importacions existents i editeu la secció de variables perquè utilitzi les noves funcions:
variables = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type': 'numeric', 'bind': cpu_temp}}
Si trobeu que les manipulacions són confuses, agafeu la versió final d’aquest fitxer. Premeu el botó vermell per iniciar la transferència de dades:
A continuació, podeu consultar la pàgina del dispositiu.
python3 cloud_dht22.py
A continuació, podeu consultar la pàgina del dispositiu.
Podeu deixar-ho tal qual, però prefereixo tenir un servei per a tot. Això garanteix que l'script sempre s'està executant. Creació d'un servei amb l'script totalment automatitzat que ja teniu al directori cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
Inici del servei:
sudo service cloud4rpi start
I comprovant-ho:
pi @ raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service - Dimoni Cloud4RPi Carregat: carregat (/lib/systemd/system/cloud4rpi.service; activat) Actiu: actiu (en execució) des de dimecres 2017-05-17 20: 22: 48 UTC; Fa 1 minut PID principal: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560 / usr / bin / python /home/pi/cloud_dht22.py
17 de maig 20:22:51 raspberrypi python [560]: Publicació de iot-hub / missatges: {'type': 'config', 'ts': '2017-05-17T20 … y'}]}
17 de maig 20:22:53 raspberrypi python [560]: Publicació de iot-hub / messages: {'type': 'data', 'ts': '2017-05-17T20: 2 … 40'}} 17 de maig 20: 22:53 raspberrypi python [560]: Publicació de iot-hub / missatges: {'type': 'system', 'ts': '2017-05-17T20 ….4'}}
Si tot funciona com s’esperava, podem continuar i utilitzar les capacitats de la plataforma Cloud4RPi per manipular les dades.
Pas 5: gràfics i alarmes
En primer lloc, representem les variables per veure com canvien. Això es pot fer afegint un nou tauler de control i posant-hi els gràfics necessaris.
Una altra cosa que podem fer aquí és establir una alerta. Aquesta característica us permet configurar l'abast segur d'una variable. Tan bon punt l’abast es superi, envia una notificació per correu electrònic. A la pàgina d'edició del tauler de control, podeu canviar a Alertes i configurar-ne una.
Just després, la humitat de la meva habitació va començar a disminuir ràpidament sense cap motiu notable, i l’alarma va succeir aviat.
Podeu utilitzar Cloud4RPi de forma gratuïta amb qualsevol maquinari capaç d’executar Python. Pel que fa a mi, ara sempre sé quan heu d’encendre l’humidificador d’aire i fins i tot el puc connectar a un relé de control remot mitjançant Cloud4RPi. Estic preparat per la calor! Benvingut estiu!
Amb Cloud4RPi, podeu controlar el vostre Raspberry Pi i altres dispositius IoT de forma remota en temps real. Visiteu el nostre lloc i connecteu dispositius il·limitats de forma gratuïta.
Recomanat:
Monitorització de la temperatura i la humitat de l’habitació amb el núvol ESP32 i AskSensors: 6 passos
Monitorització de la temperatura i la humitat de l’habitació amb el núvol ESP32 i AskSensors: en aquest tutorial aprendreu com controlar la temperatura i la humitat de la vostra habitació o escriptori mitjançant el DHT11 i l’ESP32 connectats al núvol. Les actualitzacions dels nostres tutorials es poden trobar aquí. Especificacions: El sensor DHT11 és capaç de mesurar la temperatura
Monitorització de temperatura i humitat mitjançant ESP-01 i DHT i el núvol AskSensors: 8 passos
Monitorització de temperatura i humitat mitjançant ESP-01 i DHT i el núvol AskSensors: en aquest instructiu aprendrem a controlar la temperatura i les mesures d’humitat mitjançant la placa IOT-MCU / ESP-01-DHT11 i la plataforma IoT AskSensors .Tric el mòdul IOT-MCU ESP-01-DHT11 per a aquesta aplicació perquè
Registre de temperatura i humitat de Raspberry PI, estació meteorològica al núvol, estadístiques Wifi i mòbils: 6 passos
Registre de temperatura i humitat de Raspberry PI, estació meteorològica al núvol, Wifi i estadístiques mòbils: amb el dispositiu Raspberry PI podeu registrar les dades de temperatura i humitat a l’exterior, a l’habitació, a l’hivernacle, al laboratori, a la sala de refrigeració o a qualsevol altre lloc, de forma totalment gratuïta. Aquest exemple l’utilitzarem per registrar temperatura i humitat. El dispositiu es connectarà a Internet v
Com connectar el sensor d’humitat del sòl i l’ESP8266 al núvol IoT AskSensors: 10 passos
Com connectar el sensor d’humitat del sòl i l’ESP8266 al núvol IoT AskSensors: aquest instructiu us mostra com connectar el sensor d’humitat del sòl i l’ESP8266 al núvol IoT. Per a aquest projecte utilitzarem un mòdul WiFi MC8 ESP8266 de node i un sensor d’humitat del sòl. que mesura el contingut volumètric de l'aigua a l'interior del
YABC - Un altre controlador Blynk - Controlador de temperatura i humitat al núvol IoT, ESP8266: 4 passos
YABC - Encara un altre controlador Blynk: controlador de temperatura i humitat del núvol IoT, ESP8266: Hola, fabricants, recentment he començat a cultivar bolets a casa, bolets ostres, però ja tinc 3 vegades aquests controladors a casa per al control de temperatura de fermentació per a la meva cervesa, esposa ara també fa això de Kombucha i com a termòstat de calor