Zum Inhalt springen

#25 Intelligentes Gewächshaus-IoT-Projekt mit PicoBricks

24 Oct 2023
#25 Smart Greenhouse IoT Project With PicoBricks

In diesem Projekt bereiten wir ein einfaches Glas vor Smarthouse mit IOT Technologie und PicoBricks. Wir werden in diesem Gewächshaus PicoBricks mit dem WLAN-Modul ESP8266 verwenden. Auf diese Weise verwandeln wir das Pflanzenhaus in ein Objekt, das wir über das Internet verfolgen können.

Inhaltsverzeichnis

    Hallo Maker! Wir werden eine machen Intelligentes Gewächshausprojekt Heute! Hier können Sie jedes Detail überprüfen! Bitte holt Kontakt uns, wenn Sie Ihr eigenes machen!

    Die raschen Klimaveränderungen aufgrund der Auswirkungen der globalen Erwärmung führen zu einem Rückgang der Produktivität in der Landwirtschaft. Im 15. Jahrhundert baute Daniel Barbaro das erste bekannte Gewächshaus der Geschichte. Pflanzenhäuser sind geeignete Umgebungen für den Pflanzenanbau, die kontrollierbare Luft-, Wasser-, Wärme- und Lichtbedingungen bieten können.

    In Gewächshäuser, Heizgeräte dienen dem Wärmeausgleich, elektrische Wassermotoren dienen der Bewässerung, Ventilatoren dienen der Regulierung der Luftfeuchtigkeit und der Bestäubung. Mit der Weiterentwicklung der Technologie kann der Produzent den Status des Gewächshauses mit seinem Telefon von überall aus verfolgen und die erforderlichen Arbeiten erledigen. Der allgemeine Name dieser Technologie ist Internet der Dinge (IOT).

    Mit speziellen Sensoren werden Temperatur, Luftfeuchtigkeit und Sauerstoffgehalt im Pflanzenhaus gemessen. Darüber hinaus werden spezielle Sensoren zur Messung der Bodenfeuchtigkeit eingesetzt, um über die Bewässerung zu entscheiden. Zur Steigerung der Bewässerungseffizienz werden elektronisch gesteuerte Tropfbewässerungssysteme eingesetzt.

    Details und Algorithmus

    Das von Ihnen vorbereitete Gewächshausmodell umfasst einen Bodenfeuchtigkeitssensor und einen DHT11-Temperatur- und Feuchtigkeitssensor, der oben hängt. Eine Tauchpumpe wird im Wassertank außerhalb des Modells platziert, und der Schlauch, der am Ende der Pumpe austritt, führt zum Boden des Gewächshauses. Picoboard wird an einer geeigneten Stelle außerhalb des Gewächshausmodells platziert.

    Wenn Picobricks startet, beginnt es dank des ESP8266-WLAN-Moduls mit der WLAN-Übertragung. Wenn wir die IP-Adresse von Esp8266 über das mit demselben Netzwerk verbundene Smartphone eingeben, gelangen wir auf die Webseite, auf der wir das Gewächshaus steuern. Hier sehen wir die Temperatur- und Luftfeuchtigkeitswerte. Wenn wir möchten, können wir den Bewässerungsvorgang starten, indem wir den Bewässerungsbefehl geben.

    Komponenten für das Smart Greenhouse-Projekt

    1X Pumpe
    1X Bodenfeuchtigkeitssensor
    1X ESP8266 WLAN-Modul
    PicoBricks Smart Greenhouse Kit
    Überbrückungskabel
    Einfache Verbindungskabel

    Schaltplan

    Sie können die Module von Picobricks ohne Verkabelung programmieren und betreiben. Wenn Sie die Module getrennt von der Platine verwenden möchten, sollten Sie die Modulverbindungen mit Grove-Kabeln herstellen.

    Schritt für Schritt des Projekts

    1-Trennen Sie den Boden des Modells vom SR-2-codierten Teil im Gewächshausbausatz.

    2- Befestigen Sie die Teile in der Mitte des SR-3-Teils am Boden des Gewächshauses.

    3- Entfernen Sie die Innenwände des Gewächshauses vom SR-4-Teil und befestigen Sie es am Boden.

    4- Entfernen Sie die Bögen in SR-1 und SR-3 und platzieren Sie sie auf dem Boden des Pflanzenhauses.

    5-Decken Sie den rechteckigen Bereich, in dem die Erde platziert werden soll, mit Frischhaltefolie ab. Nach der Bewässerung schützen Sie die Modellteile. Gießen Sie die Pflanzenerde in das Gewächshaus. Füllen Sie es so aus, dass kein Leerraum entsteht.

    6- Setzen Sie die Teile des SR-4 in die Aussparungen am Gewächshaus ein.

    7-Führen Sie die verbleibenden zwei dünnen flachen Stücke SR-4 von der Unterseite durch die Löcher auf beiden Seiten des Gewächshauses. Dieser Prozess macht den Bereich robuster.

    Schaltplan

    Sie können die Module von Picobricks ohne Verkabelung programmieren und betreiben. Wenn Sie die Module getrennt von der Platine verwenden möchten, sollten Sie die Modulverbindungen mit Grove-Kabeln herstellen.

    MicroBlocks-Codes der PicoBricks


    Registerkarte „Mikroblöcke ausführen“.

    MicroPython-Codes der PicoBricks

    
    import utime
    import uos
    import machine
    from machine import Pin, ADC
    from picobricks import DHT11
    from utime import sleep
    
    dht_sensor = DHT11(Pin(11))
    smo_sensor = ADC(27)
    m1 = Pin(22, Pin.OUT)
    m1.low()
    print("Machine: \t" + uos.uname()[4])
    print("MicroPython: \t" + uos.uname()[3])
    
    uart0 = machine.UART(0, baudrate=115200)
    print(uart0)
    
    def Connect_WiFi(cmd, uart=uart0, timeout=5000):
        print("CMD: " + cmd)
        uart.write(cmd)
        utime.sleep(7.0)
        Wait_ESP_Rsp(uart, timeout)
        print()
    
    # ... [rest of the functions]
    
    while True:
        res = ""
        res = Rx_ESP_Data()
        utime.sleep(2.0)
        if '+IPD' in res:
            # ... [rest of the conditions]
    
        utime.sleep(4.0)
        Send_AT_Cmd('AT+CIPCLOSE=' + connection_id + '\r\n')
        utime.sleep(3.0)
        recv_buf = "" 
        print('Waiting For connection...')
    </code>

    Arduino C-Codes der PicoBricks

    
    #include
    #define RX0
    #define TX1
    
    #define LIMIT_TEMPERATURE 30
    #define DHTPIN 11
    #define DHTTYPE DHT11
    #define smo_sensor 27
    #define motor 22
    #define DEBUG true
    DHT dht(DHTPIN,DHTTYPE);
    int connectionId;
    
    void setup(){
      Serial1.begin(115200);
      dht.begin();
      pinMode(smo_sensor,INPUT);
      pinMode(motor,OUTPUT);
      sendData("AT+RST\r\n",2000,DEBUG); 
      // ... [rest of the setup]
    
    }
    
    void loop(){
      if(Serial1.find("+IPD,")){
        delay(300);
        connectionId = Serial1.read()-48;
        String serialIncoming = Serial1.readStringUntil('\r');
        // ... [rest of the loop]
    
      }
    }
    
    String sendData(String command, const int timeout, boolean debug){
      String response ="";
      Serial1.print(command);
      long int time = millis();
      while((time + timeout) > millis()){
        while(Serial1.available()){
          char c = Serial1.read();
          response += c;
        }
      }
      if(debug){
        Serial.print(response);
      }
      return response;
    }
    
    Projekt-GITHUB-Seite
    Vorheriger Beitrag
    Nächster Beitrag

    Danke fürs Abonnieren!

    Diese E-Mail wurde registriert!

    Shoppen Sie den Look
    Wählen Sie Optionen

    Bearbeitungsoption

    Benachrichtigung wieder auf Lager

    Vergleichen

    Produkt ArtikelnummerBewertungBeschreibung Sammlung Verfügbarkeit Produktart Andere Details
    this is just a warning
    Anmeldung
    Einkaufswagen
    0 Artikel
    Same Day Shipping No Extra Costs
    Easy Returns Guarantee Return with Ease
    Secure Checkout Secure Payment