Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

Composants et fournitures

Composant Quantité
Capteur de température DHT22 1
Capteur de température DS18B20 (étanche) 1
Capteur température/humidité du sol FS200-SHT25 1
Module relais 4 canaux 1
Module relais 2 canaux 1
Capteur ultrasons HC-SR04 1
Arduino MKR1000 1

Applications et services en ligne

À propos du projet

Faites pousser vos plantes et légumes en surveillant précisément leurs conditions environnementales, simplement avec un MKR1000.

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

Besoins pour la croissance des plantes

La croissance des plantes dépend de plusieurs conditions idéales : température, humidité, lumière, nutriments minéraux et oxygène. Fournir la bonne quantité d'eau ou maintenir la température normale dans la serre peut être complexe, mais ce système le rend bien plus simple.

Vue d'ensemble du matériel

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

Température / Humidité

Niveau d'eau

Air – Température / Oxygène

Relais R1 / R2

Pour commander l'ouverture des fenêtres ou le démarrage d'une pompe : R1 connecté aux broches numériques 7, 8, 9, 10 ; R2 aux broches 5, 6.

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

MKR1000 – aREST

Une fois tout connecté, on récupère les données via la bibliothèque aREST, qui expose une interface web sur le MKR1000 au format JSON. Utilisez les bibliothèques et fichiers .ino fournis, et adaptez la connexion WiFi à votre routeur.

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

Données et interface

Grâce à cette interface, on peut consommer les données et les visualiser sur le réseau local. Une application Windows (.NET, Visual Studio 2015) permet de visualiser les conditions en temps réel, l'historique journalier et divers logs.

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes
DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes
DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes
DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes
DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

Pour le stockage cloud, on utilise les configurations DasData pour serre ou on crée ses propres canaux de données.

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

Il faut ensuite modifier les clés DsKey et AKey dans le fichier Settings.txt du dossier de l'application. Si tout fonctionne, les données apparaissent en ligne.

DasFilisera Serre Intelligente : Système Avancé de Surveillance de la Croissance des Plantes

Suivez le canal Hackster de DasData pour les futures mises à jour.

Automatisation de la serre

Vous décidez quelles vannes ou moteurs activer selon la configuration et la taille de votre serre. Tout peut être contrôlé via les relais.

Code source

Filisera_Arduino (extrait principal)

/* DASFilisera using aREST Library for Arduino/Genuino MKR1000 */
#include 
#include 
#include 
#include "DHT.h"
#include 
#include 
#include 
#include 

// Capteurs température
#define DHTPIN 0
#define DHTTYPE DHT22
#define ONE_WIRE_BUS 1
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

float umidSol = 0, umidAer = 0, tempIn = 0, tempOut = 0, tempSol = 0, umidexIn = 0;

// Capteur niveau d'eau (ultrasons)
#define echoPin A0
#define trigPin A1
long duration;
int HR_dist = 0;
int minimumRange = 5, maximumRange = 200;

// WiFi & aREST
char ssid[] = "WIFI_AP";
char password[] = "WIFI_PASSW";
#define LISTEN_PORT 80
WiFiServer server(LISTEN_PORT);
aREST rest = aREST();

DHT dht(DHTPIN, DHTTYPE);

// Relais
int inReleu1Ventil = 6, inReleu2Ventil = 7, inReleu3Ventil = 8, inReleu4Ventil = 9;
int inReleu1Lateral = 10, inReleu2Lateral = 11;

void setup() {
  Serial.begin(115200);
  rest.function("led", ledControl);
  rest.set_id("1");
  rest.set_name("mkr1000");

  // Connexion WiFi
  while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    status = WiFi.begin(ssid, password);
    delay(10000);
  }
  server.begin();
  Serial.println("Server started");
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // Variables exposées à l'API REST
  rest.variable("Vol_container", &sqrLevel);
  rest.variable("Umiditate_sol", &umidSol);
  rest.variable("Umiditate_aer", &umidAer);
  rest.variable("Temp_in", &tempIn);
  rest.variable("Temp_out", &tempOut);
  rest.variable("Temp_sol", &tempSol);

  dht.begin();
  sensors.begin();
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  getmyDistance();
  getInsideVals();
  getOutSideVals();
  getSoilVals();

  WiFiClient client = server.available();
  if (!client) return;
  while(!client.available()) delay(1);
  rest.handle(client);
}

// Fonctions de lecture capteurs, calcul distance, etc.

Application Windows (.NET) – Extrait

Public Class Form1
  Private _deviceIP As String = ""
  Private _AKey As String = ""
  Private _DSKey As String = ""
  Private _myDas As New dasData.das

  Private Sub Form1_Load(...)
    ' Lecture Settings.txt : IP device, AKey, DSKey, relais
    cmdCheckDevice()
    cmdStartFilisera()
  End Sub

  Private Sub cmdGetSensorValues()
    ' Récupération JSON depuis l'API REST du MKR1000
    ' Parsing : Vol_container, Umiditate_sol, Umiditate_aer, Temp_in, Temp_out, Temp_sol
    ' Mise à jour jauges et graphiques (ChartTemp, chartUmid, chartVolum)
  End Sub

  Private Sub cmdAddData()
    ' Envoi données vers DasData cloud
  End Sub

  Private Sub cmdTriggers()
    ' Seuils d'alerte : volume > 80% stop eau, température > 38°C ouvre fenêtres, etc.
    ' Logs vers DasData
  End Sub
End Class

Sources complètes : https://github.com/dasdata/DasFilisera

Schémas

Fichier PDF avec les connexions – capteurs et relais

Processus de fabrication

  1. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  2. Connecter plusieurs capteurs DS18B20 1-Wire à un Raspberry Pi pour une surveillance température précise
  3. Capteur de température infrarouge TMP006 avec Raspberry Pi : bibliothèque Python et guide de configuration
  4. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  5. Comment connecter un capteur de température DS1820 One‑Wire à un Raspberry Pi via GPIO
  6. Comment connecter un thermomètre numérique DS18B20 One-Wire à un Raspberry Pi – Guide étape par étape
  7. Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
  8. Construire un moniteur de température domestique avec Raspberry Pi, MCP9808, InfluxDB et Grafana
  9. Capteur température palier de précision : détection et surveillance précises