Inhoudsopgave:

BEWAAK UW TUIN: 16 stappen (met afbeeldingen)
BEWAAK UW TUIN: 16 stappen (met afbeeldingen)

Video: BEWAAK UW TUIN: 16 stappen (met afbeeldingen)

Video: BEWAAK UW TUIN: 16 stappen (met afbeeldingen)
Video: Dit gebeurt er als je een week geen ondergoed draagt 2024, November
Anonim
BEWAAK UW TUIN
BEWAAK UW TUIN

Bewaak uw tuin vanaf elke locatie, gebruik lokale weergave om de bodemgesteldheid lokaal te bewaken of gebruik mobiel om op afstand te monitoren. Het circuit maakt gebruik van een bodemvochtsensor, gekoppeld aan temperatuur en vochtigheid om de omgevingscondities van de bodem te kennen.

Stap 1: Componenten:

  1. Arduino uno
  2. Nodemcu
  3. Temperatuur- en vochtigheidssensor DHT 11
  4. Bodemvochtsensor - FC28
  5. Batterijbank 10000mah (voor het aandrijven van arduino & nodemcu)
  6. Nokia LCD 5110
  7. Weerstand (5 x 10k, 1 x 330ohm)
  8. Potentiometer Roterend type (om LCD-helderheid aan te passen) 0-100K
  9. Doorverbindingsdraden
  10. Breadboard

Stap 2: BASISSENSOR: Bodemvocht FC 28

BASIS SENSOR: Bodemvocht FC 28
BASIS SENSOR: Bodemvocht FC 28

Om vocht te meten, gebruiken we bodemvochtsensor FC 28, waarvan het basisprincipe is zoals onder: -

De specificaties van de FC-28 bodemvochtsensor zijn als volgt: Ingangsspanning: 3,3 – 5V

Uitgangsspanning: 0 – 4.2V

Ingangsstroom: 35mA

Uitgangssignaal: zowel analoog als digitaal

De FC-28 bodemvochtsensor heeft vier pinnen: VCC: Power

A0: Analoge uitgang

D0: Digitale uitgang

GND: aarde

Analoge modusOm de sensor in de analoge modus aan te sluiten, moeten we de analoge uitgang van de sensor gebruiken. Wanneer we de analoge output van de bodemvochtsensor FC-28 nemen, geeft de sensor ons een waarde van 0 tot 1023. Het vocht wordt gemeten in procenten, dus we zullen deze waarden in kaart brengen van 0 tot 100 en dan zullen we deze waarden tonen op de seriële monitor. U kunt verschillende bereiken van de vochtigheidswaarden instellen en de waterpomp op basis daarvan in- of uitschakelen.

De module bevat ook een potentiometer die de drempelwaarde instelt. Deze drempelwaarde wordt vergeleken door de LM393-vergelijker. De output-LED zal op en neer gaan volgens deze drempelwaarde.

De code voor koppeling met bodemvochtsensor wordt in verdere stappen overgenomen

Stap 3: MQTT begrijpen: voor publiceren op afstand van gegevens

MQTT begrijpen: voor publiceren op afstand van gegevens
MQTT begrijpen: voor publiceren op afstand van gegevens

Laten we, voordat we verder beginnen, eerst de publicatie van gegevens op afstand voor IOT doornemen

MQTT staat voor MQ Telemetrie Transport. Het is een uiterst eenvoudig en lichtgewicht berichtenprotocol voor publiceren/abonneren, ontworpen voor beperkte apparaten en netwerken met lage bandbreedte, hoge latentie of onbetrouwbare netwerken. De ontwerpprincipes zijn om de netwerkbandbreedte en de vereisten voor apparaatbronnen te minimaliseren en tegelijkertijd te proberen de betrouwbaarheid en een zekere mate van leveringszekerheid te garanderen. Deze principes blijken het protocol ook ideaal te maken voor de opkomende "machine-to-machine" (M2M) of "Internet of Things"-wereld van verbonden apparaten, en voor mobiele toepassingen waar bandbreedte en batterijvermogen een premie zijn.

Bron:

MQTT[1] (MQ Telemetry Transport of Message Queuing Telemetry Transport) is een ISO-standaard (ISO/IEC PRF 20922)[2] op publiceren-abonneren gebaseerd berichtenprotocol. Het werkt bovenop het TCP/IP-protocol. Het is ontworpen voor verbindingen met externe locaties waar een "kleine codevoetafdruk" vereist is of de netwerkbandbreedte beperkt is.

Bron:

Stap 4: MQTT: MQTT-makelaarsaccount instellen

Er zijn verschillende MQTT-makelaarsaccounts, voor deze tutorial heb ik cloudmqtt gebruikt (https://www.cloudmqtt.com/)

CloudMQTT zijn beheerde Mosquitto-servers in de cloud. Mosquitto implementeert het MQ Telemetry Transport-protocol, MQTT, dat lichtgewicht methoden biedt voor het uitvoeren van berichten met behulp van een berichtwachtrijmodel voor publiceren/abonneren.

De volgende stappen moeten worden uitgevoerd om het cloudmqtt-account als makelaar in te stellen:

  • Maak een account aan en log in op het controlepaneel
  • druk op Create+ om een nieuwe instantie te maken
  • Om te beginnen moeten we ons aanmelden voor een klantplan, we kunnen CloudMQTT gratis proberen met het abonnement CuteCat.
  • Na het maken van "instantie", is de volgende stap het maken van een gebruiker en het verder toewijzen van toestemming aan de gebruiker voor toegang tot berichten (via ACL-regels)

De complete gids voor het opzetten van een MQTT-makelaarsaccount in cloudmqtt is toegankelijk via de link: -

Alle bovenstaande stappen worden één voor één in de volgende dia's geplaatst

Stap 5: MQTT: een instantie maken

MQTT: een instantie maken
MQTT: een instantie maken

Ik heb een instantie gemaakt met de naam " myIOT"

plan: Leuk plan

Stap 6: MQTT: instantie-info

MQTT: instantie-info
MQTT: instantie-info

De instantie wordt na aanmelding onmiddellijk geleverd en u kunt de instantiedetails, zoals verbindingsgegevens, bekijken op de detailpagina. U kunt vanaf daar ook de beheerinterface bereiken. Soms moet u een verbindings-URL opgeven

Stap 7: MQTT: gebruiker toevoegen

MQTT: Gebruiker toevoegen
MQTT: Gebruiker toevoegen

Maak een gebruiker aan met de naam "nodemcu_12" en geef een wachtwoord op

Stap 8: MQTT: ACL-regel toewijzen

MQTT: ACL-regel toewijzen
MQTT: ACL-regel toewijzen

Na het aanmaken van een nieuwe gebruiker (nodemcu_12) slaat u de nieuwe gebruiker op, nu moet er meer ACL aan de nieuwe gebruiker worden verstrekt. In de bijgevoegde afbeelding is te zien dat ik zowel lees- als schrijftoegang heb verleend aan de gebruiker.

Let op: onderwerp moet worden toegevoegd zoals weergegeven in formaat (dit is verder vereist voor lezen en schrijven van knooppunt naar MQTT-client)

Stap 9: Nodemcu: configureren

In dit specifieke project heb ik nodemcu van Knewron Technologies gebruikt, meer informatie kan worden verkregen door de link te volgen: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Gids.pdf?dl=0)

Het is te zien dat NodeMCU een op eLua gebaseerde firmware is voor de ESP8266 WiFi SOC van Espressif. Nodemcu van knowron is voorgeladen met firmware, dus we hoeven alleen de app-software te laden, namelijk: -

  • init.lua
  • setup.lua
  • config.lua
  • app.lua

Alle bovenstaande lua-scripts kunnen worden gedownload van Github door de link te volgen: Downloaden van Github

Wijzig vanuit de bovenstaande lua-scripts de config.lua-scripts met MQTT-hostnaam, wachtwoord, wifi ssid enz.

Om de bovenstaande scripts naar nodemcu te downloaden, moeten we tools gebruiken zoals "ESPlorer", raadpleeg de documenten voor meer informatie:

Werken met ESPlorer wordt beschreven in de volgende stap

Stap 10: Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_1

Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_1
Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_1
  • Klik op de knop Vernieuwen
  • Selecteer de COM(Communicatie) poort & baudrate (Veelgebruikte 9600)
  • Klik op Openen

Stap 11: Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_II

Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_II
Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_II

Stap 12: Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_III

Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_III
Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_III

De knop Opslaan en compileren zou alle vier lua-scripts naar nodemcu sturen, nadat deze nodemcu klaar is om met onze Arduino te praten.

Het verzamelen van de CHIP ID-informatie:

Elke nodemcu heeft een chip-ID (waarschijnlijk een nummer).

Stap 13: Nodemcu: de Arduino configureren om met Nodemcu te praten

De onderstaande code bepaalt de bodemvochtigheid, temperatuur en vochtigheid en geeft de gegevens verder weer op Nokia LCD 5110, en serieel.

Arduino-code

Sluit dan Arduino RX aan ---Nodemcu TX

Arduino TX ---Nodemcu RX

De bovenstaande code bevat ook manieren om de softserial-bibliotheek te gebruiken, waarmee DO-pinnen ook kunnen worden gebruikt om als seriële pinnen te werken, ik heb RX / TX-pinnen gebruikt om verbinding te maken met de seriële poort van nodemcu.

Let op: aangezien nodemcu met 3,3 V werkt, wordt het aangeraden om de niveauverschuiver te gebruiken, maar ik heb rechtstreeks verbinding gemaakt zonder enige niveauverschuiver en de prestaties lijken precies goed voor de bovenstaande toepassing.

Stap 14: Nodemcu: MQTT-client instellen in Android

Nodemcu: MQTT-client instellen in Android
Nodemcu: MQTT-client instellen in Android

De laatste stap voor het bekijken van de informatie op mobiel met Android-client: -

Er zijn verschillende MQTT Android-applicaties, ik heb die van Google Play gebruikt met de volgende link:

.https://play.google.com/store/apps/details?

De configuratie voor de Android-app is vrij eenvoudig en men moet het volgende configureren:

  • MQTT-hostadres samen met poortnummer
  • MQTT gebruikersnaam en adres
  • MQTT broker node adres

Na het toevoegen van bovenstaande details, sluit u de applicatie aan, als de applicatie is verbonden met MQTT-broker, verschijnen alle invoerstatus / seriële communicatiegegevens van arduino als log.

Stap 15: Extra stappen: werken met Nokia LCD 5110

Aanvullende stappen: werken met Nokia LCD 5110
Aanvullende stappen: werken met Nokia LCD 5110

Hieronder volgen de pinconfiguraties voor LCD 5110

1) RST – Reset

2) CE – Chip inschakelen

3) D/C – Selectie van gegevens/opdracht

4) DIN – Seriële ingang

5) CLK – Klokinvoer

6) VCC – 3.3V

7) LICHT - Achtergrondverlichtingsregeling

8) GND – Aarde

Zoals hierboven getoond, sluit arduino aan op LCD 5110 in bovenstaande volgorde met 1-10 K weerstand ertussen.

Hieronder volgen de pin-naar-pin-verbindingen voor LCD 5110 naar Arduino uno

  • CLK - Arduino digitale pin 3
  • DIN - Arduino digitale pin 4
  • D/C - Arduino digitale pin 5
  • RST - Arduino digitale pin 6
  • CE - Arduino digitale pin 7

Verdere "BL"-pin van LCD 5110 kan samen met potentimeter (0-100K) worden gebruikt om de helderheid van LCD te regelen

De bibliotheek die wordt gebruikt voor bovenstaande code is: - Download de PCD8544 van onderstaande link

De integratie van DHT11, temperatuur- en vochtigheidssensor met arduino kan worden bekeken via de volgende link DHT11.

Stap 16: De definitieve montage

De laatste montage
De laatste montage

De laatste stap is om al het bovenstaande bij voorkeur in een doos te monteren, voor de levering heb ik 10000 mAh powerbank gebruikt om zowel de Arduino als Nodemcu van stroom te voorzien.

We kunnen desgewenst ook langdurig gebruik maken van de stopcontactlader.

Aanbevolen: