Innholdsfortegnelse:

MONITOR YARDEN: 16 trinn (med bilder)
MONITOR YARDEN: 16 trinn (med bilder)

Video: MONITOR YARDEN: 16 trinn (med bilder)

Video: MONITOR YARDEN: 16 trinn (med bilder)
Video: Kramer: акустические системы GALIL 6-O и Yarden 6-ID на Integrated Systems Russia 2014 2024, Juli
Anonim
Overvåk hagen din
Overvåk hagen din

Overvåk hagen din hvor som helst, bruk lokal skjerm for å overvåke jordforholdene lokalt eller bruk Mobile til å overvåke fra fjernkontrollen. Kretsen bruker jordfuktighetssensor, kombinert med temperatur og fuktighet for å gjøre deg oppmerksom på forholdene i jorden.

Trinn 1: Komponenter:

  1. Arduino uno
  2. Nodemcu
  3. Temperatur- og fuktighetssensor DHT 11
  4. Jordfuktighetssensor - FC28
  5. Batteribank 10000mah (for Powering arduino og nodemcu)
  6. Nokia LCD 5110
  7. Resitor (5 x 10k, 1 x 330ohms)
  8. Potensiometer Roterende type (for å justere LCD-lysstyrken) 0-100K
  9. Jumper ledninger
  10. Brødbrett

Trinn 2: GRUNNFØLGER: Soil Moisture FC 28

BASIC SENSOR: Soil Moisture FC 28
BASIC SENSOR: Soil Moisture FC 28

For å måle fuktighet bruker vi jordfuktighetssensor FC 28, hvor grunnprinsippet er som følger:-

Spesifikasjonene til FC-28 jordfuktighetssensoren er som følger: Inngangsspenning: 3,3-5V

Utgangsspenning: 0 - 4.2V

Inngangsstrøm: 35mA

Utgangssignal: Både analogt og digitalt

Jordfuktighetssensoren FC-28 har fire pinner: VCC: Power

A0: Analog utgang

D0: Digital utgang

GND: Bakken

Analog modus For å koble sensoren til den analoge modusen, må vi bruke den analoge utgangen til sensoren. Når vi tar den analoge utgangen fra jordfuktighetssensoren FC-28, gir sensoren oss en verdi fra 0 til 1023. Fuktigheten måles i prosent, så vi vil kartlegge disse verdiene fra 0 til 100 og deretter vil vi vise disse verdiene på seriell skjerm. Du kan angi forskjellige områder for fuktighetsverdier og slå vannpumpen på eller av i henhold til den.

Modulen inneholder også et potensiometer som angir terskelverdien. Denne terskelverdien vil bli sammenlignet av LM393 -komparatoren. Utgangs -LED -en vil lyse opp og ned i henhold til denne terskelverdien.

Koden for grensesnitt med jordfuktighetssensor tas opp i ytterligere trinn

Trinn 3: Forstå MQTT: for fjerndatapublisering

Forståelse av MQTT: for fjerndatapublisering
Forståelse av MQTT: for fjerndatapublisering

Før vi begynner videre, la oss først gå gjennom fjerndatapublisering for IOT

MQTT står for MQ Telemetry Transport. Det er en publiser/abonner, ekstremt enkel og lett meldingsprotokoll, designet for begrensede enheter og lav båndbredde, høy latens eller upålitelige nettverk. Designprinsippene er å minimere krav til nettverksbåndbredde og enhetsressurser, samtidig som de forsøker å sikre pålitelighet og en viss leveringssikkerhet. Disse prinsippene viser seg også å gjøre protokollen ideell for den nye "machine-to-machine" (M2M) eller "Internet of Things" -verdenen for tilkoblede enheter, og for mobile applikasjoner der båndbredde og batteristrøm er til en fordel.

Kilde:

MQTT [1] (MQ Telemetry Transport or Message Queuing Telemetry Transport) er en ISO-standard (ISO/IEC PRF 20922) [2] publish-subscribe-based messaging protocol. Det fungerer på toppen av TCP/IP -protokollen. Den er designet for tilkoblinger med eksterne steder der det er nødvendig med et "lite kodeavtrykk" eller nettverksbåndbredden er begrenset.

Kilde:

Trinn 4: MQTT: Oppsett av MQTT -meglerkonto

Det er forskjellige MQTT meglerkontoer, for denne opplæringen har jeg brukt cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT er administrerte Mosquitto -servere i skyen. Mosquitto implementerer MQ Telemetry Transport -protokollen, MQTT, som gir lette metoder for å utføre meldinger ved å bruke en modell for å publisere/abonnere på meldingskø.

Følgende trinn må utføres for å sette opp cloudmqtt -kontoen som megler

  • Opprett en konto og logg inn på kontrollpanelet
  • Trykk på Create+ for å opprette en ny forekomst
  • For å komme i gang må vi registrere oss for en kundeplan, vi kan prøve CloudMQTT gratis med planen CuteCat.
  • Etter å ha opprettet "forekomst", er det neste trinnet å opprette bruker og videre tildele brukeren tillatelse til å få tilgang til meldinger (via ACL -regler)

Den komplette guiden for å sette opp MQTT -meglerkonto i cloudmqtt kan nås ved å følge lenken: -

Alle trinnene ovenfor er satt ett etter ett i følgende lysbilder

Trinn 5: MQTT: Opprette en forekomst

MQTT: Opprette en forekomst
MQTT: Opprette en forekomst

Jeg har opprettet en forekomst med navnet "myIOT"

plan: Søt plan

Trinn 6: MQTT: Forekomstinformasjon

MQTT: Forekomstinformasjon
MQTT: Forekomstinformasjon

Forekomsten klargjøres umiddelbart etter registrering, og du kan se forekomstdetaljene, for eksempel tilkoblingsinformasjon, på detaljsiden. Du kan også nå administrasjonsgrensesnittet derfra. Noen ganger må du bruke en spesifisere en tilkoblingsadresse

Trinn 7: MQTT: Legge til bruker

MQTT: Legger til bruker
MQTT: Legger til bruker

Opprett en bruker med navnet “nodemcu_12” og gi et passord

Trinn 8: MQTT: Tilordne ACL -regel

MQTT: Tildele ACL -regel
MQTT: Tildele ACL -regel

Etter opprettelse av ny bruker (nodemcu_12) lagre den nye brukeren, skal ytterligere ACL gis til den nye brukeren. På det vedlagte bildet kan det sees at jeg har gitt både lese- og skrivetilgang til brukeren.

Vær oppmerksom på: Emnet skal legges til som vist i format (dette er videre nødvendig for å lese og skrive fra node til MQTT -klient)

Trinn 9: Nodemcu: Konfigurering

I dette prosjektet har jeg brukt nodemcu fra Knewron Technologies. Mer informasjon kan fås ved å følge lenken: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Det kan sees at NodeMCU er en eLua -basert fastvare for ESP8266 WiFi SOC fra Espressif. Nodemcu fra knowron er forhåndslastet med fastvare, så vi må bare laste inn programvaren, nemlig: -

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

Alle lua -skriptene ovenfor kan lastes ned fra Github ved å følge lenken: Last ned fra Github

Fra lua -skriptene ovenfor, endre config.lua -skriptene med MQTT -vertsnavn, passord, wifi ssid etc.

For å laste ned de ovennevnte skriptene til nodemcu, må vi bruke et verktøy som "ESPlorer". Se dokumentene for mer informasjon:

Arbeid med ESPlorer er beskrevet i neste trinn

Trinn 10: Nodemcu: Last opp Lua -skript til Nodemcu med ESPlorer_1

Nodemcu: Last opp Lua -skript til Nodemcu med ESPlorer_1
Nodemcu: Last opp Lua -skript til Nodemcu med ESPlorer_1
  • Klikk på Oppdater -knappen
  • Velg COM (kommunikasjon) port og overføringshastighet (ofte brukt 9600)
  • Klikk på Åpne

Trinn 11: Nodemcu: Last opp Lua -skript til Nodemcu med ESPlorer_II

Nodemcu: Last opp Lua -skript til Nodemcu med ESPlorer_II
Nodemcu: Last opp Lua -skript til Nodemcu med ESPlorer_II

Trinn 12: Nodemcu: Last opp Lua -skript til Nodemcu med ESPlorer_III

Nodemcu: Laster opp Lua -skript til Nodemcu med ESPlorer_III
Nodemcu: Laster opp Lua -skript til Nodemcu med ESPlorer_III

Lagre og kompiler -knappen vil sende alle de fire lua -skriptene til nodemcu, etter at denne nodemcu er klar til å snakke med arduinoen vår.

Samle informasjon om CHIP -ID:

Hver nodemcu har en chip -ID (sannsynligvis noe nr.), Denne chip -IDen er videre påkrevd for å publisere meldingen til MQTT -megleren, for å vite om chip -ID -en, klikk på knappen Chip -ID i "ESPlorer"

Trinn 13: Nodemcu: Konfigurere Arduino til å snakke med Nodemcu

Koden nedenfor bestemmer jordfuktigheten, temperaturen og fuktigheten og viser videre dataene på Nokia LCD 5110, og serielt.

Arduino -kode

Enn koble Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

Koden ovenfor inneholder også måter å bruke softserial -bibliotek, der DO -pinner også kan brukes til å fungere som serielle pinner, jeg har brukt RX/TX -pinner for å koble til nodemcu seriell port.

Advarsel: Siden nodemcu fungerer med 3,3V, anbefales det å bruke nivåskifter, men jeg har koblet til direkte uten noen nivåskifter og ytelsen virker akkurat passe for ovennevnte applikasjon.

Trinn 14: Nodemcu: Sette opp MQTT -klient i Android

Nodemcu: Sette opp MQTT -klient i Android
Nodemcu: Sette opp MQTT -klient i Android

Det siste trinnet for å se informasjonen på mobil med Android-klient:-

Det finnes en rekke MQTT Android -applikasjoner, jeg har brukt den fra Google Play med følgende lenke:

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

Konfigurasjonen for Android -appen er ganske enkel, og man må konfigurere følgende

  • MQTT -vertsadresse sammen med portnr
  • MQTT brukernavn og adresse
  • MQTT megler node adresse

Etter å ha lagt til detaljene ovenfor, kobler du til programmet, hvis programmet er koblet til MQTT -megler, enn at alle inngangsstatus / seriell kommunikasjonsdata fra arduino vises som logg.

Trinn 15: Ytterligere trinn: Arbeide med Nokia LCD 5110

Ytterligere trinn: Arbeide med Nokia LCD 5110
Ytterligere trinn: Arbeide med Nokia LCD 5110

Følgende er pin -konfigurasjonen for LCD 5110

1) RST - Tilbakestill

2) CE - Chip Enable

3) D/C - Valg av data/kommando

4) DIN - Seriell inngang

5) CLK - Klokkeinngang

6) VCC - 3,3V

7) LIGHT - Bakgrunnsbelysningskontroll

8) GND - Bakken

Som vist ovenfor, koble arduino til LCD 5110 i rekkefølgen ovenfor med 1-10 K motstand i mellom.

Følgende er pin -to -pin -tilkoblinger for 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

Ytterligere "BL" pinne på LCD 5110 kan brukes sammen med potensimeter (0-100K) for å kontrollere lysstyrken på LCD

Biblioteket som brukes for koden ovenfor er: - Last ned PCD8544 fra lenken nedenfor

Integrasjonen av DHT11, temperatur og fuktighetssensor med arduino kan ses på fra følgende lenke DHT11.

Trinn 16: Den siste samlingen

Den siste samlingen
Den siste samlingen

Det siste trinnet er å sette sammen alle de ovennevnte i en eske, fortrinnsvis for forsyning. Jeg har brukt 10000 mah powerbank for å drive både Arduino og Nodemcu.

Vi kan også bruke stikkontaktlader for lang varighet, hvis ønskelig.

Anbefalt: