Taula de continguts:

Test automàtic - Petit jardí: 13 passos (amb imatges)
Test automàtic - Petit jardí: 13 passos (amb imatges)

Vídeo: Test automàtic - Petit jardí: 13 passos (amb imatges)

Vídeo: Test automàtic - Petit jardí: 13 passos (amb imatges)
Vídeo: Сложный случай 😰 Аллергия на гель лак 🤯 Онихолизис ногтей 2024, Juliol
Anonim
Test automàtic - Petit jardí
Test automàtic - Petit jardí

Sóc estudiant de Tecnologies de la Comunicació i Multimèdia a Howest Kortrijk. Per a la nostra tasca final, vam haver de desenvolupar un projecte IoT de la nostra pròpia elecció.

Buscant idees al meu voltant, vaig decidir fer alguna cosa útil per a la meva mare que adora el cultiu de plantes i va començar a treballar en un test automàtic.

Les tasques principals d’aquest test automàtic, Little Garden, són:

  • Mesureu el

    • Temperatura
    • Intensitat lumínica
    • Humitat
    • Humitat del sòl

Deseu les mesures en una base de dades

Milloreu les condicions per al creixement de la planta si un valor determinat és massa baix

Permet que el dispositiu es controli i es gestioni a través d’un lloc web

No cal seguir tots els passos fins a la marca. Gran part del que passa pot ser la vostra preferència personal o millorar-la. Aquesta compilació es va fer de manera que les parts es poguessin recuperar després, de manera que és possible que vulgueu abordar la vostra iteració de manera diferent per fer-la més permanent

Pas 1: subministraments

Subministraments
Subministraments
Subministraments
Subministraments
Subministraments
Subministraments

La majoria dels subministraments d’aquest projecte no són molt difícils d’adquirir, tot i que en el meu cas he treballat amb molts materials reciclats. També vaig haver de garantir que després pogués recuperar alguns materials.

Components bàsics:

  • Raspberry Pi 4 model B.
  • Alimentació Raspberry Pi
  • Cobbler Raspberry Pi
  • Targeta micro SD de 16 GB
  • Font d'alimentació de taulers de pa amb 3.3V i 5V
  • Taula de pa
  • Alimentació de 12V

Sensors:

  • DHT11: sensor d'humitat i temperatura
  • BH1750: sensor d'intensitat de llum
  • Sensor d'humitat del sòl
  • MCP3008

Components de l'actuador:

  • Bomba d’aigua de 220V
  • Tira LED de 12V
  • Mòdul de relés Velleman
  • TIP 50: transistor NPN
  • Pantalla LCD-moduke de 16X2
  • PCF8574a

Resistències:

  • Resistències de 3 x 330 Ohm
  • 1 x 5k ohm resistència
  • 2 resistències de 10k Ohm
  • Resistència 1 x 1k Ohm
  • 1 resistència de potència de 10 k

Materials:

  • Test d'hivernacle / planta prefabricada
  • Caixa de connexions
  • Ampolla d'aigua de plàstic
  • Giratòries
  • Filferros de pont + filferro normal
  • Skrews
  • Estany de soldadura + tubs termorretractables
  • Cinta d'ànec de doble cara
  • Pintura

Eines:

  • Pistola de cola
  • Trepant
  • Fulla de serra
  • Soldador
  • Tallador de caixes
  • Pinzell

El més interessant d’aquest projecte és que es pot ampliar o simplificar afegint / eliminant components i ajustant lleugerament el codi. Per exemple, en substituir la bomba de 220V per una de 12V, podeu treure un adaptador de corrent del dispositiu.

Pas 2: esquema de Fritzing

Esquema de Fritzing
Esquema de Fritzing
Esquema de Fritzing
Esquema de Fritzing

La taula de suport i els esquemes elèctrics del dispositiu es mostren a la part superior. Aquí podeu veure com es connecten tots els components.

Una explicació general de com funcionen els components:

  • El DHT11 mesura la humitat de l’aire en% i la temperatura en ° C. La comunicació amb ella és gestionada per un bu I2C.
  • El BH1750 mesura la intensitat de la llum en lux. La comunicació es fa mitjançant un bus I2C
  • El sensor d’humitat del sòl crea un senyal digital que el MCP3008 converteix en un senyal digital llegible per al Raspberry Pi
  • El mòdul LCD de 16x2 mostra les adreces IP del Pi, una darrere l’altra. Està connectat a un PCF8574a que rep un senyal del Raspberry Pi que el convertirà en una sèrie de senyals per als pins de bits de la pantalla. Els pins E i RS de la pantalla LCD es connecten directament al Pi. La resistència potentio determina la brillantor de la pantalla.
  • La bomba d'aigua està connectada a un relé que hi ha entre ella i la seva font d'alimentació / presa de corrent de 220V. El Raspberry Pi pot enviar un senyal al relé per tancar el circuit elèctric i encendre la bomba.
  • La tira LED està connectada a la font d'alimentació de 12V i al TIP 50 (transistor NPN) que commuta el corrent elèctric. La resistència d'1 k Ohm s'utilitza per limitar la potència extreta del Raspberry Pi, en cas contrari es fregiria molt cruixent.

Pas 3: prepareu el Raspberry Pi

Prepareu el Raspberry Pi
Prepareu el Raspberry Pi

Si encara no en teniu cap, haureu de posar una de les imatges del sistema operatiu Raspberry Pi a la targeta SD. No recomano utilitzar Lite, ja que això em va causar problemes al principi. Després, haureu d'assegurar-vos que el vostre Pi està actualitzat mitjançant les ordres següents mentre el Pi està connectat a Internet:

  1. sudo apt-get update
  2. sudo apt-get upgrade

Després, podeu habilitar o instal·lar els paquets perquè el projecte funcioni, ja sigui mitjançant raspi-config o ordres.

  • SPI
  • I2C
  • MySQL: següent pas
  • SocketIO: pip instal·lar flask-socketio

Després de la configuració, podeu afegir els fitxers necessaris que estiguin escrits en html, CSS, Javascript i Python. Tot el meu codi es pot trobar al repositori de github.

Pas 4: Model de base de dades: MySQL

Model de base de dades: MySQL
Model de base de dades: MySQL

A la part superior podeu veure el diagrama ERD allotjat a través de MariaDB. Us recomano seguir aquesta guia d’instal·lació de MariaDB, no només per instal·lar MariaDB, sinó també per assegurar-vos que el vostre Pi estigui protegit.

Per a les persones que vulguin entendre-ho, la base de dades funciona de la següent manera:

Les mesures i els commutadors de l'actuador s'emmagatzemen com a files dins de la taula de Metingen.

  • metingId = ID de la fila de mesura / commutació
  • deviceId = ID del dispositiu responsable d'aquesta fila a la taula
  • waarde = valor de la mesura del sensor o del commutador de l'actuador

    • sensor: valor de la mesura en les unitats corresponents
    • actuadors: 0 = OFF i 1 = ON
  • commentaar = comentaris utilitzats per afegir informació addicional, com ara errors
  • datum = data i hora en què es va produir la mesura / commutació

Els paràmetres del dispositiu s’emmagatzemen a Configuració.

  • settingId = ID d'aquesta fila i el valor de la configuració
  • deviceID = ID del dispositiu / sensor corresponent
  • waarde = valor de la configuració
  • tipus = tipus de settin, és màxim o mínim?

Finalment, però no menys important, la taula Dispositius conté informació sobre els sensors i els actuadors.

  • deviceId = ID del dispositiu en aquesta taula
  • naam = nom del dispositiu / component
  • merk = marca
  • prijs = preu del component
  • beschrijving = resum del component
  • eenheid = unitat dels valors mesurats
  • typeDevice = especifica si el component és un sensor o un actuador

Pas 5: Frontend: configuració del servidor web

Frontend: configuració del servidor web
Frontend: configuració del servidor web

El Pi us requerirà que instal·leu el servidor web Apache per executar el servidor web d’aquest dispositiu. Això es pot fer amb l'ordre següent:

sudo apt-get install apache2.

Un cop fet això, podeu anar a la carpeta: / var / www / html. Aquí haureu de col·locar tot el codi del frontend. Després, podeu accedir al lloc web navegant a l’adreça IP.

Pas 6: Backend

Per executar el backend, haureu d'executar el fitxer app.py, ja sigui manualment o bé creant-li un servei al Pi perquè s'iniciï automàticament.

Com podríeu notar, hi ha força fitxers. He separat el codi tant com he pogut per tenir una visió general i una organització del codi clares.

Una breu explicació:

app.py: el fitxer principal on s’uneixen la base de dades, el codi de maquinari i el codi de fons

config.py: el fitxer de configuració dels repositoris database

Dipòsits: per accedir al dipòsit de dades

  • Ajudant

    • devices_id: classes per ajudar a identificar la informació del dispositiu a la base de dades
    • lcd: per executar el PCF i el LCD
    • Actuadors: classes per fer funcionar els actuadors
    • Sensors: classes per executar els sensors

Pas 7: col·locació de la tira LED

Col·locació de la tira LED
Col·locació de la tira LED

Vaig tallar un tros de la tira LED i el vaig enganxar a la part superior de la caixa d’hivernacle. La tira que he utilitzat es pot tallar en diverses posicions i tornar-la a connectar, de manera que pugueu col·locar diverses tires i tornar-les a connectar després mitjançant cables, cosa que permetrà il·luminar més espai.

Pas 8: col·locació dels tubs

Col·locació dels tubs
Col·locació dels tubs

Els tubs es podrien col·locar de diverses maneres, però en el meu cas els vaig fixar al costat de la part inferior, mantenint-los el més allunyats possible de l’altra electrònica i deixant que l’aigua flueixi simplement a la brutícia.

Pas 9: col·locació de la pantalla LCD

Col·locació de la pantalla LCD
Col·locació de la pantalla LCD

Vaig tallar un conjunt a la tapa de la caixa de connexions amb una fulla de serra, creant una obertura prou gran perquè la pantalla travessés, però prou petita perquè el PCB es quedés al darrere. Després, es va fixar a la tapa mitjançant esbiaixades.

La pantalla LCD mostra les adreces IP del Raspberry Pi, cosa que permet conèixer quina adreça podeu utilitzar per navegar al lloc web.

Pas 10: col·locació dels sensors i connexió de la tira LED

Col·locació dels sensors i connexió de la tira LED
Col·locació dels sensors i connexió de la tira LED
Col·locació dels sensors i connexió de la tira LED
Col·locació dels sensors i connexió de la tira LED

Utilitzant els esquemes de fritzing, vaig soldar les connexions entre els cables i vaig col·locar les resistències dins dels cables, utilitzant tubs termoretràctils per aïllar-los.

Es van tallar forats als costats de la tapa i la part inferior de l’hivernacle per fixar els eixos giratoris, a través dels quals vaig treure els cables dels sensors i la tira LED.

He agrupat els cables per funció. La mateixa tensió dels cables i els tubs encongits mantenien els sensors en suspensió. Només vaig haver d’utilitzar cola als cables per al DHT11, ja que això es va ampliar encara més.

Pas 11: Cablatge del Pi

Cablatge del Pi
Cablatge del Pi
Cablatge del Pi
Cablatge del Pi
Cablatge del Pi
Cablatge del Pi

Vaig tallar forats al lateral de la caixa de connexions per permetre que els cables passessin més endavant.

Després d’això, vaig col·locar el taulell de suport (amb el T-cobbler, PCF8574a, MCP3008, resistència ajustable i TIP50), el relé i el Raspberry Pi a la part inferior de la caixa de connexions, que estava coberta amb cinta adhesiva de doble cara. La font d’alimentació no encaixava a la tauleta de suport, de manera que vaig haver de posar-la al lateral i vaig utilitzar cables de pont per connectar-la a la tauleta de pa.

Finalment, vaig treure els cables de l’adaptador, del sensor i de l’actuador pels orificis connectats als cables a la placa de connexió, al Raspberry Pi i a altres components. El cable de la bomba es va tallar per poder col·locar els extrems dins del relé perquè es pogués utilitzar com a interruptor.

Pas 12: fabricació d'un contenidor per a aigua

Fent un contenidor per a aigua
Fent un contenidor per a aigua

Vaig fer un recipient d’aigua amb una ampolla d’aigua de plàstic d’1 litre tallant la part superior amb un tallador de caixes i pintant-lo per obtenir un aspecte millor. Després es va col·locar la bomba d’aigua a l’interior. Causa de la regla dels vaixells comunicants, l'aigua podria fluir a través de les canonades per si sola, però mantenir el tub cap amunt soluciona el problema.

Pas 13: Resultat final

Resultat final
Resultat final
Resultat final
Resultat final

El moment que has estat esperant. Ara podeu col·locar la brutícia i les llavors dins de la caixa d’efecte hivernacle i deixar que el dispositiu agafi el relleu. Podeu controlar l’estat del dispositiu des del lloc web i establir els valors òptims per a la il·luminació i les condicions del sòl.

Recomano regar el sòl manualment, ja que una mica de brutícia pot ser força seca al principi. Algunes bombes també semblen regar bastant lentament, però cal que sigueu molt curosos, ja que s’ompliran més ràpidament del que esperàveu. Una saturació superior al 80% pot fer que el terreny estigui molt mullat. I assegureu-vos que el sensor d’humitat del sòl sigui prou profund.

Recomanat: