Indholdsfortegnelse:

OVERVÅG DIN HAVE: 16 trin (med billeder)
OVERVÅG DIN HAVE: 16 trin (med billeder)

Video: OVERVÅG DIN HAVE: 16 trin (med billeder)

Video: OVERVÅG DIN HAVE: 16 trin (med billeder)
Video: Derfor kan hestehuller være livsfarlige 2024, Juli
Anonim
OVERVÅG DIN HAVE
OVERVÅG DIN HAVE

Overvåg din have hvor som helst, brug lokal skærm til at overvåge jordforholdene lokalt eller brug Mobile til at overvåge fra fjernbetjening. Kredsløbet bruger jordfugtighedsføler, kombineret med temperatur og fugtighed til at gøre opmærksom på jordens omgivende forhold.

Trin 1: Komponenter:

  1. Arduino uno
  2. Nodemcu
  3. Temperatur- og fugtighedsføler DHT 11
  4. Jordfugtighedssensor - FC28
  5. Batteribank 10000mah (til strømforsyning af arduino og nodemcu)
  6. Nokia LCD 5110
  7. Resitor (5 x 10k, 1 x 330ohms)
  8. Potentiometer Rotary type (til justering af LCD-lysstyrke) 0-100K
  9. Jumper ledninger
  10. Brødbræt

Trin 2: GRUNDLÆGGENDE SENSOR: Soil Moisture FC 28

GRUNDLÆGGENDE SENSOR: Soil Moisture FC 28
GRUNDLÆGGENDE SENSOR: Soil Moisture FC 28

For at måle fugt bruger vi jordfugtighedsføler FC 28, hvis grundprincip er som følger:-

Specifikationerne for FC-28 jordfugtighedsføler er som følger: Indgangsspænding: 3,3-5V

Udgangsspænding: 0 - 4.2V

Indgangsstrøm: 35mA

Output Signal: Både analogt og digitalt

FC-28 jordfugtighedsføleren har fire ben: VCC: Power

A0: Analog udgang

D0: Digital udgang

GND: Jord

Analog tilstand For at forbinde sensoren i den analoge tilstand skal vi bruge sensorens analoge udgang. Når vi tager det analoge output fra jordfugtighedsføleren FC-28, giver sensoren os en værdi fra 0 til 1023. Fugtigheden måles i procent, så vi kortlægger disse værdier fra 0 til 100, og derefter viser vi disse værdier på den serielle skærm. Du kan indstille forskellige områder af fugtværdierne og tænde eller slukke vandpumpen i henhold til den.

Modulet indeholder også et potentiometer, som indstiller tærskelværdien. Denne tærskelværdi vil blive sammenlignet af LM393 -komparatoren. Udgangs -LED'en lyser op og ned i henhold til denne tærskelværdi.

Koden til grænseflade med jordfugtighedssensor tages op i yderligere trin

Trin 3: Forståelse af MQTT: for fjerndatapublicering

Forståelse af MQTT: til fjerndatapublicering
Forståelse af MQTT: til fjerndatapublicering

Inden vi begynder videre, lad os først gå igennem fjerndatapublicering for IOT

MQTT står for MQ Telemetry Transport. Det er en publicer/abonner, ekstremt enkel og let beskedprotokol, designet til begrænsede enheder og lav båndbredde, høj latenstid eller upålidelige netværk. Designprincipperne er at minimere netværksbåndbredde og krav til enhedsressourcer, samtidig med at de forsøger at sikre pålidelighed og en vis grad af leveringssikkerhed. Disse principper viser sig også at gøre protokollen ideel til den nye "maskine-til-maskine" (M2M) eller "tingenes internet" verden med tilsluttede enheder og til mobile applikationer, hvor båndbredde og batteristrøm er til en overkommelig pris.

Kilde:

MQTT [1] (MQ Telemetry Transport eller Message Queuing Telemetry Transport) er en ISO-standard (ISO/IEC PRF 20922) [2] publish-subscribe-baseret meddelelsesprotokol. Det fungerer oven på TCP/IP -protokollen. Det er designet til forbindelser med fjerntliggende steder, hvor der kræves et "lille kodefodaftryk", eller netværksbåndbredden er begrænset.

Kilde:

Trin 4: MQTT: Opsætning af MQTT -mæglerkonto

Der er forskellige MQTT -mæglerkonti, til denne vejledning har jeg brugt cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT administreres Mosquitto -servere i skyen. Mosquitto implementerer MQ Telemetry Transport -protokollen, MQTT, som giver lette metoder til at udføre beskeder ved hjælp af en model til kø/offentliggørelse af meddelelseskø.

Følgende trin skal udføres for at oprette cloudmqtt -kontoen som mægler

  • Opret en konto, og log ind på kontrolpanelet
  • tryk på Opret+ for at oprette en ny forekomst
  • For at komme i gang skal vi tilmelde dig en kundeplan, vi kan prøve CloudMQTT gratis med planen CuteCat.
  • Efter oprettelse af "forekomst" er det næste trin at oprette bruger og yderligere tildele brugeren tilladelse til at få adgang til meddelelser (via ACL -regler)

Den komplette guide til oprettelse af MQTT -mæglerkonto i cloudmqtt kan fås ved at følge linket: -

Alle ovenstående trin sættes en efter en i følgende dias

Trin 5: MQTT: Oprettelse af en instans

MQTT: Oprettelse af en instans
MQTT: Oprettelse af en instans

Jeg har oprettet en instans med navnet "myIOT"

plan: Sød plan

Trin 6: MQTT: Forekomstoplysninger

MQTT: Forekomstoplysninger
MQTT: Forekomstoplysninger

Forekomsten klargøres straks efter tilmelding, og du kan se forekomstoplysningerne, f.eks. Forbindelsesoplysninger, på detaljesiden. Du kan også nå Management -grænsefladen derfra. Nogle gange skal du bruge en angiv en forbindelses -URL

Trin 7: MQTT: Tilføjelse af bruger

MQTT: Tilføjelse af bruger
MQTT: Tilføjelse af bruger

Opret en bruger med navnet “nodemcu_12” og angiv en adgangskode

Trin 8: MQTT: Tildeling af ACL -regel

MQTT: Tildeling af ACL -regel
MQTT: Tildeling af ACL -regel

Efter oprettelse af ny bruger (nodemcu_12) gem den nye bruger, skal der nu leveres yderligere ACL til den nye bruger. På det vedhæftede billede kan det ses, at jeg har givet både læse- og skriveadgang til brugeren.

Bemærk: Emne tilføjes som vist i format (dette er yderligere påkrævet for at læse og skrive fra node til MQTT -klient)

Trin 9: Nodemcu: Konfiguration

I dette særlige projekt har jeg brugt nodemcu fra Knewron Technologies, flere oplysninger kan fås ved at følge linket: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Det kan ses, at NodeMCU er en eLua -baseret firmware til ESP8266 WiFi SOC fra Espressif. Nodemcu fra knowron er forudindlæst med firmware, så vi skal bare indlæse appsoftwaren, nemlig: -

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

Alle ovenstående lua -scripts kan downloades fra Github ved at følge linket: Download fra Github

Fra ovenstående lua -scripts skal du ændre config.lua -scripts med MQTT -værtsnavn, adgangskode, wifi ssid osv.

For at downloade ovenstående scripts til nodemcu, er vi nødt til at bruge et værktøj som "ESPlorer", se dokumenter for mere information:

Arbejde med ESPlorer er beskrevet i næste trin

Trin 10: Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_1

Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_1
Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_1
  • Klik på knappen Opdater
  • Vælg COM (kommunikation) port og baudrate (Almindeligt brugt 9600)
  • Klik på Åbn

Trin 11: Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_II

Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_II
Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_II

Trin 12: Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_III

Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_III
Nodemcu: Upload af Lua -scripts til Nodemcu med ESPlorer_III

Gem & kompilér -knappen ville sende alle de fire lua -scripts til nodemcu, efter at denne nodemcu er klar til at tale med vores arduino.

Indsamling af oplysninger om CHIP ID:

Hver nodemcu har et chip -id (sandsynligvis noget nr.), Dette chip -id er yderligere påkrævet for at offentliggøre meddelelse til MQTT -mægleren, for at vide om chip -id'et skal du klikke på knappen Chip -id i "ESPlorer"

Trin 13: Nodemcu: Konfiguration af Arduino til at tale med Nodemcu

Nedenstående kode bestemmer jordens fugtighed, temperatur og fugtighed og viser yderligere data på Nokia LCD 5110 og serielt.

Arduino kode

End tilslut Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

Ovenstående kode indeholder også måder at bruge softserial bibliotek, hvor DO -ben også kan bruges til at fungere som serielle ben, jeg har brugt RX/TX -ben til at oprette forbindelse til nodemcu seriel port.

Forsigtig: Da nodemcu fungerer med 3,3V, anbefales det at bruge niveauskifter, men jeg har tilsluttet mig direkte uden nogen niveauskift, og ydeevnen virker perfekt til ovenstående anvendelse.

Trin 14: Nodemcu: Opsætning af MQTT -klient i Android

Nodemcu: Opsætning af MQTT -klient i Android
Nodemcu: Opsætning af MQTT -klient i Android

Det sidste trin til visning af oplysningerne på mobilen med Android-klient:-

Der er forskellige MQTT Android -applikationer, jeg har brugt den fra Google Play med følgende link:

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

Konfigurationen til Android -appen er ganske enkel, og man skal konfigurere følgende

  • MQTT -værtsadresse sammen med portnr
  • MQTT brugernavn og adresse
  • MQTT -mæglernodeadresse

Efter at have tilføjet ovenstående oplysninger, skal du forbinde applikationen, hvis applikationen er forbundet til MQTT -mægler, end alle inputstatus / seriel kommunikationsdata fra arduino vises som log.

Trin 15: Yderligere trin: Arbejde med Nokia LCD 5110

Yderligere trin: Arbejde med Nokia LCD 5110
Yderligere trin: Arbejde med Nokia LCD 5110

Følgende er stiftkonfigurationen til LCD 5110

1) RST - Nulstil

2) CE - Chip aktiveret

3) D/C - Valg af data/kommando

4) DIN - Seriel indgang

5) CLK - Urindgang

6) VCC - 3,3V

7) LIGHT - Kontrol af baggrundsbelysning

8) GND - Jord

Som vist ovenfor tilslut arduino til LCD 5110 i ovenstående rækkefølge med 1-10 K modstand imellem.

Følgende er pin til pin -forbindelser til LCD 5110 til Arduino uno

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

Yderligere "BL" pin på LCD 5110 kan bruges sammen med potentimeter (0-100K) til at styre lysstyrken på LCD

Biblioteket, der bruges til ovenstående kode, er: - Download PCD8544 fra nedenstående link

Integrationen af DHT11, temperatur og fugtighedsføler med arduino kan undersøges fra følgende link DHT11.

Trin 16: Den sidste samling

Den sidste samling
Den sidste samling

Det sidste trin er at samle alt det ovenstående i en boks, helst til forsyning, jeg har brugt 10000mah powerbank til at drive både Arduino og Nodemcu.

Vi kan også bruge en stikkontaktlader til lang varighed, hvis det ønskes.

Anbefalede: