Inhoudsopgave:
Video: Temperatuur en vochtigheid internetlogger met display met behulp van ESP8266 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Ik wilde een klein project delen waarvan ik denk dat je het leuk zult vinden. Het is een kleine, duurzame internet-enabled temperatuur- en vochtigheids-internetlogger met display. Dit logt in op emoncms.org en optioneel, ofwel lokaal op een Raspberry PI of je eigen emoncms-server. Het beschikt over de LOLIN (voorheen WEMOS) D1 Mini die de ESP8266-kern bevat. Temperatuur- en vochtigheidssensor is de LOLIN DHT 3.0 I2C-sensor. De software is Arduino en natuurlijk open source. Ik heb er nu 7 gebouwd en een maat van mij wil er nog 3.
Ik heb het ingepakt in een "Systema" plastic koffer van 200 ml. Deze zijn in Australië verkrijgbaar voor ~$2. De totale kosten van de componenten, inclusief een USB-microkabel, zijn < $ AU30, dus je zou dit in de VS moeten kunnen bouwen voor ~ $ 20
De volledige componentenlijst is:
- LOLIN DI Mini V3.1.0
- LOLIN DHT Shield 3.0 temperatuur en vochtigheid
- TFT 1.4 Shield V1.0.0 voor WeMos D1
- TFT I2C Connector Shield V1.1.0 voor LOLIN (WEMOS) D1 mini
- TFT-kabel 10P 200mm 20cm voor WEMOS SH1.0 10P dubbele kopkabel
- I2C-kabel 100 mm 10 cm voor LOLIN (WEMOS) SH1.0 4P-kabel met dubbele kop
- Kunststof koffer - SYSTEMA 200ml - in Australië Coles/Woolies/KMart
- USB Micro naar USB-A voedingskabel
Alle actieve componenten kunnen worden gekocht in de LOLIN-winkel op AliExpress.
Gereedschap en diverse hardware
- Soldeerbout. U moet de headers op de schilden solderen
- Kopbouten van 1,5 mm ~ 1 cm lang en passende driver
- 1,5 mm boor of ruimer voor boutgaten
- Ronde vijl of Dremel om gleuf voor kabels te snijden
Stap 1: Montage
Montage is rechttoe rechtaan. Er zijn 2 schilden om te stapelen, maar ik heb liever het D1-schild als het bovenste bord, omdat het uitgangspad voor de USB-kabel rechter en gemakkelijker te organiseren is zodra je het deksel erop klikt.
De D1 komt met 3 kopcombinaties
- Socket en lange pinnen
- Socket en korte pinnen
- Alleen korte pin
Gebruik de lange socket/long pin combinatie voor de DI. Zorg ervoor dat u het met de juiste richting soldeert. Hier is een kleine mal die ik gebruik om de pinnen recht uitgelijnd te krijgen voor het solderen.
Plaats met behulp van een breadboard twee rijen Short Pin-headers in rijen B en I langere pinnen naar beneden. Ze zullen gelijk met het oppervlak gaan. Plaats vervolgens twee rijen socket- en korte pinnen in rijen A en J buiten de korte pin-headers.
U kunt dan de lange pin-headers op de korte pinnen in het bord plaatsen en vervolgens de D1 klaar om te solderen plaatsen. Opmerking: de D1 staat op dit punt ondersteboven. De USB-aansluiting en antennetracering bevinden zich onder het bord. Soldeer de pinnen op het bord. Probeer niet te veel soldeer te gebruiken, aangezien overtollig soldeer onder de D1 naar beneden zal stromen en naar het socketgedeelte van het bord kan gaan. Je vraagt je misschien af waarom ik niet gewoon de korte pin-headers op de D1 heb gebruikt? Ik heb andere plannen, waaronder een realtimeklok en SD-kaart voor tijden waar wifi-toegang niet mogelijk is, dus ik heb gezorgd voor andere schilden die indien nodig kunnen worden gestapeld.
De volgende stap is het solderen van de connectorkaart. Verwijder de socket- en pin-headers van rijen A & J en schuif ze op de nu gesoldeerde D1-pinnen. U kunt nu de connectorafscherming op deze pinnen schuiven. Duw de stopcontacten niet helemaal naar beneden, maar laat ze erop rusten. Reden? Als u te veel soldeer gebruikt, "lont" het naar beneden en wordt uw connector permanent aan de D1 gesoldeerd.
Zorg ervoor dat de connector correct is georiënteerd. Het connectorscherm moet op dit punt ook "ondersteboven" zijn. De pinouts zijn gemarkeerd op elk bord. Zorg ervoor dat ze overeenkomen, d.w.z. de Tx-pin op de D1 bevindt zich direct onder de Tx-pin op de connectorkaart enz. Controleer opnieuw en soldeer de connectorkaart aan de kop.
Het solderen is nu voltooid. Verwijder het bord uit de mal als je het gebruikt. Klem ze samen en controleer opnieuw de oriëntatie. In tegenstelling tot de Arduino Uno-borden, is het mogelijk om één bord 180 graden naar buiten te hebben. Op dit punt kunt u de I2C-kabel van het connectorbord op de DHT aansluiten en de 10-pins TFT-kabel op de TFT. De interne pinnen zijn vrij klein, dus controleer de oriëntatie voordat u ze inbrengt.
Sluit een USB-microkabel aan op de D1 en de achtergrondverlichting van de TFT moet gaan branden. U bent nu klaar om de Arduino-schets te laden.
Stap 2: De firmware laden
Laad de nieuwste Arduino IDE. Ik had 1.8.5 draaien op het moment van het bouwen van dit project.
De IDE moet worden geconfigureerd om de schets voor de WEMOS (ESP8266) te compileren. Om dit te doen, moet u de IDE starten en naar Bestand / Voorkeuren gaan en vervolgens op het pictogram rechts van "Additional Boards Managers URLS" klikken. Er wordt een editor weergegeven. Plak het volgende
arduino.esp8266.com/stable/package_esp8266c…
in de editor en klik op OK en vervolgens op OK om de voorkeureneditor te sluiten. U moet dan de IDE sluiten en opnieuw openen. De Arduino IDE zal dan de vereiste "tool chain" en bibliotheken verbinden en downloaden om schetsen te bouwen en te compileren voor de ESP8266 waarop de D1 is gebaseerd.
Je hebt ook de AdaFruit-bibliotheken nodig voor het TFT-scherm. Deze zijn verkrijgbaar bij
github.com/adafruit/Adafruit-ST7735-Library
& github.com/adafruit/Adafruit-GFX-Library
uitgepakt en opgeslagen in uw bibliothekenmap in uw Arduino-projectenmap. Opmerking: de Github-downloads voegen vaak "-master" toe aan de map, dus het kan zijn dat u ze moet hernoemen.
Je hebt ook de LOLIN/WEMOS DHT 3.0-bibliotheek nodig van:
github.com/wemos/WEMOS_DHT12_Arduino_Library
Download het bestand IoTTemp_basic.ino en plaats het in een Arduino-projectenmap met de naam "IOTTemp_basic".
Open de sketch in de IDE en ga naar Tools / Board en selecteer de "Boards Manager". In "filter uw zoekopdracht" zet u gewoon "D1" en u zou "esp8266 by ESP8266 Community" moeten zien. Klik op "Meer info" en u zou de nieuwste versie moeten kunnen selecteren en "Installeren". De IDE begint dan met het downloaden van de gereedschapsketen en de bijbehorende bibliotheken.
Zodra dit is voltooid, sluit u uw IotTemp aan op uw computer en selecteert u na detectie de poort waarop het apparaat is geïnstalleerd in "tools/port". U bent nu klaar om te compileren en te laden.
Bovenaan de schets moet u enkele variabelen configureren die passen bij uw lokale omgeving
const char* ssid = ""; // Uw lokale WiFi SSID
const char* wachtwoord = ""; // Wachtwoord voor lokaal knooppunt
const char* host = "emoncms.org"; // basis-URL voor EMONCMS-logboekregistratie. Let op GEEN "https://"
const char* APIKEY = "<uw API-sleutel"; // Schrijf API-sleutel van emonCMS
const char* nodeName = "Keuken"; // Beschrijvende naam voor uw knooppunt
Druk op het "vinkje"-pictogram om de code te controleren en als er geen significante fouten zijn, zou u OK moeten zijn om de code naar de D1 te uploaden. Zodra dit is voltooid, duurt het een minuut of twee, je zou nu de TFT moeten zien oplichten met de "TMP" en "R/H" (Relative Vochtigheid) waarden.
Omdat we het EMONCMS-account enz. niet hebben geconfigureerd, ziet u "Verbinding mislukt" met uw hostnaam.
De schets heeft ook een standaard seriële monitor. Maak verbinding met de Arduino seriële monitor, Putty of een ander serieel communicatieprogramma voor meer informatie over wat er in de IoT Temp gebeurt.
Ik sleutel aan de code zodat je mijn laatste code kunt vinden op
github.com/wt29/IoTTemp_basic
Stap 3: Eindmontage
U bent nu klaar om de montage te voltooien. Dit houdt in dat de componenten in de doos worden gemonteerd.
Begin met het monteren van de TFT aan de binnenkant van het deksel. Koppel de D1 los van de stroom en koppel vervolgens de TFT los van de connectorkaart. Bied de TFT aan tot aan het deksel en probeer de TFT zo dicht mogelijk bij de bovenrand van het deksel te plaatsen. Dit geeft u meer ruimte voor het D1/Connector-bord. Ik gebruik een scherpe ruimer om een klein merkteken in het plastic te duwen, verwijder de TFT en ruim dan een klein gaatje op. De montagegaten voor de TFT zijn met 1,5 mm vrij klein. Ik heb een verzameling dopbouten die passen, maar geen passende moeren. Ik duw de kop van de dop vanaf de voorkant, schroef ze door en plastic en dan gebruik ik gewoon hete lijm op lage temperatuur om de TFT aan de bouten te bevestigen.
Monteer de DHT-sensor aan de buitenkant van het deksel. Om de sensor van het schild te scheiden (de "schild" -bevestigingen worden niet gebruikt), draai je de DHT ondersteboven en kerf je de landengte (het dunne stukje) in met een hobbymes. De sensor klikt dan los van het schild.
Bijna de laatste stap is het snijden van een reliëfsleuf in de onderrand van het deksel en de basis om plaats te bieden aan de USB-kabel en aansluiting op de DHT. Ik gebruik een Dremel, maar het kan gemakkelijk een beetje wild worden, dus neem de tijd. De SystemA-doos heeft een siliconen afdichting in het deksel die u niet hoeft te snijden.
Monteer het apparaat in de doos. Een vleugje hete lijm op lage temperatuur onder het verbindingsbord helpt om het in de doos te lokaliseren. Leid de USB- en DHT-kabels uit de sleuf en doe een beetje hete lijm over de bovenkant van de twee kabels.
Bevestig de DHT aan de buitenkant van de doos met een korte bout van 1,5 mm. Gebruik een beetje hete lijm eronder als je wilt - ik doe geen moeite.
Sluit je IOT Temp aan op 5V stroom en bewonder je werk.
Aanbevolen:
Berekening van vochtigheid, druk en temperatuur met behulp van BME280 en Photon Interfacing: 6 stappen
Berekening van vochtigheid, druk en temperatuur met behulp van BME280 en Photon Interfacing. We komen verschillende projecten tegen die temperatuur-, druk- en vochtigheidsbewaking vereisen. We realiseren ons dus dat deze parameters eigenlijk een cruciale rol spelen bij het hebben van een schatting van de werkefficiëntie van een systeem bij verschillende atmosferische cond
Meting van temperatuur en vochtigheid met HDC1000 en Arduino Nano: 4 stappen
Meting van temperatuur en vochtigheid met HDC1000 en Arduino Nano: De HDC1000 is een digitale vochtigheidssensor met geïntegreerde temperatuursensor die een uitstekende meetnauwkeurigheid biedt bij een zeer laag stroomverbruik. Het apparaat meet de vochtigheid op basis van een nieuwe capacitieve sensor. De vochtigheids- en temperatuursensoren zijn fa
Meting van temperatuur en vochtigheid met HDC1000 en Particle Photon: 4 stappen
Meting van temperatuur en vochtigheid met HDC1000 en Particle Photon: De HDC1000 is een digitale vochtigheidssensor met geïntegreerde temperatuursensor die uitstekende meetnauwkeurigheid biedt bij een zeer laag stroomverbruik. Het apparaat meet de vochtigheid op basis van een nieuwe capacitieve sensor. De vochtigheids- en temperatuursensoren zijn fa
Meting van temperatuur en vochtigheid met HDC1000 en Raspberry Pi: 4 stappen:
Meting van temperatuur en vochtigheid met HDC1000 en Raspberry Pi: De HDC1000 is een digitale vochtigheidssensor met geïntegreerde temperatuursensor die een uitstekende meetnauwkeurigheid biedt bij een zeer laag vermogen. Het apparaat meet de vochtigheid op basis van een nieuwe capacitieve sensor. De vochtigheids- en temperatuursensoren zijn fa
Meting van vochtigheid en temperatuur met behulp van HTS221 en Particle Photon: 4 stappen
Vocht- en temperatuurmeting met HTS221 en Particle Photon: HTS221 is een ultracompacte capacitieve digitale sensor voor relatieve vochtigheid en temperatuur. Het bevat een detectie-element en een mixed signal application specific integrated circuit (ASIC) om de meetinformatie te leveren via digitale seriële