Hoe een Comfort Monitoring Sensor Station te bouwen: 10 stappen (met afbeeldingen)
Hoe een Comfort Monitoring Sensor Station te bouwen: 10 stappen (met afbeeldingen)
Anonim
Hoe een comfortbewakingssensorstation te bouwen
Hoe een comfortbewakingssensorstation te bouwen
Hoe een comfortbewakingssensorstation te bouwen
Hoe een comfortbewakingssensorstation te bouwen
Hoe een comfortbewakingssensorstation te bouwen
Hoe een comfortbewakingssensorstation te bouwen
Hoe een comfortbewakingssensorstation te bouwen
Hoe een comfortbewakingssensorstation te bouwen

Deze instructable beschrijft het ontwerp en de constructie van een zogenaamd Comfort Monitoring Station CoMoS, een gecombineerd sensorapparaat voor omgevingscondities, dat is ontwikkeld op de afdeling Bouwkunde van de TUK, Technische Universität Kaiserslautern, Duitsland.

CoMoS gebruikt een ESP32-controller en sensoren voor luchttemperatuur en relatieve vochtigheid (Si7021), luchtsnelheid (windsensor rev. C van Modern Device) en wereldtemperatuur (DS18B20 in een zwarte bol), alles in een compacte, gemakkelijk te bouwkoffer met visuele feedback via een LED-indicator (WS2812B). Bovendien wordt een verlichtingssterktesensor (BH1750) meegeleverd om de lokale visuele toestand te analyseren. Alle sensorgegevens worden periodiek uitgelezen en via Wi-Fi naar een databaseserver gestuurd, van waaruit deze kan worden gebruikt voor monitoring en controle.

De motivatie achter deze ontwikkeling is om een goedkoop maar zeer krachtig alternatief te krijgen voor laboratoriumsensorapparaten, die doorgaans een prijs hebben van meer dan € 3000. CoMoS daarentegen gebruikt hardware met een totale prijs van rond de € 50 en kan daarom volledig worden ingezet in (kantoor)gebouwen voor realtime bepaling van de individuele thermische en visuele toestand op elke afzonderlijke werkplek of gebouwdeel.

Kijk voor meer informatie over ons onderzoek en het verbonden werk op de afdeling op de officiële Living Lab smart office space website of neem direct contact op met de corresponderende auteur via LinkedIn. Alle auteurscontacten worden vermeld aan het einde van dit instructable.

Structurele opmerking: deze instructable beschrijft de oorspronkelijke opzet van CoMoS, maar biedt ook informatie en instructies voor een paar variaties die we onlangs hebben ontwikkeld: naast de originele behuizing die is opgebouwd uit standaardonderdelen, is er ook een 3D-geprinte optie. En naast het originele apparaat met databaseserververbinding, is er een alternatieve stand-alone versie met SD-kaartopslag, geïntegreerd wifi-toegangspunt en een mooie mobiele app om de sensormetingen te visualiseren. Controleer de opties die zijn gemarkeerd in de overeenkomstige hoofdstukken en de stand-alone optie in het laatste hoofdstuk.

Persoonlijke opmerking: dit is de eerste instructable van de auteur en omvat een vrij gedetailleerde en complexe installatie. Aarzel niet om contact op te nemen via het opmerkingengedeelte van deze pagina, per e-mail of via LinkedIn, als er details of informatie ontbreken tijdens de stappen.

Stap 1: Achtergrond – Thermisch en visueel comfort

Achtergrond – Thermisch en visueel comfort
Achtergrond – Thermisch en visueel comfort
Achtergrond – Thermisch en visueel comfort
Achtergrond – Thermisch en visueel comfort

Thermisch en visueel comfort zijn steeds belangrijkere onderwerpen geworden, vooral in kantoor- en werkplekomgevingen, maar ook in de woonsector. De grootste uitdaging op dit gebied is dat de thermische beleving van individuen vaak zeer uiteenlopend is. De ene persoon kan het warm hebben in een bepaalde thermische toestand, terwijl een andere persoon het koud heeft in dezelfde. Dat komt omdat de individuele thermische perceptie wordt beïnvloed door vele factoren, waaronder de fysieke factoren van luchttemperatuur, relatieve vochtigheid, luchtsnelheid en stralingstemperatuur van omringende oppervlakken. Maar ook kleding, metabolische activiteit en een individueel aspect van leeftijd, geslacht, lichaamsgewicht en meer beïnvloeden de thermische waarneming.

Hoewel de individuele factoren een onzekerheid blijven in termen van verwarmings- en koelingsregelingen, kunnen de fysieke factoren nauwkeurig worden bepaald door sensorapparaten. Luchttemperatuur, relatieve vochtigheid, luchtsnelheid en aardboltemperatuur kunnen worden gemeten en gebruikt als directe invoer voor gebouwbesturingen. Verder kunnen ze, in een meer gedetailleerde benadering, worden gebruikt als invoer om de zogenaamde PMV-index te berekenen, waarbij PMV staat voor Predicted Mean Vote. Het beschrijft hoe mensen gemiddeld hun thermische sensatie zouden beoordelen onder bepaalde omgevingscondities in de ruimte. PMV kan waarden aannemen van -3 (koud) tot +3 (warm), waarbij 0 een neutrale toestand is.

Waarom noemen we dat PMV-ding hier? Nou, omdat het op het gebied van persoonlijk comfort een veelgebruikte index is die als kwaliteitscriterium kan dienen voor de thermische situatie in een gebouw. En met CoMoS kunnen alle omgevingsparameters die nodig zijn voor de PMV-berekening worden gemeten.

Als je geïnteresseerd bent, lees dan meer over thermisch comfort, de context van de aardbol en de gemiddelde stralingstemperatuur, de PMV-index en de implementerende ASHRAE-standaard op

Wikipedia: Thermisch comfort

ISO 7726 Ergonomie van de thermische omgeving

ASHRAE NPO

Overigens: er zijn al lang bestaande, maar ook volop nieuw ontwikkelde snufjes op het gebied van gepersonaliseerde omgevingen om individueel thermisch en visueel comfort te bieden. Kleine desktopventilatoren zijn een bekend voorbeeld. Maar ook voetenwarmers, verwarmde en geventileerde stoelen of kantoorwanden voor IR-stralingsverwarming en -koeling worden ontwikkeld of zijn zelfs al op de markt verkrijgbaar. Al deze technologieën beïnvloeden de lokale thermische toestand, bijvoorbeeld op een werkplek, en ze kunnen ook automatisch worden aangestuurd op basis van lokale sensorgegevens, zoals geïllustreerd in de afbeeldingen van deze stap.

Meer informatie over de gadgets van een gepersonaliseerde omgeving en het lopende onderzoek is beschikbaar op

Living Lab slimme kantoorruimte: gepersonaliseerde omgeving

Universiteit van California, Berkeley

ZEN-rapport over persoonlijke verwarmings- en koelapparaten [PDF]

SBRC Universiteit van Wollongong

Stap 2: Systeemschema

Systeemschema
Systeemschema
Systeemschema
Systeemschema

Een van de belangrijkste doelen in het ontwikkelingsproces was het creëren van een draadloos, compact en goedkoop sensorapparaat voor het meten van de omgevingscondities binnenshuis van ten minste tien individuele werkplekken in een bepaalde open kantoorruimte. Daarom maakt het station gebruik van een ESP32-WROOM-32 met ingebouwde WiFi-connectiviteit en met een grote verscheidenheid aan connectorpinnen en ondersteunde bustypen voor allerlei soorten sensoren. De sensorstations gebruiken een aparte IoT-WiFi en sturen hun meetwaarden naar een MariaDB-database via een PHP-script dat op de databaseserver draait. Optioneel kan ook een gebruiksvriendelijke grafische grafische output van Grafana worden geïnstalleerd.

Het bovenstaande schema toont de opstelling van alle perifere componenten als een overzicht van de systeemconfiguratie, maar dit instructable richt zich op het sensorstation zelf. Natuurlijk worden het PHP-bestand en een beschrijving van de SQL-verbinding later ook opgenomen om alle benodigde informatie te verstrekken om CoMoS te bouwen, te verbinden en te gebruiken.

Opmerking: aan het einde van deze instructable vindt u instructies voor het bouwen van een alternatieve stand-alone versie van CoMoS met SD-kaartopslag, intern WiFi-toegangspunt en een web-app voor mobiele apparaten.

Stap 3: Bevoorradingslijst

Voorraadlijst
Voorraadlijst
Voorraadlijst
Voorraadlijst

Elektronica

Sensoren en controller, zoals op de foto:

  • ESP32-WROOM-32 microcontroller (espressif.com) [A]
  • Si7021 of GY21 temperatuur- en vochtigheidssensor (adafruit.com) [B]
  • DS18B20+ temperatuursensor (adafruit.com) [C]
  • Rev C. luchtsnelheidssensor (moderndevice.com) [D]
  • WS2812B 5050 status-LED (adafruit.com) [E]
  • BH1750 verlichtingssterktesensor (amazon.de) [F]

Meer elektrische onderdelen:

  • 4, 7k pull-up weerstand (adafruit.com)
  • 0, 14 mm² (of vergelijkbaar) standaard draad (adafruit.com)
  • 2x Wago compacte koppelstukken (wago.com)
  • Micro-USB-kabel (sparkfun.com)

Behuizingsonderdelen (Vind meer gedetailleerde informatie over deze onderdelen en maten in de volgende stap. Als je een 3D-printer beschikbaar hebt, heb je alleen een tafeltennisbal nodig. Sla de volgende stap over en vind alle informatie en bestanden om af te drukken in stap 5.)

  • Acrylaat bord rond 50x4 mm [1]
  • Staalplaat rond 40x10 mm [2]
  • Acrylbuis 50x5x140 mm [3]
  • Acrylaat bord rond 40x5 mm [4]
  • Acrylbuis 12x2x50 mm [5]
  • Tafeltennisbal [6]

Diversen

  • Witte verfspray
  • Zwarte matte verfspray
  • wat band
  • Een beetje isolatiewol, een wattenschijfje of iets dergelijks

Gereedschap

  • Boormachine
  • 8 mm staalboor
  • 6 mm hout/kunststof boor
  • 12 mm hout/kunststof boor
  • Dunne handzaag
  • Schuurpapier
  • Draadkniptang
  • Draadstripper
  • Soldeerbout en tin
  • Power-lijm of heet lijmpistool

Software en bibliotheek

  • Arduino-IDE (1.8.5)
  • ESP32 Core-bibliotheek
  • BH1750FVI-bibliotheek
  • Adafruit_Si7021 bibliotheek (1.0.1)
  • Adafruit_NeoPixel-bibliotheek (1.1.6)
  • DallasTemperature-bibliotheek (3.7.9)
  • OneWire-bibliotheek (2.3.3)

Stap 4: Case-ontwerp en constructie - Optie 1

Kastontwerp en constructie - Optie 1
Kastontwerp en constructie - Optie 1
Kastontwerp en constructie - Optie 1
Kastontwerp en constructie - Optie 1
Ontwerp en constructie van de behuizing - Optie 1
Ontwerp en constructie van de behuizing - Optie 1

Het ontwerp van CoMoS heeft een slanke, verticale behuizing met de meeste sensoren in het bovenste gedeelte, met alleen de temperatuur- en vochtigheidssensor onderaan. De sensorposities en -opstellingen volgen specifieke vereisten van de gemeten variabelen:

  • De Si7021 temperatuur- en vochtigheidssensor is buiten de behuizing gemonteerd, vlakbij de onderkant, om vrije luchtcirculatie rond de sensor mogelijk te maken en om de invloed van afvalwarmte die door de microcontroller in de behuizing wordt ontwikkeld, te minimaliseren.
  • De BH1750-verlichtingssterktesensor is op de platte bovenkant van de behuizing gemonteerd om de verlichting op een horizontaal oppervlak te meten, zoals vereist door algemene normen voor werkplekverlichting.
  • De Rev. C windsensor is ook in de bovenkant van de behuizing gemonteerd, met de elektronica verborgen in de behuizing, maar de tanden, die de eigenlijke thermische anemometer en temperatuursensor dragen, blootgesteld aan de lucht rond de bovenkant.
  • De DS18B20-temperatuursensor is helemaal bovenaan het station gemonteerd, in een zwart geverfde tafeltennisbal. De positie bovenaan is nodig om de zichtfactoren en daarmee de stralingsinvloed van het sensorstation zelf op de globetemperatuurmeting te minimaliseren.

Aanvullende bronnen over de gemiddelde stralingstemperatuur en het gebruik van zwarte tafeltennisballen als globetemperatuursensoren zijn:

Wang, Shang & Li, Yuguo. (2015). Geschiktheid van acryl- en koperbolthermometers voor dagelijkse buitenomgevingen. Gebouw en Milieu. 89. 10.1016/j.buildenv.2015.03.002.

de Beste, Richard. (1987). Pingpong globethermometers voor gemiddelde stralingstemperatuur. H & Eng.,. 60. 10-12.

De behuizing is eenvoudig ontworpen om de productietijd en -inspanning zo laag mogelijk te houden. Het kan eenvoudig worden opgebouwd uit standaard onderdelen en componenten met slechts een paar eenvoudige hulpmiddelen en vaardigheden. Of, voor degenen die het geluk hebben een 3D-printer tot hun dienst te hebben, kunnen alle onderdelen van de behuizing ook 3D-geprint worden. Voor het printen van de case kan de rest van deze stap worden overgeslagen en alle benodigde bestanden en instructies zijn te vinden in de volgende stap.

Voor de opbouw uit standaard onderdelen worden voor de meeste inbouwmaten gekozen:

  • Het hoofdlichaam is een acryl (PMMA) buis met een buitendiameter van 50 mm, een wanddikte van 5 mm en een hoogte van 140 mm.
  • De bodemplaat, die dient als lichtgeleider voor de status-LED, is een ronde acrylplaat van 50 mm diameter en een dikte van 4 mm.
  • Een stalen ronde met een diameter van 40 mm en een dikte van 10 mm is geïnstalleerd als een gewicht bovenop de bodemplaat en past in het onderste uiteinde van de buis van het hoofdlichaam om te voorkomen dat het station omvalt en om de bodemplaat vast te houden in situ.
  • De bovenplaat past ook in de buis van het hoofdlichaam. Het is gemaakt van PMMA en heeft een diameter van 40 mm en een dikte van 5 mm.
  • Ten slotte is de bovenste stijgbuis ook PMMA met een buitendiameter van 10 mm, een wanddikte van 2 mm en een lengte van 50 mm.

Het fabricage- en montageproces is eenvoudig, te beginnen met enkele gaten om te boren. De stalen ronde heeft een doorlopend gat van 8 mm nodig om de LED en kabels te passen. De buis van de hoofdbehuizing heeft ongeveer 6 mm gaten nodig, als kabeldoorvoer voor de USB- en sensorkabels en als ventilatiegaten. Het aantal en de posities van de gaten kunnen naar eigen voorkeur worden gevarieerd. De keuze van de ontwikkelaars is zes gaten aan de achterkant, dicht bij de boven- en onderkant, en twee aan de voorkant, één boven, weer één onderkant, als referentie.

De bovenplaat is het meest lastige onderdeel. Het heeft een gecentreerd, recht en doorlopend geheel van 12 mm nodig om in de bovenste stijgbuis te passen, een ander niet-gecentreerd gat van 6 mm om in de verlichtingssensorkabel te passen, en een dunne spleet van ongeveer 1, 5 mm breed en 18 mm lang om op de wind te passen sensor. Zie de foto's ter referentie. En tot slot heeft de tafeltennisbal ook nog een geheel van 6 mm nodig voor de globe temperatuursensor en kabel.

In de volgende stap moeten alle PMMA-onderdelen, behalve de bodemplaat, worden gespoten, de referentie is wit. De tafeltennisbal moet matzwart worden geverfd om zijn geschatte thermische en optische eigenschappen vast te stellen.

De stalen ronde is gecentreerd en vlak op de bodemplaat gelijmd. De bovenste stijgbuis wordt in het 12 mm gat van de bovenplaat gelijmd. De tafeltennisbal is aan het bovenste uiteinde van de stijgbuis gelijmd, waarbij het gat overeenkomt met de binnenopening van de stijgbuis, zodat de temperatuursensor en kabel achteraf door de stijgbuis naar de bal kunnen worden gestoken.

Als deze stap is voltooid, zijn alle delen van de behuizing klaar om te worden gemonteerd door ze in elkaar te zetten. Als sommige te strak zitten, schuur ze dan een beetje, als ze te los zitten, voeg dan een dunne laag tape toe.

Stap 5: Case-ontwerp en constructie - Optie 2

Ontwerp en constructie van de behuizing - Optie 2
Ontwerp en constructie van de behuizing - Optie 2
Ontwerp en constructie van de behuizing - Optie 2
Ontwerp en constructie van de behuizing - Optie 2
Ontwerp en constructie van de behuizing - Optie 2
Ontwerp en constructie van de behuizing - Optie 2

Hoewel optie 1 van het bouwen van de CoMoS-behuizing nog steeds snel en eenvoudig is, is het misschien nog eenvoudiger om een 3D-printer het werk te laten doen. Ook voor deze optie is de behuizing verdeeld in drie delen, boven, behuizing en onderkant, om eenvoudige bedrading en montage mogelijk te maken, zoals beschreven in de volgende stap.

De bestanden en verdere informatie over printerinstellingen vindt u op Thingiverse:

CoMoS-bestanden op Thingiverse

Het wordt ten zeerste aanbevolen om de instructies te volgen voor het gebruik van wit filament voor de boven- en behuizingsdelen. Dit voorkomt dat de behuizing te snel opwarmt in zonlicht en voorkomt foutieve metingen. Voor het onderste deel moet transparant filament worden gebruikt om LED-indicatorverlichting mogelijk te maken.

Een andere variatie op optie 1 is dat de metalen ronde ontbreekt. Om te voorkomen dat CoMoS omvalt, moet elk soort gewicht, zoals lagerkogels of een stel metalen ringen, in/op het transparante onderste gedeelte worden geplaatst. Het is ontworpen met een rand eromheen om te passen en wat gewicht vast te houden. Als alternatief kan CoMoS met dubbelzijdig plakband op de plaats van installatie worden geplakt.

Opmerking: de Thingiverse-map bevat bestanden voor een micro SD-kaartlezerbehuizing die op de CoMoS-behuizing kan worden gemonteerd. Deze case is optioneel en maakt deel uit van de zelfstandige versie die wordt beschreven in de laatste stap van dit instructable.

Stap 6: bedrading en montage

Bedrading en montage
Bedrading en montage
Bedrading en montage
Bedrading en montage
Bedrading en montage
Bedrading en montage
Bedrading en montage
Bedrading en montage

De ESP, sensoren, LED en USB-kabel zijn gesoldeerd en aangesloten volgens het schematische circuit dat wordt getoond in de afbeeldingen van deze stap. De PIN-toewijzing die overeenkomt met de later beschreven voorbeeldcode is:

  • 14 - Reset brug (EN) - [grijs]
  • 17 - WS2811 (LED) - [groen]
  • 18 - pullup-weerstand voor DS18B20+
  • 19 - DS18B20+ (één draad) - [paars]
  • 21 - BH1750 & SI7021 (SDA) - [blauw]
  • 22 - BH1750 & SI7021 (SCL) - [geel]
  • 25 - BH1750 (V-in) - [bruin]
  • 26 - SI7021 (V-in) - [bruin]
  • 27 - DS18B20+ (V-in) - [bruin]
  • 34 - Windsensor (TMP) - [cyaan]
  • 35 - Windsensor (RV) - [oranje]
  • VIN - USB-kabel (+5V) - [rood]
  • GND - USB-kabel (GND) - [zwart]

De sensoren Si7021, BH1750 en DS18B20+ worden gevoed via een IO-pin van de ESP32. Dit is mogelijk omdat hun maximale stroomopname lager is dan de maximale stroomtoevoer per pin van de ESP, en noodzakelijk om de sensoren te kunnen resetten door hun stroomtoevoer af te sluiten in het geval van sensorcommunicatiefouten. Zie de ESP-code en opmerkingen voor meer informatie.

De Si7021- en BH1750-sensoren, hetzelfde als de USB-kabel, moeten worden gesoldeerd met de kabels al door de speciale gaten in de behuizing om montage in de volgende stap mogelijk te maken. WAGO compacte verbindingsconnectoren worden gebruikt om apparaten via de USB-kabel op het stroomnet aan te sluiten. Ze worden allemaal gevoed met 5 V DC via USB, wat werkt met het logische niveau van de ESP32 op 3, 3 V. Optioneel kunnen de datapinnen van de micro-USB-kabel opnieuw worden aangesloten op de micro-USB-stekker en worden aangesloten op de micro-USB van de ESP stopcontact, als stroomingang en dataverbinding om code naar de ESP32 over te dragen terwijl de behuizing gesloten is. Anders, indien aangesloten zoals weergegeven in het schema, is een andere intacte micro-USB-kabel nodig om de code in eerste instantie naar de ESP over te brengen voordat de behuizing wordt gemonteerd.

De Si7021-temperatuursensor is aan de achterkant van de behuizing gelijmd, dicht bij de onderkant. Het is erg belangrijk om deze sensor dicht bij de bodem te bevestigen om foutieve temperatuurmetingen te voorkomen die worden veroorzaakt door warmteontwikkeling in de behuizing. Zie Epiloogstap voor meer informatie over dit probleem. De BH1750 verlichtingssterktesensor wordt op de bovenplaat gelijmd en de windsensor wordt in de gleuf aan de andere kant geplaatst en passend gemonteerd. Als het te los past, helpt een klein beetje tape rond het midden van de sensor om het op zijn plaats te houden. De DS18B20 temperatuursensor wordt via de bovenste stijgbuis in de tafeltennisbal gestoken, met een uiteindelijke positie in het midden van de bal. De binnenkant van de bovenste stijgbuis is gevuld met isolatiewol en de onderste opening is afgedicht met tape of hete lijm om geleidende of convectieve warmteoverdracht naar de bol te voorkomen. De LED wordt naar beneden gericht in het stalen ronde gat bevestigd om de bodemplaat te verlichten.

Alle draden, de verbindingsconnectoren en de ESP32 gaan in de hoofdbehuizing en alle onderdelen van de behuizing worden in elkaar gezet in de eindmontage.

Stap 7: Software – ESP-, PHP- en MariaDB-configuratie

Software - ESP-, PHP- en MariaDB-configuratie
Software - ESP-, PHP- en MariaDB-configuratie
Software - ESP-, PHP- en MariaDB-configuratie
Software - ESP-, PHP- en MariaDB-configuratie

De ESP32-microcontroller kan worden geprogrammeerd met behulp van de Arduino IDE en de ESP32 Core-bibliotheek van Espressif. Er zijn tal van tutorials online beschikbaar over het instellen van de IDE voor ESP32-compatibiliteit, bijvoorbeeld hier.

Eenmaal ingesteld, wordt de bijgevoegde code overgebracht naar de ESP32. Het is overal becommentarieerd om het gemakkelijk te begrijpen, maar enkele belangrijke kenmerken zijn:

  • Het heeft aan het begin een sectie "gebruikersconfiguratie", waarin individuele variabelen moeten worden ingesteld, zoals WiFi-ID en wachtwoord, databaseserver-IP en gewenste gegevensuitlezingen en verzendperiode. Het bevat ook een "zero wind-aanpassing"-variabele die kan worden gebruikt om de nulwindsnelheidsmetingen op 0 in te stellen in het geval van een niet-stabiele stroomvoorziening.
  • De code bevat gemiddelde kalibratiefactoren die door de auteurs zijn bepaald op basis van kalibratie van tien bestaande sensorstations. Zie Epiloogstap voor meer informatie en mogelijke individuele aanpassingen.
  • Verschillende foutafhandelingen zijn opgenomen in verschillende secties van de code. Vooral een effectieve detectie en afhandeling van buscommunicatiefouten die vaak voorkomen op ESP32-controllers. Nogmaals, zie Epiloogstap voor meer informatie.
  • Het heeft een LED-kleuruitgang om de huidige status van het sensorstation en eventuele fouten weer te geven. Zie de stap Resultaten voor meer informatie.

Het bijgevoegde PHP-bestand moet worden geïnstalleerd en toegankelijk zijn in de hoofdmap van de databaseserver, op serverIP/sensor.php. De naam van het PHP-bestand en de inhoud van de gegevensverwerking moeten overeenkomen met de oproepfunctiecode van de ESP en, aan de andere kant, overeenkomen met de instellingen van de databasetabel, om opslag van gegevensuitlezingen mogelijk te maken. De bijgevoegde voorbeeldcodes komen overeen, maar als u enkele variabelen wijzigt, moeten deze door het hele systeem worden gewijzigd. Het PHP-bestand bevat aan het begin een aanpassingssectie, waarin individuele aanpassingen worden gemaakt op basis van de omgeving van het systeem, met name de gebruikersnaam en het wachtwoord van de database, en de databasenaam.

Een MariaDB- of SQL-database wordt op dezelfde server opgezet, volgens de tabelconfiguratie die wordt gebruikt in de sensorstationcode en het PHP-script. In de voorbeeldcode is de MariaDB-databasenaam "sensorstation" met een tabel met de naam "data", die 13 kolommen bevat voor UTCDate, ID, UID, Temp, Hum, Globe, Vel, VelMin, VelMax, MRT, Illum, IllumMin, en IllumMax.

Optioneel kan een Grafana analyse- en monitoringplatform op de server worden geïnstalleerd voor directe databasevisualisatie. Dit is geen belangrijk kenmerk van deze ontwikkeling, dus het wordt niet verder beschreven in deze instructable.

Stap 8: Resultaten – Gegevens lezen en verifiëren

Resultaten - Gegevens lezen en verifiëren
Resultaten - Gegevens lezen en verifiëren

Nadat alle bedrading, montage, programmering en omgevingsinstellingen zijn voltooid, verzendt het sensorstation periodiek gegevensmetingen naar de database. Terwijl de voeding is ingeschakeld, worden verschillende bedrijfstoestanden aangegeven door de onderste LED-kleur:

  • Tijdens het opstarten licht de LED geel op om aan te geven dat de verbinding met wifi in behandeling is.
  • Wanneer en terwijl verbonden, is de indicator blauw.
  • Het sensorstation voert sensormetingen uit en stuurt deze periodiek naar de server. Elke succesvolle overdracht wordt aangegeven door een groene lichtimpuls van 600 ms.
  • In geval van fouten kleurt de indicator rood, paars of geelachtig, afhankelijk van het type fout. Na een bepaalde tijd of een bepaald aantal fouten reset het sensorstation alle sensoren en start het automatisch opnieuw op, opnieuw aangegeven door een geel lampje bij het opstarten. Zie de ESP32-code en opmerkingen voor meer informatie over de indicatorkleuren.

Als deze laatste stap is voltooid, draait en werkt het sensorstation continu. Tot op heden is er een netwerk van 10 sensorstations geïnstalleerd en draaiend in de eerder genoemde Living Lab slimme kantoorruimte.

Stap 9: Alternatief: stand-alone versie

Alternatief: stand-alone versie
Alternatief: stand-alone versie
Alternatief: stand-alone versie
Alternatief: stand-alone versie
Alternatief: stand-alone versie
Alternatief: stand-alone versie
Alternatief: stand-alone versie
Alternatief: stand-alone versie

De ontwikkeling van CoMoS gaat door en het eerste resultaat van dit voortdurende proces is een stand-alone versie. Die versie van CoMoS heeft geen databaseserver en wifi-netwerk nodig om omgevingsgegevens te bewaken en vast te leggen.

De nieuwe belangrijkste kenmerken zijn:

  • Gegevensmetingen worden opgeslagen op een interne micro SD-kaart, in Excel-vriendelijk CSV-formaat.
  • Geïntegreerd WiFi-toegangspunt voor toegang tot CoMoS via elk mobiel apparaat.
  • Webgebaseerde app (interne webserver op ESP32, geen internetverbinding vereist) voor live gegevens, instellingen en opslagtoegang met directe download van bestanden vanaf de SD-kaart, zoals weergegeven in de afbeelding en schermafbeeldingen die bij deze stap zijn gevoegd.

Dit vervangt de wifi- en databaseverbinding, terwijl alle andere functies, inclusief kalibratie en al het ontwerp en de constructie, onaangetast blijven ten opzichte van de originele versie. Toch vereist de stand-alone CoMoS ervaring en verdere kennis van hoe toegang te krijgen tot het interne bestandsbeheersysteem "SPIFFS" van de ESP32, en een beetje kennis van HTML, CSS en Javascript om te begrijpen hoe de web-app werkt. Het heeft ook een paar meer / verschillende bibliotheken nodig om te werken.

Controleer de Arduino-code in het bijgevoegde zipbestand voor de vereiste bibliotheken en de volgende referenties voor meer informatie over programmeren en uploaden naar het SPIFFS-bestandssysteem:

SPIFFS-bibliotheek door espressif

SPIFFS-bestandsuploader door me-no-dev

ESP32WebServer-bibliotheek door Pedroalbuquerque

Deze nieuwe versie zou een geheel nieuwe instructable maken die in de toekomst zou kunnen worden gepubliceerd. Maar voor nu, vooral voor meer ervaren gebruikers, willen we de kans niet missen om de basisinformatie en bestanden te delen die je nodig hebt om het in te stellen.

Snelle stappen om een stand-alone CoMoS te bouwen:

  • Bouw een case volgens de vorige stap. Optioneel 3D-print een extra case voor de micro SC-kaartlezer om aan de CoMoS-case te bevestigen. Als je geen 3D-printer beschikbaar hebt, kan de kaartlezer ook in de CoMoS-hoofdbehuizing worden geplaatst, geen zorgen.
  • Sluit alle sensoren aan zoals eerder beschreven, maar installeer en bedraad daarnaast een micro SD-kaartlezer (amazon.com) en een DS3231 real-time klok (adafruit.com) zoals aangegeven in het bedradingsschema dat bij deze stap is gevoegd. Let op: De pinnen voor de pull-up weerstand en de oneWire wijken af van het originele bedradingsschema!
  • Controleer de Arduino-code en pas de WiFi-toegangspuntvariabelen "ssid_AP" en "password_AP" aan uw persoonlijke voorkeur aan. Indien niet aangepast, is de standaard SSID "CoMoS_AP" en is het wachtwoord "12345678".
  • Plaats een micro SD-kaart, upload de code, upload de inhoud van de "data"-map naar de ESP32 met behulp van de SPIFFS-bestandsuploader en verbind elk mobiel apparaat met het WiFi-toegangspunt.
  • Navigeer naar "192.168.4.1" in uw mobiele browser en geniet ervan!

De app is allemaal gebaseerd op html, css en javascript. Het is lokaal, er is geen internetverbinding bij betrokken of vereist. Het beschikt over een in-app zijmenu voor toegang tot een instellingenpagina en een geheugenpagina. Op de instellingenpagina kunt u de belangrijkste instellingen aanpassen, zoals de lokale datum en tijd, het interval voor sensormetingen, enz. Alle instellingen worden permanent opgeslagen in de interne opslag van de ESP32 en hersteld bij de volgende keer opstarten. Op de geheugenpagina is een lijst met bestanden op de SD-kaart beschikbaar. Als u op een bestandsnaam klikt, wordt het CSV-bestand rechtstreeks naar het mobiele apparaat gedownload.

Deze systeemconfiguratie maakt individuele en externe bewaking van de omgevingsomstandigheden binnenshuis mogelijk. Alle sensormetingen worden periodiek op de SD-kaart opgeslagen, waarbij voor elke nieuwe dag nieuwe bestanden worden aangemaakt. Dit maakt een continue werking mogelijk voor weken of maanden zonder toegang of onderhoud. Zoals eerder vermeld, is dit nog steeds een lopend onderzoek en ontwikkeling. Als u geïnteresseerd bent in meer details of hulp, aarzel dan niet om contact op te nemen met de corresponderende auteur via de opmerkingen of rechtstreeks via LinkedIn.

Stap 10: Epiloog – Bekende problemen en Outlook

Epiloog - Bekende problemen en Outlook
Epiloog - Bekende problemen en Outlook
Epiloog - Bekende problemen en Outlook
Epiloog - Bekende problemen en Outlook

Het sensorstation dat in deze instructable wordt beschreven, is het resultaat van een lang en lopend onderzoek. Het doel is om een betrouwbaar, nauwkeurig en toch goedkoop sensorsysteem te creëren voor omgevingscondities binnenshuis. Dit hield en houdt een aantal serieuze uitdagingen in, waarvan de meest zekere hier moeten worden genoemd:

Sensornauwkeurigheid en kalibratie

De sensoren die in dit project worden gebruikt, bieden allemaal een relatief hoge nauwkeurigheid tegen lage of matige kosten. De meeste zijn uitgerust met interne ruisonderdrukking en een digitale businterface voor communicatie, waardoor kalibratie of niveauaanpassingen minder nodig zijn. Hoe dan ook, omdat de sensoren in of op een behuizing met bepaalde attributen zijn geïnstalleerd, is door de auteurs een kalibratie van het complete sensorstation uitgevoerd, zoals kort te zien is aan de bijgevoegde foto's. In totaal zijn tien gelijk gebouwde sensorstations getest in gedefinieerde omgevingscondities en vergeleken met een TESTO 480 professionele binnenklimaatsensor. Uit deze runs werden de kalibratiefactoren bepaald die in de voorbeeldcode zijn opgenomen. Ze maken een eenvoudige compensatie mogelijk van de invloed van de behuizing en de elektronica op de afzonderlijke sensoren. Om de hoogste nauwkeurigheid te bereiken, wordt een individuele kalibratie voor elk sensorstation aanbevolen. De kalibratie van dit systeem is een tweede focus van het onderzoek van de auteurs, naast de ontwikkeling en constructie die in deze instructable wordt beschreven. Het wordt besproken in een aanvullende, samenhangende publicatie, die nog in peer-review is en hier zal worden gelinkt zodra deze online gaat. Meer informatie over dit onderwerp vindt u op de website van de auteurs.

ESP32 operatie stabiliteit

Niet alle op Arduino gebaseerde sensorbibliotheken die in deze code worden gebruikt, zijn volledig compatibel met het ESP32-bord. Dit probleem is op veel plaatsen online uitgebreid besproken, vooral met betrekking tot de stabiliteit van I2C- en OneWire-communicatie. In deze ontwikkeling wordt een nieuwe, gecombineerde foutdetectie en -afhandeling uitgevoerd, gebaseerd op het rechtstreeks voeden van de sensoren via IO-pinnen van de ESP32 om hun stroomtoevoer te kunnen onderbreken voor resetdoeleinden. Vanuit het perspectief van vandaag is deze oplossing niet gepresenteerd of niet breed besproken. Het werd uit noodzaak geboren, maar werkt tot op heden probleemloos voor gebruiksperioden van enkele maanden en langer. Toch is het nog steeds een onderwerp van onderzoek.

Outlook

Samen met deze instructable worden door de auteurs verdere schriftelijke publicaties en conferentiepresentaties uitgevoerd om de ontwikkeling te verspreiden en een brede en open source-toepassing mogelijk te maken. Ondertussen wordt het onderzoek voortgezet om het sensorstation verder te verbeteren, vooral met betrekking tot systeemontwerp en maakbaarheid, en systeemkalibratie en -verificatie. Dit instructable kan worden bijgewerkt op belangrijke toekomstige ontwikkelingen, maar voor alle up-to-date informatie, bezoek de website van de auteurs of neem rechtstreeks contact op met de auteurs via LinkedIn:

corresponderende auteur: Mathias Kimling

tweede auteur: Konrad Lauenroth

onderzoeksmentor: Prof. Sabine Hoffmann

Eerste keer auteur
Eerste keer auteur
Eerste keer auteur
Eerste keer auteur

Tweede prijs in de eerste keer auteur

Aanbevolen: