Inhoudsopgave:
- Stap 1: Componenten:
- Stap 2: BASISSENSOR: Bodemvocht FC 28
- Stap 3: MQTT begrijpen: voor publiceren op afstand van gegevens
- Stap 4: MQTT: MQTT-makelaarsaccount instellen
- Stap 5: MQTT: een instantie maken
- Stap 6: MQTT: instantie-info
- Stap 7: MQTT: gebruiker toevoegen
- Stap 8: MQTT: ACL-regel toewijzen
- Stap 9: Nodemcu: configureren
- Stap 10: Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_1
- Stap 11: Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_II
- Stap 12: Nodemcu: Lua-scripts uploaden naar Nodemcu met ESPlorer_III
- Stap 13: Nodemcu: de Arduino configureren om met Nodemcu te praten
- Stap 14: Nodemcu: MQTT-client instellen in Android
- Stap 15: Extra stappen: werken met Nokia LCD 5110
- Stap 16: De definitieve montage
Video: BEWAAK UW TUIN: 16 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
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:
- Arduino uno
- Nodemcu
- Temperatuur- en vochtigheidssensor DHT 11
- Bodemvochtsensor - FC28
- Batterijbank 10000mah (voor het aandrijven van arduino & nodemcu)
- Nokia LCD 5110
- Weerstand (5 x 10k, 1 x 330ohm)
- Potentiometer Roterend type (om LCD-helderheid aan te passen) 0-100K
- Doorverbindingsdraden
- Breadboard
Stap 2: BASISSENSOR: 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
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
Ik heb een instantie gemaakt met de naam " myIOT"
plan: Leuk plan
Stap 6: 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
Maak een gebruiker aan met de naam "nodemcu_12" en geef een wachtwoord op
Stap 8: 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
- 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
Stap 12: 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
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
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 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:
IoT ESP8266-serie: 2-Bewaak gegevens via ThingSpeak.com - Ajarnpa
IoT ESP8266-serie: 2-Bewaak gegevens via ThingSpeak.com: dit is deel twee van de IoT ESP8266-serie. Raadpleeg deze instructable IoT ESP8266-serie om deel 1 te zien: 1 Maak verbinding met WIFI-router. Dit deel is bedoeld om u te laten zien hoe u uw sensorgegevens naar een van de populaire gratis IoT-cloudservices kunt sturen https://thingspeak.com
IoT-tuin met Arduino: 3 stappen
IoT-tuin met Arduino: Hallo makers!Dit is een project om uw IoT-tuin te creëren!Je kunt de temperatuur van de kamer aflezen, de pomp bedienen en je planten volgen vanaf je smartphone, zelfs als je niet thuis bent.In mijn setup, de pomp haalt het water uit de
Garduino – de slimme tuin met Arduino: 4 stappen (met afbeeldingen)
Garduino – de slimme tuin met Arduino: tegenwoordig is niemand onschuldig. Is er iemand die niet per ongeluk een plant heeft gedood???Het is moeilijk om je planten in leven te houden. Je koopt een nieuwe plant en in het ergste geval vergeet je hem gewoon water te geven. In het betere geval onthoud je dat het bestaat, maar je doet
Interactieve Magische Tuin: 4 Stappen
Interactieve Magische Tuin: Ik hou echt van planten, maar soms houden planten niet meer van je. Ik ben de slechtste plantenmoeder ooit, dus besloot ik een interactieve tuin te maken. Deze tuin geeft aan wanneer hij water nodig heeft, zodat je dat nooit vergeet. Ik wilde ook de garde
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e