Inhoudsopgave:

IoT-vochtsensor: 12 stappen
IoT-vochtsensor: 12 stappen

Video: IoT-vochtsensor: 12 stappen

Video: IoT-vochtsensor: 12 stappen
Video: 12 Steps to Acing Your Big Interview 2024, November
Anonim
IoT-vochtsensor
IoT-vochtsensor
IoT-vochtsensor
IoT-vochtsensor
IoT-vochtsensor
IoT-vochtsensor

Ik wilde een vochtsensor die me zou laten weten wanneer kamerplanten water nodig hadden. Ik wilde iets dat ik kon gebruiken voor het starten van zaden en voor volwassen kamerplanten. Ik ben altijd bang dat ik ze te veel of te weinig water geef.

Ik heb wat tijd besteed aan het werken aan IoT-software voor Arduino-apparaten, met behulp van de software van andere mensen had ik een redelijk goed idee van de vereisten voor de mijne.

  1. Ik wilde iets dat ik naar meerdere apparaten kon flitsen en via wifi kon configureren. Ik wilde niet elke keer dat ik upload naar een nieuw apparaat een configuratiebestand moeten wijzigen. Ik wilde ook geen inloggegevens of andere bijzonderheden in code hoeven te zetten, omdat ik altijd van plan was deze code te delen.
  2. Ik wilde ook een behoorlijk solide softwareframework dat ik kon aanpassen voor toekomstige projecten. Dit is een vochtsensor. Ik zou een bewegings-/licht-/geluids-/trillings-/kantelsensor kunnen bouwen en ik wilde daarvoor dezelfde software kunnen gebruiken.
  3. Uiteindelijk wilde ik dat dit op batterijen zou werken en als zodanig wilde ik dat het lang mee zou gaan. Ik heb wat tijd besteed aan het uitzoeken van de diepe slaapmodus, waarbij het apparaat het grootste deel van de tijd in een slapende toestand zal doorbrengen.

Benodigdheden

Wemos D1 Mini

Capacitieve vochtsensor

18650 batterij

Positieve en negatieve batterijconnectoren

Schuifschakelaars

Toegang tot een 3D-printer is ook behoorlijk essentieel, hoewel je andere manieren kunt vinden om de onderdelen aan te sluiten en te huisvesten.

Hier is een link naar mijn Thingiverse-post met alle modellen die ik heb gemaakt.

Stap 1: Download de software

Download de software
Download de software

Ik heb mijn software op GITHUB gepubliceerd. Het is gebouwd met behulp van PlatformIO

  1. Volg de instructies op de PlatformIO-website om VSCode en PlatformIO te installeren
  2. Download de firmware van mijn GITHUB-repo. Klik op Klonen of download en download ZIP
  3. Pak de map uit en open deze in VSCode
  4. Sluit de Wemos D1 aan op uw computer via micro-USB
  5. Klik in VSCode op de alien om het PlatformIO-paneel te openen
  6. Klik op Build and Upload om de firmware naar het Wemos-bord te uploaden

Stap 2: Stel een Blynk-project in voor uw sensor om mee te praten

Stel een Blynk-project in voor uw sensor om mee te praten
Stel een Blynk-project in voor uw sensor om mee te praten
Stel een Blynk-project in voor uw sensor om mee te praten
Stel een Blynk-project in voor uw sensor om mee te praten
Stel een Blynk-project in voor uw sensor om mee te praten
Stel een Blynk-project in voor uw sensor om mee te praten
Stel een Blynk-project in voor uw sensor om mee te praten
Stel een Blynk-project in voor uw sensor om mee te praten

Ik heb me gericht op twee soorten services MQTT en Blynk, beide zijn optioneel.

Blynk is een gebruiksvriendelijk en goedkoop IOT-platform. Je kunt apps meestal maken met behulp van de componentcredits die je gratis krijgt. Als je tegoed op is, kun je meer kopen met in-app-aankopen.

  1. Installeer de Blynk-app op je telefoon
  2. Account aanmaken
  3. Een nieuw nieuw project maken
  4. Geef het een naam en kies Wemos D1 als het apparaat
  5. Haal de Blynk-sleutel uit uw e-mail, deze wordt later gebruikt om het apparaat te configureren
  6. Ga je gang en tik ergens op je projectdashboard om een component toe te voegen
  7. Selecteer voorlopig LCD-scherm, maar u kunt dit later wijzigen voor een kaart of andere componenten. Met Blynk kun je componenten recyclen, zodat je je geen zorgen hoeft te maken over het verspillen van credits
  8. Tik op het LCD-scherm en stel de pinnen in. De firmware gebruikt twee virtuele pinnen. Het maakt niet uit welke je gebruikt, als je maar hetzelfde in je app gebruikt als je firmware later

Stap 3: MQTT-service instellen (Home Assistant)

Ik gebruik Home Assistant al voor mijn domotica en ben van plan meldingen in te stellen voor een plant die droog is of een sensor die niet meer meldt (batterij leeg).

Je kunt hier informatie vinden om HA in te stellen als je wilt, of je kunt gewoon een Mosquitto Service voor MQTT opzetten.

In beide gevallen wilt u uw ip-adres, gebruikers-ID en wachtwoord weten.

Als je Home Assistant gebruikt, zet je een sensor op het MQTT-platform, maar je hebt de chipid nodig. De firmware zal een bericht publiceren met het onderwerp [chip-id]/vocht met de waarde van de vochtmeting

Hier is een voorbeeld van een sensorconfiguratie voor Home Assistant

state_topic: "ESP6e4bac/vocht/"

device_class: vochtigheid

Stap 4: Configureer de firmware

Configureer de firmware
Configureer de firmware
  1. Wanneer het bord opnieuw wordt ingesteld, start het een wifi-toegangspunt WifiMoisture
  2. Maak er verbinding mee via je telefoon of computer
  3. Open een browser en navigeer naar 192.168.4.1
  4. U ziet een webformulier
  5. Voeg uw wifi-inloggegevens toe.
  6. U kunt het slaapinterval in minuten instellen, maar ik raad u aan het gewoon op de standaardwaarde te laten staan (het maximum voor uw apparaat)
  7. Blynk Key en/of MQTT-instellingen toevoegen
  8. Druk op verzenden

U kunt Blynk-sleutels en/of MQTT-inloggegevens invoeren, afhankelijk van hoe u het vocht wilt volgen. Het zou met beide moeten werken, maar ik ben van plan om beide te gebruiken.

Ik gebruik Home Assistant voor mijn domotica en zal een waarschuwing instellen op basis van MQTT, maar ik gebruik ook een grafiek in Blynk om dingen realtime bij te houden.

Ik zou adviseren om deze configuratie uit te voeren met het Wemos-apparaat nog steeds aangesloten op uw pc en terwijl de seriële monitor wordt uitgevoerd. Als je iets verkeerd hebt getypt of andere problemen hebt, heb je de seriële uitgang nodig om een diagnose te stellen.

Stap 5: Onderdelen afdrukken

Onderdelen afdrukken
Onderdelen afdrukken

Ga naar mijn Thingiverse-post, haal de onderdelen op en print de nieuwste (v2 op het moment van schrijven).

Niets zou enige ondersteuning nodig hebben, maar zorg ervoor dat de openingen naar boven wijzen, zodat u geen grote overhangende gebieden heeft.

Stap 6: Sluit alles aan

Sluit alles aan
Sluit alles aan

U wilt alles aansluiten voordat u het in de doos plaatst, maar er zijn een paar afgedrukte stukken die u tijdens het aansluiten moet monteren. We zullen dit stap voor stap doen

Stap 7: Begin met de batterij

De batterijconstructie is opgebouwd uit de gedrukte houder, een positieve en negatieve connector, twee zwarte draden en een rode.

Nadat u de batterijhouder hebt afgedrukt, plaatst u de positieve en negatieve connectoren aan beide uiteinden met het lipje dat aan de onderkant uitsteekt.

Draai de batterijhouder om, vouw de lipjes naar buiten en voeg er een beetje soldeer aan toe

Draai de uiteinden van de twee zwarte draden in elkaar en vertin ze met soldeer

Vertin het uiteinde van de rode draad met soldeer

Soldeer vervolgens de zwarte draden aan de negatieve connector (die met de veer) en de rode draad aan de positieve connector.

Vouw tenslotte de lipjes zodat ze plat tegen de zijkant van de batterijhouder zitten.

Stap 8: Monteer de schakelaar

Deze firmware is bedoeld om het meeste uit de batterij te halen met behulp van de chips Deep Sleep-modus.

Het apparaat wordt wakker, neemt een meting en publiceert deze en gaat dan weer slapen. Om de chip zelf wakker te maken wordt er een verbinding gemaakt tussen D0 en RST.

Ik heb de afwezigheid van die verbinding gebruikt om het apparaat te vertellen dat je het wilt (her)configureren. De eerste keer dat u het apparaat startte, ging het naar de configuratiemodus omdat er nog geen configuratie was opgeslagen. Nu dat het geval is, als u ooit die configuratie wilt wijzigen, draait u de schakelaar om en schakelt u de stroom uit of drukt u op de reset-pin.

Ik merkte ook dat ik soms de D0-RST-verbinding moest loskoppelen om een nieuwe versie van de firmware te flashen. Daar werkt de schakelaar ook voor.

De bedrading van de schakelaar is eenvoudig, een kabel aan de ene kant naar de RST-pin en de middelste kabel naar de D0-pin. Schuif voordat u dit gaat solderen het bedrukte schakelblok op de schakelaar.

Stap 9: Soldeer de rest van de verbindingen

Nu de batterijconstructie en het schakelblok zijn aangesloten, is het tijd om alle andere verbindingen aan te sluiten.

  1. Soldeer de rode draad van de batterij naar de 3,5v-pin op de Wemos
  2. Soldeer een van de zwarte draden van de batterij naar de aardingspin op de Wemos
  3. Soldeer een draad met beide uiteinden gestript op de A0-pin. We zullen dit verbinden met de gele draad op de sensor
  4. Soldeer een rode draad met beide uiteinden gestript op de D1-pin op de Wemos. Dit wordt HOOG gezet door de firmware om de sensor van stroom te voorzien

U kunt ook de vrouwelijke header van de sensor afsnijden en deze rechtstreeks op de Wemos solderen. Ik heb dat niet gedaan, maar er is niets mis mee, zolang je niet van plan bent om dit later uit elkaar te halen.

Stap 10: Doe alles in de doos

Stop alles in de doos
Stop alles in de doos
Stop alles in de doos
Stop alles in de doos

Ik heb geprobeerd alles strak te laten passen, maar niet te veel kracht te gebruiken, maar elke afdruk is een beetje anders.

  1. Plaats de Wemos. duw eerst het usb-uiteinde naar binnen. Zorg ervoor dat het mooi op één lijn ligt. Als je het niet goed hebt om in een bocht te komen, zal de achterkant er niet gemakkelijk in gaan.
  2. Plaats vervolgens de sensor. Terwijl de bedrading al is aangesloten, schuift u deze schuin naar binnen en drukt u deze naar beneden als deze in de juiste positie staat. De doos moet de bedradingsbeugel vasthouden.
  3. Werk vervolgens de batterijhouder op zijn plaats. Mogelijk moet u de wanden van de doos een beetje buigen. Maak gebruik van het feit dat één kant ervan open is (in de volgende revisie kan ik beide kanten open maken). Zoek de twee ronde pads op de bodem van de doos en druk de batterijhouder erop.
  4. Plaats ten slotte de schakelaar vanaf de binnenkant van de doos. Schroef de twee 1,7 mm x 8 mm schroeven van buitenaf in en zorg ervoor dat u enige druk uitoefent op het gedrukte schakelblok. De schroeven moeten het bedrukte blok vastgrijpen, maar onthoud dat de bedrukte delen zacht zijn en dat de schroeven de gaten gemakkelijk kunnen strippen.

Zodra alles in de doos zit, duurt het een paar minuten om de draden te ordenen. U kunt ze misschien langs de batterijhouder schuiven, maar afhankelijk van uw draad kunnen de zijkanten zich uitspreiden.

Stap 11: Schakel het in en neem uw eerste metingen

Zorg er ten slotte voor dat de schakelaar is omgedraaid om de D0- en RST-pinnen aan te sluiten en plaats een batterij.

zet het deksel erop en schroef de 6 schroeven erin om het op zijn plaats te houden (of niet het deksel kan gewoon met wrijving vasthouden).

Het apparaat moet meteen een meting uitvoeren, gaan slapen voor de geconfigureerde tijd en dan nog een nemen.

Nu je het hebt uitgevoerd, kun je een grafiek maken in Blynk, een melding instellen in HomeAssistant of een van de andere opties om het vocht te volgen en je planten in leven te houden.

Stap 12: Volgende iteraties

In de toekomst zal ik waarschijnlijk de MQTT-software updaten om meer te zeggen dan alleen de ruwe meting. Een van de blynk-pinnen publiceert een interpretatie, dus die wil ik in ieder geval toevoegen aan MQTT. Ik moet ook de laatste opnemen

Ik ben ook van plan om het leesbereik toe te voegen aan de instellingenpagina of een kalibratiemodus te bouwen. Het idee zou zijn dat u de configuratiepagina gebruikt om deze in de kalibratiemodus te zetten. Vervolgens worden een aantal metingen vrij snel achter elkaar uitgevoerd, waarbij de hoogste als "droog" en de laagste als "nat" wordt aangehouden.

Ik denk ook dat ik het apparaat kleiner kan maken door een kleinere batterij te gebruiken of door een aantal onderdelen op elkaar te stapelen. Er is altijd werk aan het model.

Ten slotte zijn er naast de Wemos D1 Mini nog andere boards die een ingebouwde batterijhouder en/of oplader hebben. Het gebruik hiervan kan wat ruimte besparen en voorkomen dat ik de behuizing later moet openen.

Aanbevolen: