Innehållsförteckning:
- Steg 1: Komponenter:
- Steg 2: BASISENSOR: Soil Moisture FC 28
- Steg 3: Förstå MQTT: för fjärrdatapublicering
- Steg 4: MQTT: Konfigurera MQTT -mäklarkonto
- Steg 5: MQTT: Skapa en instans
- Steg 6: MQTT: Instansinformation
- Steg 7: MQTT: Lägga till användare
- Steg 8: MQTT: Tilldela ACL -regel
- Steg 9: Nodemcu: Konfigurera
- Steg 10: Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_1
- Steg 11: Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_II
- Steg 12: Nodemcu: Ladda upp Lua -skript till Nodemcu med ESPlorer_III
- Steg 13: Nodemcu: Konfigurera Arduino för att prata med Nodemcu
- Steg 14: Nodemcu: Konfigurera MQTT -klient i Android
- Steg 15: Ytterligare steg: Arbeta med Nokia LCD 5110
- Steg 16: Slutmonteringen
Video: ÖVERVAKA DIN GARDEN: 16 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Ö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:
- Arduino uno
- Nodemcu
- Temperatur- och luftfuktighetssensor DHT 11
- Jordfuktighetssensor - FC28
- Batteribank 10000mah (för Powering arduino & nodemcu)
- Nokia LCD 5110
- Resitor (5 x 10k, 1 x 330ohms)
- Potentiometer Rotary type (för att justera LCD-ljusstyrka) 0-100K
- Bygelkablar
- Bakbord
Steg 2: BASISENSOR: 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
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
Jag har skapat en instans med namnet "myIOT"
plan: Söt plan
Steg 6: 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
Skapa en användare med namnet “nodemcu_12” och ge ett lösenord
Steg 8: 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
- 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
Steg 12: 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
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
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
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:
Övervaka ett ödelterrarium med hjälp av Adosia IoT WiFi -kontroller + rörelsedetektering: 17 steg (med bilder)
Övervaka ett ödelterrarium med hjälp av Adosia IoT WiFi Controller + Motion Detect: I denna handledning kommer vi att visa dig hur du bygger ett enkelt ödelterrarium för en handfull skinkägg som vi av misstag hittade och störde när vi trädde i trädgården utanför.Vi vill att äggen ska kläckas säkert, så allt vi ska göra är att skapa ett säkert utrymme med hjälp av en plast
Övervaka acceleration med Raspberry Pi och AIS328DQTR med Python: 6 steg
Övervaka acceleration med Raspberry Pi och AIS328DQTR Använda Python: Acceleration är begränsad, tror jag enligt vissa fysiklagar.- Terry Riley En gepard använder fantastisk acceleration och snabba hastighetsförändringar när jagar. Den snabbaste varelsen i land använder då och då sitt högsta tempo för att fånga byten. Den
Övervaka och registrera temperatur med Bluetooth LE och RaspberryPi: 9 steg (med bilder)
Övervaka och registrera temperatur med Bluetooth LE och RaspberryPi: Den här instruerbara handlingen handlar om hur man sätter ihop ett temperaturövervakningssystem med flera noder med Bluetooth LE-sensorbugg från Blue Radios (BLEHome) och RaspberryPi 3B Tack vare utvecklingen av standarden Bluetooth LE finns det nu tillgängligt
Övervaka värmeoljetank gallon med e -post, SMS och Pushbullet -varning: 9 steg (med bilder)
Övervaka värmeoljetank gallon med e -post, SMS och Pushbullet -varning: SÄKERHETSINFORMATION: Om någon vill veta om " detta är säkert att bygga/installera " - Jag har tagit detta till 2 olika oljebolag för feedback/säkerhetsöverväganden, och jag har drivit detta av brandkårens brandpreventiva C
Växthusprojektet (RAS): Övervaka elementen som ska reagera på vår plantage: 18 steg (med bilder)
Växthusprojektet (RAS): Övervaka de element som ska reagera på vår plantage: Detta projekt föreslår att övervaka lufttemperatur, ljusstyrka och luftfuktighet samt lundtemperatur och luftfuktighet. Det föreslår också att ansluta dessa åtgärder som är så läsbara på webbplatsen Actoborad.com För att göra, ansluter vi 4 sensorer till N