Taula de continguts:
- Pas 1: Guia d'instal·lació
- Pas 2: aparador del control
- Pas 3: Llista de parts / programari utilitzat al projecte
- Pas 4: Llista I / 0
- Pas 5: Esquema de cablejat
- Pas 6: el codi Arduino
- Pas 7: Raspberry Pi 3 B +
- Pas 8: Python
- Pas 9: MySQL
- Pas 10: node vermell
Vídeo: Hivernacle UCL - IIOT: 11 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquest projecte és una extensió del nostre projecte anterior amb Greenhouse (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
En aquest projecte hem afegit una base de dades, on registrem totes les nostres dades i les visualitzem amb vermell de node per obtenir una visió general més gran.
El contingut que registrem a la nostra base de dades és Humitat, temperatura i humitat del sòl, que es mostra en diferents diagrames.
A més de dataloggin, també podem controlar quin perfil està actiu a l’Hivernacle i controlar-lo remotament.
Després també podem controlar manualment la bomba i el ventilador.
Pas 1: Guia d'instal·lació
El primer pas és instal·lar tots els components.
Dins dels claudàtors (), hem llistat on està connectat el component. Per exemple, Arduino està connectat a Raspberry Pi mitjançant un cable USB.
Maquinari utilitzat:
- Arduino (Raspberry Pi)
- Raspberry Pi 3 B +
- Higròmetre del sòl (Arduino)
- Sensor DHT11 (Arduino)
- Bomba d'aigua submergible HG-320 (relé)
- Relleu de 5V (Arduino)
- Un ventilador d'ordinador (relé)
- Alimentació de 230V (bomba)
Programari utilitzat:
- Raspbian (SO per a Raspberry Pi)
- IDE Arduino
- Python (Raspberry Pi) - PySerial- MySQLclient
- Node-Red (Raspberry Pi) - Pythonshell- Summariser- MySQL- Dashboard
- Servidor MySQL (freemysqlhosting.net)
Primer haureu de connectar els components de maquinari, així que seguiu aquesta guia per construir l’hivernacle: Guia d’instal·lació.
A continuació, haureu d’instal·lar Raspbian OS al vostre Raspberry Pi. Després, haureu d'instal·lar Python i, a continuació, instal·lar les biblioteques Python.
El següent pas és instal·lar Node-Red al Raspberry Pi i, a continuació, anar al gestor de paletes i instal·lar els mòduls indicats anteriorment.
A continuació, aneu a aquest lloc Servidor MySQL gratuït i creeu un servidor MySQL gratuït.
Quan hàgiu acabat tot això, ja podreu transferir l'script python al vostre Raspberry Pi, importar l'script Node-Red i penjar el codi de l'Arduino.
Pas 2: aparador del control
Pas 3: Llista de parts / programari utilitzat al projecte
Hem fet servir la següent tecnologia per fer l’Hivernacle
- Arduino
- Raspberry Pi
- Node-vermell
- Python
- PHPMyAdmin
Pas 4: Llista I / 0
Pas 5: Esquema de cablejat
Pas 6: el codi Arduino
El codi Arduino funciona imprimint les dades, mesurades pels sensors, a la connexió sèrie on el Raspberry Pi les llegeix i les transfereix a la base de dades.
L'Arduino també té alguns connectors d'entrada digitals connectats al Raspberry Pi que llegeix l'Arduino i si un dels tres es converteix en HIGH, el perfil canviarà a causa d'una sentència IF.
També hem actualitzat el codi per utilitzar Millis en lloc de delay que permet llegir els fons i la resta del codi en lloc d’un interval per l’anterior delay.
Pas 7: Raspberry Pi 3 B +
Hem utilitzat un Raspberry Pi 3 B + per connectar el nostre Arduino amb Internet i una base de dades MySQL. Això ens va permetre emmagatzemar dades dels nostres sensors i crear una interfície visual per a l'usuari final. Per a la interfície d'usuari hem utilitzat Node-Red amb la paleta Dashboard.
Però abans de poder mostrar les dades dels nostres sensors a Node-Red, necessitàvem una manera de penjar les dades en una base de dades MySQL i, per a això, vam fer un script Python que s’executaria al nostre Raspberry Pi.
Pas 8: Python
L'escriptura Python s'utilitza per rebre dades de la comunicació en sèrie que prové de l'Arduino. El script envia les dades a una base de dades MySQL.
Hem utilitzat dues biblioteques, pyserial i mysqlclient.
Per tant, el primer pas seria descarregar aquestes dues llibreries:
- PySerial
- MySQLclient
PySerial s’utilitza per recopilar dades de l’Arduino mitjançant comunicació en sèrie.
device = '/ dev / ttyUSB0'
arduino = serial. Serial (dispositiu, 9600)
La primera línia s’utilitza per definir el nostre port COM. Al Raspberry Pi és / dev / ttyUSB0, que fem servir per a l’Arduino. La segona línia és per obrir el port sèrie a l'Arduino. Simplement definim a quin port COM i a quina velocitat s’està executant la connexió.
La resta del codi s’executa en un bucle while.
A continuació, fem servir diversos blocs Try and Except. Primer, el codi intenta executar-se dins del bloc Try, si falla, executa el bloc Except. Però si el bloc Prova funciona bé, no s’executa el bloc Excepte, només executa la resta del codi.
Així, dins dels blocs Try tenim un codi que llegirà la comunicació en sèrie i l’enviarà a la nostra base de dades MySQL.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) humidlist = arduino.readlines (3)
Per tant, el codi anterior és per llegir línies a la comunicació en sèrie. El número al final del codi defineix la línia que s’ha llegit a la sèrie. Per tant, aquestes línies es classifiquen en diferents variables.
Quan es reben dades de l’Arduino, hem utilitzat el mòdul mysqlclient per enviar les dades al nostre servidor MySQL.
db = _mysql.connect (host = "sql7.freemysqlhosting.net", user = "sql7256552", passwd = "3ebtbP8FQ2", db = "sql7256552")
Aquesta línia serveix per connectar-se a la nostra base de dades MySQL. Especifica el servidor, el nom d’usuari, la contrasenya i a quina base de dades s’ha de connectar dins del servidor. Aquí hauríeu d'especificar la connexió al vostre MySQL DB.
db.query ("INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) VALORS (% s,% s,% s)"% (temp, humid, hygro))
Així doncs, aquí prenem la nostra connexió de base de dades i fem una consulta SQL. La consulta indica que cal inserir valors dins de la taula "TempHumid" i després a les columnes "temp", "humid" i "hygro". L'última part "(% s,% s,% s)" és el format de cadena i s'utilitza per donar a la base de dades el format que pot llegir.
I tota aquesta acció es posa en un bucle de temps, de manera que continuem rebent dades enviades al servidor MySQL.
Si voleu veure tot el codi, descarregueu l'script python (TempHumid.py).
Pas 9: MySQL
Per al servidor MySQL, hem utilitzat un servei gratuït a www.freemysqlhosting.net. Podríem haver creat un servidor localment al Raspberry Pi, però vam anar amb el servei gratuït per connectar-lo completament al núvol / Internet.
Per accedir a MySQL, heu d’anar a phpmyadmin.co i iniciar la sessió amb les credencials del vostre compte freemysqlhosting.
Quan esteu a dins, heu de crear una taula anomenada "TempHumid", dins d'aquesta taula heu de crear 4 columnes anomenades "ID", "temp", "humid" i "hygro". A la primera columna (ID) heu de marcar la casella A_I (Increment automàtic). Això és així perquè la columna ID proporciona a cada conjunt de dades un ID. Totes les columnes següents s'han d'establir com a INT (enter) i definir el valor estàndard a NULL.
Pas 10: node vermell
Al nostre projecte hem utilitzat Node-Red per crear una interfície gràfica. Node-Red s’executa al Raspberry Pi i recopila dades de la nostra base de dades MySQL i mostra aquestes dades amb indicadors en forma de dònut i gràfics gràfics, de manera que l’usuari final pugui supervisar les dades. El més intel·ligent de Node-Red és que es pot visualitzar en qualsevol dispositiu, cosa que significa que es canviarà la mida del lloc per al dispositiu que estigui visualitzant el contingut.
Per instal·lar la nostra programació Node-Red, consulteu el pas 1 i descarregueu el document anomenat "Node-Red.docx". A continuació, copieu i enganxeu el text a Node-Red mitjançant la funció d'importació a l'extrem superior dret.
Després d'això, canvieu la configuració de la base de dades del vostre MySQL DB.
Recomanat:
Hivernacle interior automàtic basat en Ikea Socker: 5 passos
Hivernacle interior automàtic basat en Ikea Socker: Hola, aquest és el meu primer instructable. Vaig aprendre molt amb aquesta comunitat i crec que és hora de tornar les meves humils idees. Em sap greu pel meu anglès, és pobre, però faré tot el que pugui. La idea era fer un hivernacle de sobretaula que em deixés créixer llavors i
Automatitzar un hivernacle amb LoRa! (Part 2) -- Obridor de finestres motoritzat: 6 passos (amb imatges)
Automatitzar un hivernacle amb LoRa! (Part 2) || Obridor de finestres motoritzades: en aquest projecte us mostraré com he creat un obridor de finestres motoritzat per al meu hivernacle. Això vol dir que us mostraré quin motor he utilitzat, com he dissenyat el sistema mecànic real, com condueixo el motor i, finalment, com he utilitzat un Arduino LoRa
Seguiment de l’Hivernacle amb IOT: 5 passos
Monitorització de l’Hivernacle amb IOT: pel que fa a l’agricultura, es fa un seguiment de la temperatura & la humitat de les plantes és un factor important per a la seva supervivència. Actualment, la gent utilitza termòmetres connectats a un hivernacle perquè els agricultors puguin mesurar la temperatura. Tanmateix, aquesta aplicació manual
Impressionant hivernacle amb reg automàtic, connexió a Internet i molt més: 7 passos (amb imatges)
Impressionant hivernacle amb reg automàtic, connexió a Internet i molt més: Benvingut a aquest manual. A principis de març, estava en una botiga de jardins i vaig veure alguns hivernacles. I com que feia temps que volia fer un projecte amb plantes i electrònica, vaig continuar endavant i en vaig comprar un: https://www.instagram.com/p
MAG (hivernacle automàtic en miniatura): 9 passos
MAG (hivernacle automàtic en miniatura): la meva mare està la majoria de vegades força ocupada. Així que volia ajudar-la automatitzant els seus hivernacles. D’aquesta manera pot estalviar una mica de temps, ja que no necessitarà regar les plantes. Ho aconseguiré amb MAG (jardí automàtic en miniatura). Com al