Innehållsförteckning:

ÖVERVAKA DIN GARDEN: 16 steg (med bilder)
ÖVERVAKA DIN GARDEN: 16 steg (med bilder)

Video: ÖVERVAKA DIN GARDEN: 16 steg (med bilder)

Video: ÖVERVAKA DIN GARDEN: 16 steg (med bilder)
Video: Lellow & Saliboy - Första klivet ( Official Video ) 2024, Juli
Anonim
ÖVERVAKA DIN TRÄDGÅRD
ÖVERVAKA DIN TRÄDGÅRD

Övervaka din trädgård var som helst, använd lokal bildskärm för att övervaka markförhållandena lokalt eller använd mobil för att övervaka från fjärrkontrollen. Kretsen använder jordfuktighetssensor, i kombination med temperatur och fuktighet för att göra medveten om jordens omgivande förhållanden.

Steg 1: Komponenter:

  1. Arduino uno
  2. Nodemcu
  3. Temperatur- och luftfuktighetssensor DHT 11
  4. Jordfuktighetssensor - FC28
  5. Batteribank 10000mah (för Powering arduino & nodemcu)
  6. Nokia LCD 5110
  7. Resitor (5 x 10k, 1 x 330ohms)
  8. Potentiometer Rotary type (för att justera LCD-ljusstyrka) 0-100K
  9. Bygelkablar
  10. Bakbord

Steg 2: BASISENSOR: Soil Moisture FC 28

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

För att mäta fukt använder vi jordfuktighetssensorn FC 28, vars grundprincip är enligt följande:-

Specifikationerna för FC-28 jordfuktighetssensor är följande: Ingångsspänning: 3,3-5V

Utgångsspänning: 0 - 4.2V

Ingångsström: 35mA

Utgångssignal: Både analog och digital

Jordfuktighetssensorn FC-28 har fyra stift: VCC: Power

A0: Analog utgång

D0: Digital utgång

GND: mark

Analogt läge För att ansluta sensorn i det analoga läget måste vi använda sensorns analoga utgång. När den analoga utsignalen tas från jordfuktighetssensorn FC-28 ger sensorn oss ett värde från 0 till 1023. Fukten mäts i procent, så vi kommer att kartlägga dessa värden från 0 till 100 och sedan visar vi dessa värden på seriell bildskärm. Du kan ställa in olika intervall för fuktvärdena och slå på eller stänga av vattenpumpen enligt den.

Modulen innehåller också en potentiometer som ställer in tröskelvärdet. Detta tröskelvärde jämförs med LM393 -jämföraren. Utgångs -LED: n tänds upp och ner enligt detta tröskelvärde.

Koden för gränssnitt med jordfuktighetssensorn tas upp i ytterligare steg

Steg 3: Förstå MQTT: för fjärrdatapublicering

Förstå MQTT: för fjärrdatapublicering
Förstå MQTT: för fjärrdatapublicering

Innan vi börjar vidare, låt oss först gå igenom fjärrdatapublicering för IOT

MQTT står för MQ Telemetry Transport. Det är ett publicera/prenumerera, extremt enkelt och lätt meddelandeprotokoll, utformat för begränsade enheter och låg bandbredd, hög latens eller opålitliga nätverk. Designprinciperna är att minimera nätverksbandbredd och enhetens resursbehov samtidigt som de försöker säkerställa tillförlitlighet och viss grad av leveranssäkerhet. Dessa principer visar sig också göra protokollet idealiskt för den framväxande "machine-to-machine" (M2M) eller "Internet of Things" -världen för anslutna enheter och för mobila applikationer där bandbredd och batterikraft är högst.

Källa:

MQTT [1] (MQ Telemetry Transport eller Message Queuing Telemetry Transport) är en ISO-standard (ISO/IEC PRF 20922) [2] publish-subscribe-based messaging protocol. Det fungerar ovanpå TCP/IP -protokollet. Den är utformad för anslutningar med avlägsna platser där ett "litet kodavtryck" krävs eller nätverksbandbredden är begränsad.

Källa:

Steg 4: MQTT: Konfigurera MQTT -mäklarkonto

Det finns olika MQTT -mäklarkonto, för denna handledning har jag använt cloudmqtt (https://www.cloudmqtt.com/)

CloudMQTT hanteras Mosquitto -servrar i molnet. Mosquitto implementerar MQ Telemetry Transport -protokollet, MQTT, som tillhandahåller lätta metoder för att utföra meddelanden med hjälp av en modell för kö/publicering av meddelandekö.

Följande steg måste utföras för att konfigurera cloudmqtt -kontot som mäklare

  • Skapa ett konto och logga in på kontrollpanelen
  • tryck på Skapa+ för att skapa en ny instans
  • För att komma igång måste vi registrera oss för en kundplan, vi kan prova CloudMQTT gratis med planen CuteCat.
  • Efter att ha skapat "instans" är nästa steg att skapa användare och ytterligare tilldela behörighet till användaren för åtkomst till meddelanden (via ACL -regler)

Den fullständiga guiden för att skapa ett MQTT -mäklarkonto i cloudmqtt kan nås genom att följa länken: -

Alla ovanstående steg sätts en efter en i följande bilder

Steg 5: MQTT: Skapa en instans

MQTT: Skapa en instans
MQTT: Skapa en instans

Jag har skapat en instans med namnet "myIOT"

plan: Söt plan

Steg 6: MQTT: Instansinformation

MQTT: Instansinformation
MQTT: Instansinformation

Instansen tillhandahålls omedelbart efter registrering och du kan se instansinformation, till exempel anslutningsinformation, på informationssidan. Du kan också nå Management -gränssnittet därifrån. Ibland måste du använda en ange en anslutningsadress

Steg 7: MQTT: Lägga till användare

MQTT: Lägga till användare
MQTT: Lägga till användare

Skapa en användare med namnet “nodemcu_12” och ge ett lösenord

Steg 8: MQTT: Tilldela ACL -regel

MQTT: Tilldela ACL -regel
MQTT: Tilldela ACL -regel

Efter skapande av ny användare (nodemcu_12) spara den nya användaren, nu ska ytterligare ACL tillhandahållas till den nya användaren. På den bifogade bilden kan jag se att jag har tillhandahållit både läs- och skrivåtkomst till användaren.

Observera: Ämne ska läggas till enligt formatet (detta krävs vidare för att läsa och skriva från nod till MQTT -klient)

Steg 9: Nodemcu: Konfigurera

I detta projekt har jag använt nodemcu från Knewron Technologies, mer information kan erhållas genom att följa länken: -(https://www.dropbox.com/s/73qbh1jfdgkauii/smartWiFi%20Development%20Module%20-%20User% 20Guide.pdf? Dl = 0)

Det kan ses att NodeMCU är en eLua -baserad firmware för ESP8266 WiFi SOC från Espressif. Nodemcu från knowron är förinstallerad med firmware, så vi måste bara ladda appprogramvaran, nämligen: -

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

Alla ovanstående lua -skript kan laddas ner från Github genom att följa länken: Ladda ner från Github

Från ovanstående lua -skript, ändra config.lua -skripten med MQTT -värdnamn, lösenord, wifi ssid etc.

För att ladda ner ovanstående skript till nodemcu måste vi använda ett verktyg som "ESPlorer", se dokument för mer information:

Arbetet med ESPlorer beskrivs i nästa steg

Steg 10: Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_1

Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_1
Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_1
  • Klicka på knappen Uppdatera
  • Välj COM -port (kommunikation) och överföringshastighet (används ofta 9600)
  • Klicka på Öppna

Steg 11: Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_II

Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_II
Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_II

Steg 12: Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_III

Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_III
Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_III

Spara & kompilera -knappen skulle skicka alla fyra lua -skript till nodemcu, efter att denna nodemcu är redo att prata med vår arduino.

Samla in CHIP -ID -informationen:

Varje nodemcu har ett chip -id (förmodligen något nr.), Detta chip -id krävs vidare för att publicera meddelande till MQTT -mäklaren, för att veta om chip -ID, klicka på knappen Chip -ID i "ESPlorer"

Steg 13: Nodemcu: Konfigurera Arduino för att prata med Nodemcu

Nedanstående kod bestämmer markfuktighet, temperatur och luftfuktighet och visar vidare data på Nokia LCD 5110 och seriellt.

Arduino -kod

Än anslut Arduino RX --- Nodemcu TX

Arduino TX --- Nodemcu RX

Ovanstående kod innehåller också sätt att använda softserialbibliotek, genom vilket DO -stift också kan användas för att fungera som seriella stift, jag har använt RX/TX -stift för att ansluta till nodemcu seriell port.

Varning: Eftersom nodemcu fungerar med 3,3V rekommenderas det att använda nivåväxlare, men jag har anslutit direkt utan någon nivåhöjare och prestandan verkar precis rätt för ovanstående applikation.

Steg 14: Nodemcu: Konfigurera MQTT -klient i Android

Nodemcu: Konfigurera MQTT -klient i Android
Nodemcu: Konfigurera MQTT -klient i Android

Det sista steget för att visa informationen på mobilen med Android-klienten:-

Det finns olika MQTT android -applikationer, jag har använt den från Google Play med följande länk:

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

Konfigurationen för Android -appen är ganska enkel och man måste konfigurera följande

  • MQTT -värdadress tillsammans med portnr
  • MQTT användarnamn och adress
  • MQTT -mäklarnodadress

Efter att ha lagt till ovanstående detaljer, anslut programmet, om programmet är anslutet till MQTT -mäklare, visas alla ingångsstatus / seriell kommunikationsdata från arduino som logg.

Steg 15: Ytterligare steg: Arbeta med Nokia LCD 5110

Ytterligare steg: Arbeta med Nokia LCD 5110
Ytterligare steg: Arbeta med Nokia LCD 5110

Följande är stiftkonfigurationen för LCD 5110

1) RST - Återställ

2) CE - Chip Enable

3) D/C - Val av data/kommando

4) DIN - Seriell ingång

5) CLK - Klockingång

6) VCC - 3,3V

7) LIGHT - Bakgrundsbelysningskontroll

8) GND - Jord

Som visas ovan ansluter du arduino till LCD 5110 i ovanstående ordning med 1-10 K motstånd emellan.

Följande är pin -to -pin -anslutningarna för LCD 5110 till Arduino uno

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

Ytterligare "BL" -stift på LCD 5110 kan användas tillsammans med potentimeter (0-100K) för att styra ljusstyrkan på LCD

Biblioteket som används för ovanstående kod är: - Ladda ner PCD8544 från nedan nämnda länk

Integrationen av DHT11, temperatur och fuktighetssensor med arduino kan undersökas från följande länk DHT11.

Steg 16: Slutmonteringen

Den sista sammansättningen
Den sista sammansättningen

Det sista steget är att Montera allt ovan i en låda helst, för matning har jag använt 10000mah powerbank för att driva både Arduino och Nodemcu.

Vi kan också använda vägguttagsladdare under lång tid, om så önskas.

Rekommenderad: