ID.nl logo
Maak je eigen luchtkwaliteitsmonitor
Huis

Maak je eigen luchtkwaliteitsmonitor

De luchtkwaliteit in huis is belangrijk voor onze gezondheid. Daarom zou iedereen eigenlijk een of meer luchtkwaliteitsmonitors in huis moeten hebben. In deze uitgebreide masterclass maken we die zelf, configureren we ze met ESPHome en koppelen ze aan Home Assistant. Zo kun je op afstand de luchtkwaliteit in verschillende ruimtes in één grafiek tonen en kan je domoticasysteem je waarschuwen bij te hoge CO₂-waardes of zelfs automatisch de ventilatie verhogen.

In dit artikel maken we voor circa 80 euro (de prijs hangt af van de mate van afwerking) een luchtkwaliteitsmonitor met een ESP8266- of ESP32-microcontroller en enkele sensoren die de temperatuur, luchtvochtigheid, luchtdruk, CO₂-concentratie en concentratie van fijnstof (deeltjes kleiner dan 2,5 en 10 micrometer) meten. Deze soorten fijnstof worden ook aangeduid met PM2,5 en PM10. Al deze parameters bepalen de kwaliteit van de lucht in huis.

01 Plan van aanpak

Wat gaan we doen? Als eerste kiezen we de sensoren en het microcontrollerbordje, sluiten we alle componenten aan op een breadboard (inclusief een led om te waarschuwen voor slechte luchtkwaliteit) om er eenvoudig mee te kunnen experimenteren.

Daarna komt de software aan de beurt. Dat doen we met ESPHome, dat nauw samenwerkt met Home Assistant. We zorgen dus ook dat alle sensormetingen van onze luchtkwaliteitsmonitor in Home Assistant terechtkomen. Uiteindelijk monteren we onze componenten definitief op een universeel printplaatje en steken deze in een universele behuizing. Daar moeten we wat voor solderen en boren.

©PXimport

02 Sensoren

Als je met ESPHome wilt werken, moeten die sensoren ook ondersteund zijn in dit project. Bekijk dus zeker de lijst met ondersteunde sensoren. Wij zijn al jaren fan van de BME280 van Bosch om de temperatuur, luchtvochtigheid en luchtdruk te meten. Je vindt allerlei break-outbordjes met deze sensor, bijvoorbeeld van Adafruit of CJMCU (die laatste vind je voor rond de 5 euro). Let wel op dat je de versie koopt die op 3,3 V werkt.

Voor een goede CO₂-sensor moet je op zoek naar een niet-dispersieve infraroodsensor (NDIR-sensor). Een populaire is de Winsen MH-Z19B, die rond de 20 euro kost. Kies voor de versie die tot 5000 ppm CO₂ detecteert. Voor een fijnstofsensor kies je het best voor een laserstofsensor. De Nova Fitness SDS011, die iets meer dan 20 euro kost, is een goede keuze.

©PXimport

03 Opbouw op het breadboard

Als microcontrollerbordje kiezen we een NodeMCU v1 met ESP8266. Heb je een ander ESP8266- of ESP32-bordje, gebruik die dan gerust. Je zult alleen enkele draadjes anders moeten aansluiten. Neem nu een breadboard en sluit alle componenten daarop aan.

Bij een ESP8266 is het belangrijk dat je een elektrolytische condensator van 1000 μF tussen de power-rails (3,3 V en GND) aansluit (met de positieve kant aan 3,3 V en de negatieve aan GND) om fluctuaties in de spanning op te vangen. Sluit ook een keramische condensator van 0,1 μF (aangeduid met 104) aan tussen de pinnen 3V3 en GND, zo dicht mogelijk bij de ESP8266.

Van de sensoren is de BME280 het gemakkelijkste. Dit is een I²C-sensor. Vin sluit je op 3V3 van de NodeMCU aan, GND op GND, SCL (soms ook als SCK aangeduid) op D1 en SDA (soms ook als SDI aangeduid) op D2.

©PXimport

04 Sensoren aansluiten

De MH-Z19B past net niet op het breadboard. Sluit daarom rechtstreeks de jumperdraadjes op de pinnen aan. De sensor werkt op een voedingsspanning van 5 V, dus sluit Vin van de sensor op Vin van de ESP8266 aan (daarop staat de spanning van de usb-aansluiting) en GND op GND. TX van de sensor sluit je aan op D4 van de ESP8266 en RX op D5.

Dan de SDS011. Dat is een groot sensorbord van 7 bij 7 cm en er wordt een JST-XH-kabel bijgeleverd met aan de ene kant zeven en de andere kant vijf gaten. Van die met de vijf gaten sluit je de vier linkse aan op de ESP8266. Controleer op de connector en op het sensorbordje de benamingen. TX gaat naar D3, RX naar D6, GND naar GND en 5V naar Vin.

Code downloaden

De ESPHome-configuratie van dit project is vrij omvangrijk. In dit artikel hebben we de belangrijkste code opgenomen en uitgelegd, maar niet alles. De volledige code kun je downloaden via GitHub waar een speciale pagina is met alle code. Klik hier op de groene knop Code en dan op Download ZIP om de nieuwste versie van de code te downloaden. Een versie die volledig overeenkomt met wat er in deze masterclass wordt beschreven, vind je als je rechts op Releases klikt en dan bij versie 1.0.0 op Source code (zip) klikt. Door de code te downloaden, hoef je ook niet alles uit dit artikel over te typen. De YAML-syntaxis is namelijk heel gevoelig voor een spatie te veel of te weinig.

05 RGB-led

Tot slot sluiten we ook nog een RGB-led aan waarmee we kunnen waarschuwen als de luchtkwaliteit te slecht is. Het voordeel van een RGB-led is dat we met één led allerlei kleuren kunnen tonen. Populaire RGB-leds zijn de NeoPixels: een WS2812-driverchip met led. Maar wij kiezen hier voor de ‘ouderwetse’ RGB-leds met afzonderlijke pinnetjes voor de kleurcomponenten.

We kiezen voor een RGB-led met gemeenschappelijke kathode. Dat betekent dat het langere pinnetje, het tweede van links gezien, GND is. Sluit dit op GND van je ESP8266 aan. De drie andere pinnetjes zijn van links naar rechts rood, groen en blauw, en deze sluit je respectievelijk aan op D7, D8 en TX, met telkens een weerstand ertussen. Bij de rode led gebruiken we een weerstand van 220 Ω (ohm), bij de groene en blauwe van 47 Ω, omdat die een hogere doorlaatspanning heeft.

©PXimport

06 Aansluitingen controleren

Controleer nu nog eens of je alles correct aangesloten hebt. Kijk zeker de voedingskabels na: de BME280 heeft 3,3 volt nodig en de MH-Z19B en de SDS011 5 volt. Alle GND-connectoren van de sensoren moeten aangesloten zijn. En controleer daarna voor de signaalkabels de onderstaande tabel. Hierin hebben we ook aangeduid hoe je alle componenten aansluit als je de ESP32-DevKitC V4 gebruikt.

Als alles correct aangesloten is, zijn we klaar met de hardware. Nu moeten we deze nog aansturen en dat doen we door een configuratie voor ESPHome te schrijven.

©PXimport

07 ESPHome installeren

ESPHome kun je op diverse manieren installeren. Heb je Home Assistant OS geïnstalleerd (het door de ontwikkelaars aangeraden installatietype voor Home Assistant), dan bereik je de beste integratie met je domoticasysteem door in deze omgeving de ESPHome-add-on te installeren.

Maar ESPHome is een Python-programma, dus als je Python geïnstalleerd hebt, kun je ook ESPHome op je computer installeren als Python-pakket met de pakketbeheerder pip met het commando:

pip3 install esphome

Je maakt dan het best een directory aan waarin je al je ESPHome-projecten opslaat. Met de opdracht esphome -h krijg je te zien hoe je ESPHome op de opdrachtregel gebruikt.

08 Wizard

Start dan de wizard die je helpt om een configuratie aan te maken. Dat gaat dat als volgt:

esphome bureau.yaml wizard

Het eerste argument dat je aan de esphome-opdracht doorgeeft, is de naam van het bestand waarin je de configuratie voor het apparaat wilt opslaan. De wizard loodst je in enkele stappen door de configuratie van je apparaat. Je geeft je apparaat een naam (opgelet: alleen kleine letters, cijfers en een underscore zijn toegestaan), kiest een platform (ESP32 of ESP8266) en dan het juiste microcontrollerbordje.

Dat laatste is soms wat zoeken. De wizard verwijst naar een url op de website van PlatformIO voor de juiste omschrijving. Voor het AI-Thinker NodeMCU-bordje met ESP8266 dat we in deze test gebruikten, is dat bijvoorbeeld nodemcuv2.

Vul dan het SSID en wachtwoord van je wifi-netwerk in waarmee je het bordje wilt laten verbinden. Tot slot vraagt de wizard of je een wachtwoord op de functionaliteit voor OTA (over-the-air-updates) wilt zetten. Wij raden dat aan, want anders kan iedereen op je wifi-netwerk je apparaat updaten.

09 Firmware flashen

De wizard heeft nu een configuratie aangemaakt in het bestand bureau.yaml. Het is een YAML-bestand (meer informatie op www.yaml.org) met een basisconfiguratie. Hiermee kan het bordje eenvoudigweg met je wifi-netwerk verbinden en zal het te zien zijn in Home Assistant.

Dan is het nu tijd om je firmware te flashen. Gebruik je een ontwikkelbordje zoals een NodeMCU (met ESP8266) of ESP32-Pico-Kit (met ESP32), dan wordt die doorgaans geleverd met een micro-usb- of usb-c-aansluiting met ingebouwde seriële poort.

Sluit dus je bordje op je computer aan via usb en voer dan op je computer de volgende opdracht uit:

esphome bureau.yaml compile

Dat leest de configuratie in bureau.yaml in, valideert die en creëert op basis daarvan de broncode van je firmware en compileert die. Als alles goed gaat, krijg je op het einde INFO Successfully compiled program te zien.

Daarna flash je de gecompileerde firmware naar je aangesloten bordje:

esphome bureau.yaml upload

Kies de seriële usb-aansluiting als interface om de firmware te uploaden.

Je kunt ook het compileren én uploaden met één opdracht doen:

esphome bureau.yaml run

Als alles goed gaat, krijg je geen foutmelding te zien en draait er nu ESPHome op je apparaat. Druk op Ctrl+C als je de loguitvoer niet meer wilt zien. ESPHome blijft gewoon verder draaien op je ESP8266. Je kunt de usb-kabel nu ook verwijderen en het bordje met een voedingsadapter in het stopcontact steken.

©PXimport

10 Met Home Assistant koppelen

Open nu de webinterface van Home Assistant. Normaal gesproken zul je onderaan links al een notificatie gekregen hebben, omdat Home Assistant je ESPHome-apparaat heeft ontdekt. Klik erop en dan op Check it out. Er staat een nieuw apparaat: ESPHome: bureau. Klik op Configureer en bevestig dat je het apparaat wilt toevoegen.

Indien Home Assistant je apparaat niet heeft ontdekt, ga dan naar Instellingen / Integraties en stel met het plusteken onderaan een nieuwe integratie in. Kies ESPHome en vul dan bij de host het ip-adres of de mDNS-naam (in ons voorbeeld bureau.local) in.

Je krijgt nu de vraag om een wachtwoord in te voeren. Dat is het OTA-wachtwoord dat je in stap 8 hebt ingesteld. Dat wordt immers standaard ook gebruikt voor de API waarmee Home Assistant toegang tot je apparaatje krijgt. Nadat Home Assistant succesvol toegang tot je ESPHome-apparaat heeft gekregen, kun je het nog aan een gebied toekennen, zoals je woonkamer. Klik tot slot op Voltooien, waarna het apparaat in Home Assistant bekend is.

©PXimport

11 Geheim bestand

De configuratie die we voor onze luchtkwaliteitsmonitor willen maken, is vrij lang en complex. In plaats van alles in één groot YAML-bestand te zetten, waardoor je geen overzicht hebt, gaan we onze configuratie modulair maken. Elke sensor definiëren we in een afzonderlijk bestand, de basisconfiguratie voor wifi en dergelijke ook, en alle wachtwoorden en andere gevoelige gegevens zetten we in een afzonderlijk bestand.

Laten we met dat laatste beginnen. Maak een bestand secrets.yaml aan. ESPHome behandelt dit bestand op een speciale manier. Het is de bedoeling dat je hierin alle gevoelige gegevens zet, zoals wachtwoorden. Dat kan als volgt:

wifi_ssid: MYSSID

wifi_password: SECRET

wifi_ap_password: VERY_SECRET

api_password: REALLY_SECRET

ota_password: ALSO_SECRET

Vul hierin na de dubbele punt je eigen wachtwoorden en andere geheimen in. Je vindt die in bureau.yaml. We gaan ervan uit dat je dezelfde wachtwoorden gebruikt voor meerdere ESPHome-apparaten. Wil je elk apparaat een eigen API- en OTA-wachtwoord geven, voeg dan extra regels voor die wachtwoorden toe aan het bestand secrets.yaml.

Home Assistant

In dit artikel koppelen we onze luchtkwaliteitssensor aan Home Assistant, de veelzijdige software die de basis vormt van je domoticasysteem. Je kunt allerlei apparaten koppelen waardoor je alle informatie op één plek terugvindt, en van alles kunt automatiseren en koppelen. Je kunt het pakket op allerlei apparaten installeren, vaak wordt hiervoor een Raspberry Pi gebruikt. Op onze website vind je meer informatie over de installatie van Home Assistant via www.tiny.cc/autoalles. We schreven al dat Home Assistant veelzijdig is, dat geldt ook voor het pakket zelf. Zo kun je bijvoorbeeld zelf een dashboard ontwerpen met daarop alle gegevens die jij in één oogopslag wilt zien. Je leest hier meer over op www.tiny.cc/hadash.

©PXimport

12 Geheimen verbergen

In het bestand dat de wizard heeft aangemaakt, verwijder je nu al die geheimen. En op de plaats waar het geheim stond, zet je !secret gevolgd door de naam van het geheim. Dat ziet er dan als volgt uit:

esphome:

name: bureau

platform: ESP8266

board: nodemcuv2

wifi:

ssid: !secret wifi_ssid

password: !secret wifi_password

# Enable fallback hotspot (captive portal) in case wifi connection fails

ap:

ssid: "Luchtkwaliteit Bureau"

password: !secret wifi_ap_password

captive_portal:

# Enable logging

logger:

# Enable Home Assistant API

api:

password: !secret api_password

ota:

password: !secret ota_password

We verwijzen hier telkens met !secret naar de waarde van de variabele die we in het bestand secrets.yaml hebben gedefinieerd.

13 Gemeenschappelijke configuratie

Als je bovenstaande configuratie doorleest, zie je dat dit bijna allemaal algemene instellingen zijn, die hetzelfde zijn voor elk ander ESPHome-apparaat dat je hebt. Alleen de naam, het fallback-accesspoint, en eventueel het platform en bord verschillen per apparaat.

Maak daarom een map common aan en plaats daarin een bestand base.yaml met de volgende inhoud:

esphome:

name: ${node_name}

platform: ${node_platform}

board: ${node_board}

build_path: ./build/${node_name}

wifi:

ssid: !secret wifi_ssid

password: !secret wifi_password

# Enable fallback hotspot (captive portal) in case wifi connection fails

ap:

ssid: "AP ${node_name}"

password: !secret wifi_ap_password

captive_portal:

# Enable logging

logger:

# Enable Home Assistant API

api:

password: !secret api_password

ota:

password: !secret ota_password

Iets nieuws zijn zaken zoals ${node_name}. Dat zijn substituties, die we in het apparaatspecifieke configuratiebestand definiëren. Laten we daar nu eens naar kijken.

14 Uitgeklede configuratie

Doordat we alle gemeenschappelijke configuratie in een afzonderlijk bestand hebben gezet, worden de configuratiebestanden van onze ESPHome-apparaten heel wat korter. Het voorbeeld dat de wizard heeft gemaakt, kunnen we nu uitkleden tot:

substitutions:

node_name: bureau

node_platform: ESP8266

node_board: nodemcuv2

packages:

base: !include common/base.yaml

Je ziet hier dat we eerst enkele substituties definiëren, die specifiek zijn voor dit ESPHome-apparaat. Dat zijn hier de naam, het platform en het bord. Daarna definiëren we een pakket, dat verwijst naar het YAML-bestand waarin we de gemeenschappelijke configuratie hebben gezet.

ESPHome combineert nu het YAML-bestand base.yaml met dit YAML-bestand. Elke keer dat ESPHome ${node_name} tegenkomt, wordt dit vervangen door de waarde die je voor node_name hebt ingevuld onder substitutions. In dit geval bureau.

Als je dit nu wilt compileren, krijg je een foutmelding omdat ESPHome het bestand secrets.yaml niet kan vinden. We hebben immers het bestand base.yaml in de directory common geplaatst, dus zoekt ESPHome als het in dat bestand een geheim tegenkomt naar het bestand secrets.yaml in dezelfde directory. Verplaats daarom secrets.yaml ook naar de directory common.

15 Temperatuursensor configureren

Tot nu toe doet je ESPHome-apparaat nog niets, zelfs al hebben we er allerlei sensoren op aangesloten. De software weet immers niet welke sensoren waar zijn aangesloten. Daar gaan we nu verandering in brengen door aan te geven welken sensoren waar zijn aangesloten. We beginnen met de temperatuursensor. Maak een bestand bme280.yaml aan in de map common met onderstaande inhoud. Zoals eerder in het artikel vermeld, kun je alle YAML-bestanden in plaats van overtikken ook downloaden (en waar nodig zelf aanpassen). Zie hiervoor het kader ‘ESPHome-configuratie downloaden’ eerder in deze masterclass.

i2c:

sda: ${i2c_pin_sda}

scl: ${i2c_pin_scl}

sensor:

- platform: bme280

temperature:

id: t_value

name: "${node_name} temperature"

humidity:

id: h_value

name: "${node_name} humidity"

pressure:

id: p_value

name: "${node_name} pressure"

address: ${bme280_i2c_address}

update_interval: ${bme280_update_interval}

We definiëren eerst een I²C-bus, omdat de BME280-sensor die nodig heeft. Daarna definiëren we een sensor van het platform bme280 met een configuratie voor de temperatuur, luchtvochtigheid en luchtdruk. Die hebben elk een ID en een naam: het eerste gebruiken we in de rest van de ESPHome-configuratie, de tweede is de naam waaronder deze waardes in Home Assistant te zien zullen zijn. We stellen ook het I²C-adres en het update-interval in.

16 Temperatuursensor testen

Al deze variabelen voeg je nu toe aan de substituties in bureau.yaml:

i2c_pin_scl: D1

i2c_pin_sda: D2

bme280_i2c_address: "0x76"

bme280_update_interval: 60s

Dit zijn de pinnen waarop de I²C-bus aangesloten is en het I²C-adres van de sensor. Voor ons sensorbordje van CJMCU is het adres 0x76, maar als je een bordje van Adafruit hebt, vul je hier 0x77 in. Je krijgt in de logs van ESPHome sowieso het juiste adres te zien bij de initialisatie van de I²C-bus: ESPHome ontdekt dan het gebruikte adres. Als update-interval kiezen we elke minuut (60s).

Bij de packages voeg je nu het volgende toe:

bme280: !include common/bme280.yaml

Compileer en upload deze code nu. Het uploaden hoeft niet via usb. Als je het OTA-wachtwoord niet hebt veranderd sinds de eerste keer, zal ESPHome je apparaat via mDNS vinden en de nieuwe firmware via het netwerk uploaden.

Als je daarna in Home Assistant klikt op Instellingen / Integraties en bij ESPHome op 1 apparaat, krijg je je ESPHome-apparaat te zien. Als je daarop klikt, zie je ook de entiteiten die bij het apparaat horen, namelijk de temperatuur, luchtvochtigheid en luchtdruk. Deze waardes kun je nu ook op allerlei manieren in het dashboard van Home Assistant tonen.

©PXimport

17 CO₂-sensor configureren

De CO₂-sensor configureer je op een vergelijkbare manier waarbij je de juiste gegevens voor deze sensor gebruikt. Maak een bestand mh-z19b.yaml aan in de map common en definieer daarin eerst een UART-component:

uart:

- id: uart_mhz19b

rx_pin: ${mhz19b_pin_tx}

tx_pin: ${mhz19b_pin_rx}

baud_rate: 9600

De MH-Z19B gebruikt immers geen I²C, maar een seriële UART-verbinding. We definiëren hier de pinnen voor RX (ontvangen) en TX (verzenden). Let op: aan de RX-pin van de UART-verbinding kennen we de TX-pin van de sensor toe en andersom. De ESP8266 ontvangt immers wat de sensor zendt en de sensor ontvangt wat de ESP8266 zendt. Voeg dan de sensor zelf toe:

sensor:

- platform: mhz19

id: co2_sensor

uart_id: uart_mhz19b

co2:

name: "${node_name} CO₂"

id: co2_value

update_interval: ${mhz19b_update_interval}

automatic_baseline_calibration: false

Zoals je ziet, verwijzen we naar de UART die we hiervoor hebben aangemaakt.

18 CO₂-sensor kalibreren

We schakelen ook de automatische kalibratie uit. Standaard kalibreert de sensor zichzelf immers elke 24 uur, te beginnen vanaf het moment dat je ze inschakelt. Maar de kalibratie werkt pas correct als de sensor zich twintig minuten in de buitenlucht bevindt. Als je op het moment van de kalibratie juist geen raam open hebt en er misschien zelfs meerdere personen zich in de ruimte bevinden, zal de sensor zich verkeerd afstellen.

Daarom is het beter om de kalibratie zelf te starten, op een moment waarvan je weet dat de lucht zuiver is. We maken eerst een binaire sensor aan die bijhoudt of de sensor al is gekalibreerd sinds de ESP8266 opstartte:

binary_sensor:

- platform: template

name: "${node_name} CO₂ sensor calibrated"

id: co2_calibrated

En we zetten de waarde van die sensor op OFF na het opstarten:

esphome:

on_boot:

priority: 500

then:

- binary_sensor.template.publish:

id: co2_calibrated

state: OFF

Dan maken we een schakelaar aan in onze ESPHome-configuratie:

switch:

- platform: template

name: "${node_name} calibrate CO₂ sensor"

id: co2_calibrate

optimistic: true

on_turn_on:

then:

- mhz19.calibrate_zero: co2_sensor

- delay: 20min

- switch.turn_off: co2_calibrate

- binary_sensor.template.publish:

id: co2_calibrated

state: ON

Deze schakelaar voert vier acties uit: hij kalibreert de CO₂-sensor, wacht twintig minuten en schakelt zichzelf dan uit. Zo kun je aan de toestand van de schakelaar zien of de kalibratie nog aan de gang is. Tot slot zet hij de waarde van de binaire sensor die aangeeft of de sensor al is gekalibreerd op ON.

Andere leuke projecten

Door de geïntegreerde wifi is de door ons gebruikte NodeMCU niet alleen een goede basis voor projecten waarbij je gemeten data verwerkt, maar ook voor projecten waarbij juist externe data van bijvoorbeeld internet wordt verwerkt. Die data kun je dan met bijvoorbeeld leds of een schermpje vertalen naar de echte wereld. We hebben eerder bijvoorbeeld een pollenalarm gebouwd op basis van een NodeMCU. Dit project haalt juist data op bij bronnen op internet en geeft je vervolgens een waarschuwing als er teveel pollen in de lucht zitten.

©PXimport

19 CO₂-sensor testen

Voeg de volgende substituties toe aan het bestand bureau.yaml:

mhz19b_pin_tx: D4

mhz19b_pin_rx: D5

mhz19b_update_interval: 60s

En voeg het volgende package toe met:

mhz19b: !include common/mh-z19b.yaml

Compileer en upload deze configuratie. Daarna krijg je in Home Assistant drie nieuwe entiteiten te zien: de CO₂-concentratie; of de sensor al is gekalibreerd of niet; en een schakelaar waarmee je de kalibratie start. Voor de kalibratie doe je het raam open, wacht je twintig minuten en schuif je de kalibratieknop naar rechts. Zodra de knop zichzelf uitschakelt, weet je dat de sensor is gekalibreerd.

De sensor duidt nu ook in Home Assistant aan wanneer je hem na een herstart dient te kalibreren. Volgens de datasheet moet je hem regelmatig kalibreren, minstens elke zes maanden. Voeg daarom aan het bestand mh-z19b.yaml de volgende code toe die periodiek de binaire sensor uitschakelt die aanduidt of de CO₂-sensor al is gekalibreerd:

interval:

- interval: ${mhz19b_calibration_interval}

then:

- binary_sensor.template.publish:

id: co2_calibrated

state: OFF

En aan de substituties in het bestand bureau.yaml voeg je een waarde voor het interval toe, bijvoorbeeld:

mhz19b_calibration_interval: 30d

Op die manier krijg je elke maand aan de toestand van de binaire sensor te zien dat je de CO₂-sensor het best weer kalibreert.

Als de logs tonen dat ESPHome geen data terugkrijgt van de sensor, is de timing mogelijk verstoord door de UART die voor de logs gebruikt wordt. Schakel dit dan uit:

logger:

baud_rate: 0

20 Fijnstofsensor configureren

Dan voegen we de configuratie voor de SDS011 toe, die de concentratie fijnstof meet. Die communiceert net zoals de MH-Z19B via UART. Maak dus een bestand sds011.yaml aan in de map common en definieer daarin eerst een UART-component:

uart:

- id: uart_sds011

rx_pin: ${sds011_pin_tx}

tx_pin: ${sds011_pin_rx}

baud_rate: 9600

Let ook hier op: aan de RX-pin van de UART-verbinding kennen we de TX-pin van de sensor toe en andersom.

Voeg dan de sensor zelf toe:

sensor:

- platform: sds011

uart_id: uart_sds011

pm_2_5:

id: pm2_5_value

name: "${node_name} PM2.5"

pm_10_0:

id: pm10_value

name: "${node_name} PM10"

update_interval: ${sds011_update_interval}

Deze verwijst naar de zojuist aangemaakte UART.

21 Fijnstofsensor testen

Voeg de volgende substituties toe aan het bestand bureau.yaml:

sds011_pin_tx: D3

sds011_pin_rx: D6

sds011_update_interval: 5min

Het update-interval is voor deze sensor belangrijk. Als je dit niet instelt, is de sensor continu actief. Volgens de datasheet heeft de laserdiode een levensduur van 8000 uur, of minder dan een jaar in continu gebruik. Daarom laten we de sensor maar elke vijf minuten zijn waarde updaten. ESPHome schakelt de sensor dan elke vijf minuten een halve minuut in en daarna weer uit. De sensor gaat dan zes keer langer mee, of meer dan vijf jaar. Omdat bronnen van fijnstof in een thuisomgeving vaak langdurig actief zin, is een interval van vijf minuten zeker voldoende.

Voeg dan het volgende package toe:

sds011: !include common/sds011.yaml

Compileer en upload deze configuratie. Daarna krijg je in Home Assistant twee nieuwe entiteiten te zien: de concentratie aan fijnstof kleiner dan 2,5 µm en 10 µm.

©PXimport

22 RGB-led configureren

Dan voegen we nu de configuratie voor de RGB-led toe in het bestand rgb_led_esp8266.yaml in de map common. Dat ziet er als volgt uit:

output:

- platform: esp8266_pwm

id: led_red

pin: ${led_pin_red}

max_power: 1

- platform: esp8266_pwm

id: led_green

pin: ${led_pin_green}

max_power: 0.011

- platform: esp8266_pwm

id: ${led_pin_blue}

max_power: 0.722

light:

- platform: rgb

id: led_rgb

red: led_red

green: led_green

blue: led_blue

We definiëren eerst drie uitgangen van het platform esp8266_pwm. Hiermee kunnen we van een led op elk van die pinnen via pulsbreedtemodulatie de helderheid instellen. Omdat de helderheid van elke kleurcomponent verschilt (groen is veel helderder), passen we die met max_power aan. De juiste verhoudingen vind je in de datasheet van de RGB-led en we verheffen dit nog tot de macht 2,8, omdat ESPHome dit standaard als gammacorrectie doorvoert. Daarna maken we een licht aan van het platform rgb waaraan we de drie kleurcomponenten toekennen.

Omdat we met de led willen aanduiden wanneer de sensor nog niet gekalibreerd is, voegen we ook triggers toe aan de binaire sensor co2_calibrated van het bestand mh-z19B.yaml:

on_press:

then:

- light.turn_off:

id: led_rgb

on_release:

then:

- light.turn_on:

id: led_rgb

brightness: 100%

red: 0%

green: 0%

blue: 100%

En in de lijst met acties van de schakelaar om de CO₂-sensor te kalibreren, laten we de led vlak voor de delay paars schijnen:

- light.turn_on:

id: led_rgb

brightness: 100%

red: 100%

green: 0%

blue: 100%

23 RGB-led testen

De substituties in het bestand bureau.yaml zijn nu eenvoudig:

led_pin_red: D7

led_pin_green: D8

led_pin_blue: TX

Voeg dan het package toe waarin we de leds hebben gedefinieerd:

rgb: !include common/rgb_led_esp8266.yaml

Compileer en upload deze configuratie. Nadat je ESP8266 is opgestart, brandt de led blauw. En als je nu de sensorkalibratie start, wordt de led paars en gaat ze uit nadat de kalibratie voorbij is.

24 Luchtkwaliteitsindex

Dan willen we nu tonen of de luchtkwaliteit goed, aanvaardbaar of slecht is, en dat ook met de kleur van de RGB-led tonen. Maak een bestand aqi.yaml aan in de map common en definieer hierin eerst een text_sensor die de luchtkwaliteitsindex in tekstvorm toont:

text_sensor:

- platform: template

name: "${node_name} Air Quality Index"

id: aqi

icon: mdi:air-filter

De CO₂-waarde kunnen we rechtstreeks gebruiken voor de luchtkwaliteitsindex, maar voor de fijnstofwaarden raden de WHO-richtlijnen aan om naar het gemiddelde van 24 uur te kijken. Gelukkig kunnen we dit eenvoudig berekenen door in ESPHome een template-sensor aan te maken met een filter:

sensor:

- platform: template

name: "${node_name} PM2.5 24h average"

id: pm2_5_avg_24h

icon: mdi:chemical-weapon

unit_of_measurement: µg/m³

lambda: |-

return id(pm2_5_value).state;

update_interval: 60s

filters:

- sliding_window_moving_average:

window_size: 1440

send_every: 1

on_value:

then:

- script.execute: update_aqi

Het getal 1440 is het aantal minuten in een dag. Omdat deze sensor elke minuut een update krijgt, neemt deze de gemiddelde waarde over de afgelopen 24 uur aan van de sensor pm2_5_value. Bij elke wijziging van deze gemiddelde waarde voeren we een script uit. Maak een vergelijkbare sensor aan voor de PM10-waarde.

Voeg nu ook bij de CO₂-sensor in het bestand mh-z19b.yaml (vlak onder id: co2_value) het volgende toe om de luchtkwaliteitsindex bij elke update van de CO₂-sensor te updaten:

on_value:

then:

- script.execute: update_aqi

25 Drempelwaardes

Dan maken we het script update_aqi aan. De code hiervan vind je op de GitHub-pagina van dit project, want hij is vrij lang. Het script kijkt of minstens een van de sensoren een te hoge waarde heeft. De luchtkwaliteitsindex wordt dan op Slecht gezet en de led op rood. Als minstens een van de sensoren aanvaardbaar is, wordt de index op Aanvaardbaar gezet en de led op geel. En in het andere geval (alle sensoren hebben een goede waarde) krijgt de index de waarde Goed en wordt de led groen.

Dit script maakt voor de drempelwaardes en voor de tekstuele representaties van de index gebruik van substituties. Die definieer je het best in het bestand base.yaml in de map common, bijvoorbeeld:

substitutions:

aqi_co2_max_good: "800"

aqi_co2_max_acceptable: "1200"

aqi_pm2_5_avg_24h_max_good: "12"

aqi_pm2_5_avg_24h_max_acceptable: "25"

aqi_pm10_avg_24h_max_good: "25"

aqi_pm10_avg_24h_max_acceptable: "50"

aqi_message_bad: "Slecht"

aqi_message_acceptable: "Aanvaardbaar"

aqi_message_good: "Goed"

Voeg ook het pakket aqi toe in het YAML-bestand van je apparaat:

aqi: !include common/aqi.yaml

Welke drempelwaardes gebruiken?

Er is heel wat onderzoek gedaan naar de drempelwaardes voor aanvaardbare luchtkwaliteit. Overheden van verschillende landen hebben elk hun eigen normen en binnen één land zijn er vaak zelfs verschillende richtlijnen. In Nederland zijn er bijvoorbeeld richtlijnen rond het CO₂-gehalte door het Bouwbesluit, de Arbodienst, de GGD, de Gezondheidsraad, de PO- en VO-raad. En voor de concentraties fijnstof zijn er allerlei Europese en internationale richtlijnen (van het WHO). Maar die zijn er vooral voor de buitenlucht. Op aanraden van luchtkwaliteitsspecialist Dieter Pientka maken we in onze configuratie gebruik van de WHO-richtlijnen voor de buitenlucht van PM2,5 en PM10.

26 Op perfboard solderen

Onze huidige opstelling met een breadboard is niet echt gebruiksvriendelijk. Dit plaats je niet in je woonkamer, zeker niet met kinderen of huisdieren in de buurt. De draadjes raken snel los. Daarom soldeer je de componenten het best op een perfboard, dat we in een behuizing plaatsen. Wij kozen voor een perfboard van 7 bij 9 cm.

Een perfboard is een universeel printplaatje met allemaal gaatjes die aan één kant van een koperen ring voorzien zijn. De componenten plaats je aan de andere kant in de gaatjes en aan de koperkant kun je ze vastsolderen. Ten slotte soldeer je via draadjes of overschotten van pootjes van weerstanden de componenten aan elkaar.

©PXimport

Leren solderen

Om de luchtkwaliteitsmeter in de praktijk te gebruiken, zul je de componenten op een perfboard moeten solderen. Eerder hebben we in Computer!Totaal aandacht besteedt aan het solderen zelf. Dit artikel vind je op onze website via www.tiny.cc/sold. Hier vind je praktische tips om je soldeerklussen succesvol uit te voeren. In het kort begint solderen bij de soldeerbout, specifiek de soldeerstift. Zorg dat deze goed rondom vertind is, door wat soldeer erop te laten smelten. Veeg de stift goed af aan een vochtig sponsje of andere soldeerpuntreiniger, zodat er geen druppels tin meer te zien zijn. Nu pas is de soldeerbout klaar voor gebruik. Leg nu de printplaat omgekeerd op het werkblad van je bureau (zorg voor een ondergrond die vies mag worden) en druk de soldeerstift zowel tegen het koperen eilandje op de printplaat als tegen het pootje van de te solderen component. Met je andere hand houd je het uiteinde van het soldeer op korte afstand van de soldeerstift tegen het koper. Meer tips lees je in het genoemde online-artikel. En mocht je nog geen soldeerbout en aanverwante accessoires in huis hebben, dan vind je daarin ook tips voor wat je nodig hebt.

27 Headers

We tonen je hoe je alles bevestigt met de ESP32-DevkitC V4. Omdat sensoren niet eeuwig meegaan, solderen we alle sensoren en het ESP32-bordje niet rechtstreeks op het perfboard, maar op vrouwelijke headers. Zo zijn defecte componenten later eenvoudiger te verwisselen.

Plaats de headers los op het printplaatje en probeer of alles in je behuizing past. Plaats de sensoren het best zo ver mogelijk van het ESP32-bordje om de impact van warmteontwikkeling te verminderen. De fijnstofsensor plaats je ondersteboven onder het printplaatje, met de ventilator aan de onderzijde. Zowel de ingang als de uitgang van de ventilator moeten vrij blijven. Later zullen we ventilatiegaten in de behuizing boren.

Plaats de headers op hun definitieve plaats en draai het bordje om, zodat de koperkant zichtbaar is. Soldeer een voor een alle headerpinnen.

©PXimport

28 Montagegaten, led en verbindingsdraden

Dan is nu het beste moment om de montagegaten te boren om de SDS011 onderaan het perfboard te bevestigen. Er zitten drie montagegaten met een binnendiameter van 3,2 mm in de printplaat van de SDS011. Boor op dezelfde locatie in je perfboard gaten, zodat je beide printplaatjes met een afstandshouder op elkaar kunt monteren. Wacht echter met die montage, want je moet eerst de andere componenten en de verbindingsdraden nog solderen.

Soldeer eerst de RGB-led. Plaats die aan de zijkant van het bordje en positioneer die zo dat ze net uit de behuizing komt. De drie GPIO’s kun je via de lange pootjes van de weerstanden met de drie pootjes voor de kleuren verbinden. Voor de verbinding met GND gebruik je een 24AWG-draad waarvan je de uiteindes stript. Daarna soldeer je de headers via 24AWG-verbindingsdraden aan de juiste pinnen van de ESP32.

29 De behuizing klaarmaken

Dan dien je nu alles in een behuizing te stoppen en op de juiste plaatsen gaten te boren voor de led, de usb-kabel en ventilatiegaten voor de inlaat en uitlaat (de ventilator) van de fijnstofsensor. We kozen als behuizing voor een Bopla Euromas ET 212 van 10 × 10 × 5,7 cm.

Het is ook aan te raden om extra ventilatiegaten boven de ESP32-module en de temperatuursensor te boren. De ESP32 genereert immers zelf wat warmte en die voer je het best zo snel mogelijk af om te voorkomen dat de behuizing opwarmt en de temperatuursensor die verhoogde temperatuur meet. Daarna kun je je printplaatje in de behuizing plaatsen en die dicht doen.

©PXimport

30 Temperatuur aanpassen

Steek nu de stekker in het apparaat en kijk in Home Assistant welke waardes je te zien krijgt. Vergelijk de temperatuur met de temperatuur van een andere sensor in dezelfde ruimte. Waarschijnlijk ligt de temperatuur van jouw sensor hoger door de opwarming van de behuizing. Laat je opstelling zo even draaien tot de temperatuur is gestabiliseerd.

Bekijk dan het verschil in temperatuur. ESPHome laat eenvoudig toe om een verschilwaarde bij een sensor op te tellen. Open daarvoor het bestand bme280.yaml en voeg bij de temperatuursensor een filter toe:

- platform: bme280

temperature:

id: t_value

name: "${node_name} temperature"

filters:

- offset: ${bme280_offset_temperature}

In je hoofdconfiguratie voeg je dan een substitutie toe die aan bme280_offset_temperature de gemeten verschilwaarde toekent:

bme280_offset_temperature: "-3"

Je zou hetzelfde kunnen doen met de gemeten luchtvochtigheid: die is door de opwarming van de behuizing wellicht enkele procenten lager dan normaal.

31 Alternatieve temperatuurmeting

Een andere oplossing voor de opwarming van de behuizing is dat je de temperatuursensor buiten de behuizing monteert. Dat laten we als oefening voor de lezer over. Veel hangt ook af van welke behuizing je kiest. De BME280 is misschien wat te opvallend als je die buiten de behuizing monteert. Je zou daarom kunnen kiezen voor een NTC-thermistor. Dat is een temperatuursafhankelijke weerstand, die heel compact is en je eenvoudig als een klein speldenknopje door een gaatje in de behuizing kunt leiden. Een andere optie is de DS18B20, een 1-Wire-temperatuursensor in TO-92-behuizing (vaak gebruikt voor transistors). Beide meten overigens alleen de temperatuur, geen luchtvochtigheid of luchtdruk.

©PXimport

32 Afwerking

Een andere afwerking die je zou kunnen doen, is niet gebruikmaken van een universele behuizing waarin je gaten boort, maar een behuizing op maat ontwerpen en 3D-printen. Op die manier kun je misschien ook voor een betere warmteafvoer zorgen en de temperatuursensor in een eigen compartiment afscheiden van de ESP32-module.

En tot slot zou je het perfboard ook kunnen vervangen door een zelf ontworpen printplaat, die je door een bedrijf laat produceren. Je moet dan nog wel de headers, weerstanden en RGB-led solderen, maar je spaart het solderen van de bedrading uit. Het is ook iets betrouwbaarder dan een perfboard.

We zijn in dit artikel ook niet ingegaan op de verdere integratie met Home Assistant. Je kunt een visualisatie op maat van de gegevens maken in het Lovelace-dashboard van Home Assistant. Je zou ook extra’s kunnen toevoegen, bijvoorbeeld om de led ‘s nachts uit te schakelen of om de led uit te schakelen als de luchtkwaliteit goed is, of een geluidssignaal met een zoemer als de luchtkwaliteit verslechtert. We hopen dat je je door dit artikel hebt laten inspireren om zelf aan de slag te gaan en je eigen luchtkwaliteitsmonitor te maken.

©PXimport

Andere componenten?

De componenten die we in dit artikel gekozen hebben, zijn niet de enige goede. We hebben dit project zo modulair mogelijk opgebouwd, zodat je gerust componenten voor andere kunt inwisselen. Je kunt bijvoorbeeld een schermpje toevoegen of het ontwikkelbordje vervangen door een met ingebouwd scherm, zoals de LilyGO TTGO T-Display ESP32. Je moet dan de ESPHome-configuratie wel uitbreiden om de sensorgegevens op het schermpje te tonen. Een goede alternatieve CO₂-sensor is de SenseAir S8, maar die hebben we niet gekozen omdat ESPHome die op het moment van schrijven nog niet kon kalibreren. Een goed alternatief voor de fijnstofsensor is de PMSx003-familie van Plantower.

©PXimport

▼ Volgende artikel
De plug-in hybride Lexus NX450h+: Premium looks en techniek
Mobiliteit

De plug-in hybride Lexus NX450h+: Premium looks en techniek

De Lexus NX verscheen in 2014 en kende sindsdien een bescheiden succes in Nederland, met zo'n 1500 verkochte exemplaren. Het merk groeit wereldwijd echter flink. Met de lancering van de plug-inhybride NX450h+ zet Lexus deze lijn voort. Irwin van InstaAutoVlog heeft het model getest en deelt zijn bevindingen.

Download nu GRATIS het EV Duurtest-rapport 2024!

In het EV Duurtest-rapport zijn nieuwe elektrische auto's door verschillende consumenten getest. Alle resultaten vind je terug in dit digitale rapport. Door het invullen van je naam en e-mailadres meld je je aan voor ontvangst van het Kieskeurig EV Duurtest-rapport. Tevens ben je ingeschreven voor de Kieskeurig.nl EV-nieuwsbrief.

Dit artikel in het kort:

  • Concurrentie: de Lexus NX richt zich op modellen als de BMW X3, Volvo XC60 en Mercedes-Benz GLC. Hij onderscheidt zich met een rijke standaarduitrusting en hybride aandrijflijn.
  • Ontwerp en afwerking: hij is voorzien van dynamisch design, premium materialen en hoogwaardige afwerking met geavanceerde functies zoals e-Latch portierontgrendeling.
  • Comfort en prestaties: de auto heeft een rijke standaarduitrusting inclusief climate control, stevige motoren (tot 309 pk) en een goede elektrische actieradius.
  • Prijs en varianten: de Lexus is verkrijgbaar vanaf 61.995 euro afhankelijk van aandrijflijn en uitvoering.

Positionering

De Lexus NX strijdt met auto's als de BMW (i)X3, de Volvo XC60 en de Mercedes-Benz GLC. Ook de Audi Q5 is een directe opponent. Het onderscheidende vermogen? Een rijke standaarduitrusting, Lexus' Red Carpet Treatment en de standaard van een hybride aandrijflijn. 

Afmetingen

Met een lengte van 4,66 meter en een breedte van bijna 1,87 meter is hij iets compacter dan sommige concurrenten, maar hij wint het in hoogte met 1,66 meter. Dit geeft de NX een robuuste, maar nooit logge uitstraling, passend bij zijn klasse.

©Irwin Versteegh - Duijnstee

F-Sport-uitvoering

In het donker zorgt de scherp vormgegeven led-verlichting voor en achter voor een sterke uitstraling en herkenbare signatuur. De grille is een opvallend detail, zeker bij de F-Sport uitvoering. Deze testversie valt op door die grille, zwarte dakrails en raamomlijsting, en bijpassende zwarte buitenspiegels. De 20-inch F-Sport Design wielen versterken de sportieve uitstraling, vooral in combinatie met de F-White lak.

©Irwin Versteegh - Duijnstee

Premium interieur

De Lexus NX biedt een luxe interieur: alles voelt solide en prettig aan. Bovenop het dashboard zit standaard een 14inch-touchscreen voor infotainment vanaf de Business Line; de basisuitvoering heeft een 9,8inch-scherm. Navigatie en draadloos Apple CarPlay of Android Auto zijn standaard aanwezig.

©Irwin Versteegh - Duijnstee

E-Latch-deuropeners

Het zitcomfort is goed en ook de ondersteuning voor beide ellebogen is uitstekend. Enkel het axiaal beperkt verstelbare stuurwiel kan beter. De NX is voorzien van een deels digitaal instrumentarium en e-Latch deurontgrendeling. Deze portieropeners zorgen ervoor dat je geen deur kunt openen als er verkeer van achteren aankomt.

©Irwin Versteegh - Duijnstee

Details en afwerking

In de Lexus NX zijn details en finesse volop aanwezig. De bediening van elementen zoals de middenarmsteun voelt licht en doordacht, terwijl de klimaatregeling, met nanotechnologie, niet alleen nare geurtjes, maar ook droge huid helpt voorkomen. De geluidsisolatie zorgt daarnaast voor rust in het interieur.

Standaard krijg je een audiosysteem met negen luidsprekers en een subwoofer. Voor wie meer wil, is er in de President-uitvoering een Mark Levinson-systeem met zeventien luidsprekers en een vermogen van 1800 watt, voor een premium luisterervaring.

©Irwin Versteegh - Duijnstee

1500 kilo trekgewicht

Op de achterbank is voldoende plek voor drie volwassenen. De kofferbakinhoud is voor alle versies gelijk. Deze meet 520 liter en is te vergroten naar maximaal 1411 liter. Een sterk punt van de PHEV is het trekgewicht. Mag de normale hybride als 2WD en AWD maximaal 1000 kilogram trekken, na het aanvinken van het 2495 euro kostende Explorer Pack wordt dit naar 1500 kilogram verhoogd. In het pack zit een afneembare trekhaak en een kogeldruk van 100 kilogram. 

©Irwin Versteegh - Duijnstee

Bereik van de accu

De instap-Lexus NX betreft de 350h. Deze is voorwielaangedreven en beschikt over een 2,5liter-viercilinder benzinemotor die samenwerkt met een 192pk en 270Nm sterke elektromotor. Er is ook een 350h AWD met een extra 54pk en 121 Nm sterke elektromotor op de achteras.

Voor de test is gereden met de plug-in hybride 450h+. De basis-aandrijflijn is gelijk aan die van de 350h AWD. Dankzij een 18,1kWh-lithium-ion batterij kan het elektrische vermogen langer worden aangesproken: zo'n 74 (Luxury Line) of 69 kilometer volgens de WLTP-testmethode.

🚘Meer weten over auto-afkortingen? Lees dan: Van actieradius tot WLTP: dit is het EV-ABC

©Irwin Versteegh - Duijnstee

Accumanagement

De auto is uitgerust met een eenfase-6,6 kW boordlader, terwijl de warmtepomp ook in de winter zorgt voor een bruikbare actieradius. Interessant is de slimme software die ervoor zorgt dat de batterij in topconditie blijft, zelfs als je deze niet vaak oplaadt. De accu wordt regelmatig ont- en opgeladen om alle cellen actief te houden. Lexus biedt bovendien 10 jaar garantie op de batterij.

Krachtige en soepele aandrijflijn

Het gecombineerde vermogen is 309 pk en in 6,3 seconden ben je van 0 tot 100 km/u. De topsnelheid is 200 km/u. Prettig is het hoge elektrische vermogen van gecombineerd 246 pk, zo'n 100 pk meer dan bij de concurrentie.

Ontdek jouw ideale elektrische auto

Vergelijk en vind de beste deals op Kieskeurig.nl!

Verbruik bij lege accu

Is de accu na zo'n 65 kilometer te hebben gereden leeg, dan verandert de NX in een normale hybride. De elektromotor wordt getemperd en dat zorgt mede voor een op dat moment nog steeds laag brandstofverbruik. Een gemiddelde van 1 op 16 is dan prima te realiseren; een uitstekende waarde. 

©Irwin Versteegh - Duijnstee

Rijdynamiek

Voor wat betreft de rijdynamiek plaatst de NX zich tussen de compactere LBX en grotere broer RX. Zo stuurt hij verrassend direct en voelt hij mede dankzij het formaat wendbaar en overzichtelijk. Op de snelweg is het de rust in het onderstel waarmee hij overtuigt,net als de uitstekende geluidsisolatie, rechtuit-stabiliteit en het uitmuntend werkende Lexus Safety System+, inclusief een autonome rij-assistent van level 2. 

©Irwin Versteegh - Duijnstee

AVS-dempers

Kun je de Volvo, Mercedes en Audi optioneel met luchtvering krijgen, bij Lexus is dit niet het geval. Het merk focust zich op zogeheten AVS-dempers. Deze Adaptive Variable Suspension-ophanging is standaard onder de F-Sport en President Line en zorgt ervoor dat de NX te allen tijde vlak blijft. Dit kan extra comfort geven, maar met name bij het afrijden van drempels zou een soepelere demping juist voor wat meer comfort mogen zorgen. 

©Irwin Versteegh - Duijnstee

Prijzen en uitvoeringen

De Lexus NX is als 350h leverbaar vanaf 61.995 euro. De 350h AWD kost minimaal 71.995 euro. Pluggen kan met de 450h+ vanaf 65.995 euro en de geteste 450h+ F-Sport Line staat voor 74.995 euro op de lijst. 

▼ Volgende artikel
Review HMD Fusion – Bijzondere smartphone voor weinig geld
Huis

Review HMD Fusion – Bijzondere smartphone voor weinig geld

De HMD Fusion is een van de opvallendste smartphones van 2024. Je kunt namelijk speciale hoesjes om de telefoon doen om extra functies te gebruiken. Zo kan de budgettelefoon opeens betere selfies maken of draadloos opladen. In deze HMD Fusion-review zoomen we in op de accessoire en de smartphone zelf.

Oké
Conclusie

De HMD Fusion is een interessante smartphone, omdat je hem kunt uitbreiden met hoesjes vol extra functies. Een bijzonder concept, al hebben we helaas nog niet alle hoesjes kunnen testen. Als toestel zelf maakt de Fusion minder indruk: hij is weliswaar prima te repareren, maar heeft eenvoudige specificaties en krijgt korter updates dan de concurrentie. Daarmee is de HMD Fusion een opvallende telefoon voor een select publiek.

Plus- en minpunten
  • Zelf te repareren
  • Optionele hoesjes bieden extra functies
  • Lange accuduur
  • Speciale hoesjes laten op zich wachten
  • Matige specificaties
  • Mager updatebeleid

De HMD Fusion is te koop in twee versies, met respectievelijk 6 GB werkgeheugen en 128 GB opslagcapaciteit en 8 GB / 256 GB. Wij hebben het eerste model getest, dat een adviesprijs van 270 euro draagt. Voor dertig euro meer koop je het betere model, wat wij een nette meerprijs vinden.

In de doos vind je naast een usb-c-oplaadkabel ook een stevig transparant hoesje, dat geen functies toevoegt behalve je toestel beschermen tegen krassen en een valpartij. HMD verkoopt het hoesje ook in het blauw, groen en roze.

Speciale hoesjes

Interessanter zijn de accessoires die wél extra’s bieden, via de stroompinnetjes in het hoesje en op de achterkant van de telefoon. HMD presenteerde in september een hoesje met uitklappende ledring voor betere selfies in het donker, een extra stevig hoesje met een SOS-knop en een hoesje dat draadloos opladen mogelijk maakt.

Met de verkrijgbaarheid van die hoesjes schiet het vooralsnog niet op: die met de selfiering en SOS-knop komen volgens de HMD-website 'later dit jaar beschikbaar' en het oplaadhoesje ontbreekt begint november nog op die website. Wat de hoesjes gaan kosten, is ook nog onduidelijk.

Gelukkig kon HMD ons wel al een hoesje met selfiering opsturen om te testen in combinatie met de Fusion. Dat hoesje is stevig en biedt veel grip. De ledring rond de cameramodule op de achterkant is met een vrije hand makkelijk – maar niet té makkelijk – omhoog te klappen en prijkt dan boven het scherm uit. Vervolgens vind je in de camera-app een instelling voor de aparte flitser, die dus stroom krijgt via het toestel. Je kunt in die instelling onder andere de kleurweergave en helderheid van de flitsring aangeven. De flitsring werkt naar behoren.

📱Leestip: Waar voor je geld: 5 uitgebreide smartphones voor max 500 euro

©Rens Blom

Hieronder vind je twee selfies, gemaakt in het donker op straat. Op de linkerfoto gebruikten we de HMD Fusion als een normale smartphone, waarbij het scherm oplicht om je gezicht in beeld te brengen. Op de rechterfoto stond de flitsring boven het scherm. Wij kregen gemengde reacties op het nut en de kwaliteit van de flitsring, met name omdat hij je gezicht minder natuurlijk weergeeft.

©Rens Blom

Interessant initiatief

Hoewel we dus nog niets kunnen zeggen over de prijzen en de kwaliteit van de andere hoesjes, vinden we het initiatief van HMD interessant. Het doet ons terugdenken aan Motorola, dat jaren geleden al smartphonehoesjes met boeiende functies uitbracht. Denk aan een extra accu, krachtige luidspreker of zelfs miniprinter. HMD pakt het vooralsnog minder exotisch aan, maar belooft wel meer speciale hoesjes. Wij zijn benieuwd.

Positief in ieder geval is dat HMD alle benodigde technische informatie opensource gemaakt heeft, waardoor bedrijven en hobbyisten zelf hoesjes en accessoires kunnen maken die werken met de Fusion.

De HMD Fusion als smartphone

Als smartphone is de HMD Fusion ook noemenswaardig. In lijn met HMD's duurzaamheidsfilosofie is het toestel grotendeels zelf uit elkaar te halen met een schroevendraaier. Op die manier kun je het scherm, de accu, usb-c-poort en andere belangrijke onderdelen vervangen.

HMD verkoopt die onderdelen (straks) zelf via zijn website en stelt reparatiehandleidingen beschikbaar. Een mooi pluspunt van het toestel, zeker ten opzichte van concurrerende telefoons die alleen door een professionele partij te repareren zijn. De prijzen van vervangende onderdelen vinden we schappelijk. Een nieuwe accu kost 25 euro, een nieuw scherm 50 euro.

©Rens Blom

Als 270 euro kostende telefoon biedt de HMD Fusion echter minder goede specificaties dan je verwacht in deze prijsklasse. Weliswaar voelt het toestel stevig aan, het 6,56inch-LCD-scherm met lage resolutie van 1612 x 720 pixels maakt het beeld niet scherp. En de Qualcomm Snapdragon 4 Gen 2-processor is oud en eenvoudig, waardoor de telefoon merkbaar trager is dan de concurrentie. Dat belooft weinig goeds voor de prestaties na een jaar gebruik.

Ook op de camera's is bezuinigd. De Fusion mist een groothoekcamera om extra wijde foto’s te schieten, bijvoorbeeld. Daar staat tegenover dat HMD de Fusion wel een prima selfiecamera met een 50megapixel-resolutie geeft. De camera achterop heeft maar liefst 108 megapixels, maar is kwalitatief niet bijzonder.

©Rens Blom

De 5000mAh-accu gaat wel lekker lang mee, geholpen door de eenvoudige processor en lage schermresolutie. Je kunt de HMD Fusion bijna twee dagen gebruiken voordat je de oplader moet pakken.

Mager updatebeleid

Het updatebeleid van de Fusion is helaas mager. HMD belooft upgrades naar Android 15 en 16 en drie jaar beveiligingsupdates. In dit prijssegment kun je telefoons met vier of vijf jaar updates kopen, onder andere van Samsung.

Conclusie: HMD Fusion kopen?

De HMD Fusion is een interessante smartphone omdat je hem kunt uitbreiden met hoesjes vol extra functies. Een bijzonder concept, al hebben we helaas nog niet alle hoesjes kunnen testen. Als toestel zelf maakt de Fusion minder indruk: hij is weliswaar prima te repareren, maar heeft eenvoudige specificaties en krijgt korter updates dan de concurrentie. Zo is de HMD Fusion een opvallende telefoon voor een select publiek.