ID.nl logo
Maak een smarthome-dashboard met UIFlow
Huis

Maak een smarthome-dashboard met UIFlow

M5Stack ontwikkelt ESP32-microcontrollerbordjes met behuizing en scherm die je zo in je woonkamer zou kunnen zetten. Het zijn de ideale producten om een dashboard voor je smarthome van te maken. Met UIFlow is dat ook vrij eenvoudig te programmeren, op een grafische manier. Zo hoef je geen kaas gegeten te hebben van programmeercode.

UIFlow is een grafische ontwikkelomgeving voor de producten van M5Stack, ESP32-microcontrollerbordjes met behuizing en scherm. Met UIFlow kun je op een visuele manier een programma opbouwen door blokjes te verslepen, zonder dat je een letter programmeercode hoeft te schrijven. Ook de grafische interface op het scherm kun je zo eenvoudig met drag-and-drop instellen. Op deze manier maken we in deze masterclass een dashboard voor je smarthome.

Hardwarekeuze

UIFlow ondersteunt alleen de hardware van M5Stack, maar gen willekeurig ESP32-microcontrollerbordjes. Het voordeel is dat de drivers van hun eigen producten allemaal ingebouwd zijn. Voor onze toepassing van een smarthome-dashboard kies je een van de M5Stack-producten met ingebouwd scherm.

Ga je voor een klassiek tft-scherm, dan kom je uit bij de M5Stack Core2 of de voorganger M5Stack Core. De Core2 heeft een aanraakscherm, zodat je je slimme producten ook eenvoudig kunt bedienen via het scherm. De Core heeft geen aanraakscherm, maar wel drie fysieke knoppen onder het scherm, waarmee je ook acties in je smarthome kunt aansturen.

Gaat je voorkeur uit naar een e-ink-scherm, dan heeft M5Stack de Core Ink (1,54 inch) en de M5Paper (4,7 inch). Dit laatste product heeft een aanraakscherm met een hoge resolutie van 960 bij 540 pixels, terwijl de Core Ink aan te sturen is via een knop aan de zijkant. Beide e-ink-apparaten zijn voorzien van een batterij en een magneet. Daardoor kun je ze eenvoudig tegen je koelkast of een ander metalen voorwerp bevestigen.

De M5Stack Core Ink is het ideale apparaatje voor een smarthome-dashboard.

UIFlow-firmware installeren

We gaan aan de slag met de Core Ink om de binnen- en buitentemperatuur van ons huis op het e-paperscherm te tonen. Die lezen we via MQTT in. Onder Windows en macOS moet je eerst nog een driver downloaden voor de USB-naar-UART-chip van het apparaatje. Afhankelijk van het model is dat de CP210x of de CH910x. De drivers zijn ook in de downloadsectie van de website van M5Stack te vinden. De Linux-kernel heeft die drivers al ingebouwd.

Na de installatie van de driver (voor de Core Ink is dat de CP2104) heb je ook nog de software nodig om de UIFlow-firmware op je apparaatje te installeren. Dat is M5Burner, en ook deze software vind je op de downloadpagina van M5Stack, zowel voor Windows als macOS en Linux. In M5Burner kies je links je apparaat en rechts klik je bij UIFlow op Download.

Verbind nu je Core Ink via de usb-kabel met je computer en klik op Burn om de firmware naar je apparaat te schrijven. In het volgende venster vul je de SSID en het wachtwoord in van het wifi-netwerk waarmee je het apparaat wilt verbinden, en klik je op Next. Daarna kies je de juiste seriële poort en snelheid, en klik je op Start.

Download de seriële drivers en M5Burner van de website van M5Stack.

UIFlow verkennen

Wanneer de firmware op je apparaatje staat, verbindt het met je wifi-netwerk en toont het een API-sleutel. Bezoek nu de website van UIFlow, vul daar de API-sleutel van je apparaat in en klik op het model Core Ink. Bevestig met OK. Daarna krijg je links een voorstelling van je Core Ink te zien, in het midden een balk met blokjes in allerlei categorieën, en rechts je ‘code’ in Blockly, die initieel alleen uit een blokje Setup bestaat.

Als eerste test kun je een tekst op het scherm van je Core Ink tonen. Sleep uit de zijbalk helemaal links een Label naar het midden van het scherm van je Core Ink. Klik in het midden op UI, op Label en dan op Label label0 show "Hello M5". Dat blokje verschijnt dan op het canvas rechts. Klik het vast onder het blokje Setup. Klik dan onder UI op Screen, vervolgens op Set screen show en klik dit vast onder het vorige blokje. Klik dan helemaal onderaan op Run. Je code wordt nu op de Core Ink uitgevoerd.

En als je op Download klikt, wordt de code definitief als firmware op het bordje geschreven, zodat die na een herstart ook nog blijft draaien. Om je code dan te laten starten in plaats van de UIFlow-programmeermodus, moet je eerst in M5Burner bij UIFlow op Configurate klikken, je poort kiezen en dan bij Start Mode voor App Mode kiezen en op Save klikken. Wil je daarna je apparaatje weer programmeren, zet dit dan terug op Internet Mode.

Toon een tekst op het scherm met ‘programmeercode’ die je gewoon als LEGO-blokjes bij elkaar klikt.

Verbinden met MQTT

Om van de Core Ink een dashboard voor je smarthome te maken, hebben we een manier nodig om aan de data van bijvoorbeeld sensoren te komen. Dat doen we met MQTT. We gaan er hier vanuit dat je al een MQTT-broker zoals Mosquitto hebt draaien op een Raspberry Pi, bijvoorbeeld als add-on in Home Assistant. Houd de gegevens van je MQTT-broker bij de hand.

Klik in UIFlow op Advanced / MQTT en dan op het blok dat begint met set client id. Vul een unieke client ID in en dan de gegevens voor de server, zoals de hostname, het poortnummer, de gebruikersnaam en het wachtwoord. Verwijder het blokje van het label door erop te klikken en op Delete te drukken. Klik het MQTT-blok dan onder de Setup vast, voeg daaronder nog een blokje mqtt start toe en daaronder Set screen show. Als je deze code op je Core Ink draait, zou je in de logs van Mosquitto iets moeten zien als:

"New client connected from 192.168.0.215:58048 as Core Ink (p2, c1, k300, u'home')."

MQTT-onderwerp

We willen nu dat de Core Ink een sensorwaarde toont die binnenkomt op een specifiek MQTT-onderwerp. Dat doe je door een blokje Advanced / MQTT / mqtt subscribe toe te voegen. Dit klik je niet aan de rest van je blokjes vast, maar staat los daarvan. Vul het MQTT-onderwerp tussen de aanhalingstekens in.

Binnen dit blokje vind je de gegevens die op het gegeven MQTT-onderwerp worden ontvangen in de variabele topic_data. We gaan die waarde eerst in een variabele steken. Klik op Variables / Create variable, noem die bijvoorbeeld buitentemperatuur en klik op OK. Sleep Set buitentemperatuur to in het MQTT-blokje en plak daarachter het blokje Advanced / MQTT / get topic_data.

Temperatuur tonen

Dan rest ons nu nog om de temperatuur te tonen in een label. Omdat we met een e-ink-scherm werken mogen we het scherm niet te snel na elkaar verversen. Dat is de reden waarom we niet in het blok mqtt subscribe onmiddellijk de temperatuur op het scherm tonen, want sommige sensoren sturen elke seconde een nieuwe waarde via MQTT.

Daarom maken we een lus aan die elke minuut het label aanpast. Sleep de lus uit Event / Loop achter mqtt start en verwijder het blokje Set screen show dat er eerst stond. Voeg in de lus het blokje UI / Label / Label show toe. Vervang het blokje met de standaardtekst "Hello M5" door het blokje Variables / buitentemperatuur. Voeg dan het blokje Screen / Set screen show onder het label toe en daaronder Timer / Wait 1 s. Vervang de 1 door 60 voor een update elke minuut.

Update het scherm elke minuut met de buitentemperatuur.

Meerdere interface-elementen

We zijn begonnen met één label, maar we willen uiteraard meerdere sensorwaardes tonen. Gelukkig kun je de interface eenvoudig uitbreiden. Sleep uit de linkerzijbalk een Title, drie keer een Label en één keer een Line naar het scherm van de Core Ink. Je hebt nu vier labels: twee voor sensorwaardes en twee voor een begeleidende tekst. Met de lijn delen we het scherm op in twee vakken.

Sleep naar elke hoek van het scherm (linksboven, rechtsboven, linksonder en rechtsonder) een label. De exacte locatie pas je dadelijk aan. Klik dan op de lijn. Vul achtereenvolgens voor X1, Y1, X2 en Y2 de coördinaten 0, 110, 200 en 110 in. Dat levert een horizontale lijn op die ongeveer het midden van het scherm van 200 bij 200 pixels doorkruist. Klik op het kruisje om de eigenschappen van de lijn te verlaten.

Positioneer de lijn in het midden van het scherm.

Tekst aanpassen

Klik op elk van de labels om hun eigenschappen aan te passen. Het label linksboven geef je de tekst Buiten en lettertype DejaVuSans 18. Het label rechtsboven geef je hetzelfde lettertype. Het label linksonder geef je de tekst Binnen en ook hetzelfde lettertype. Dit lettertype ken je ook aan het label rechtsonder toe. De tekst van de labels rechtsboven en rechtsonder maakt niet uit: die gaat ons programma vervangen door de sensorwaardes. Ook bij de titel laten we de tekst door het programma aanpassen.

Laten we eerst de tekst van de titel aanpassen naar de huidige tijd. Daarvoor ga je naar Advanced / NTP en sleep je het blokje getiteld Init ntptime with host "cn.pool.ntp.org" and timezone 8 naar je canvas. Plaats het tussen Setup en de initialisatie van MQTT. Verander de host naar een server die zich dichterbij bevindt, zoals nl.pool.ntp.org, en verander de tijdzone naar 2. Sleep dan uit UI / Title het blokje Title title0 show "Title" en vervang de aanduiding "Title" door het blokje Get date format with "-" and time format with ":" uit Advanced / NTP. Sleep dan dit titelblokje binnen je lus, vóór het blokje dat je label toont.

Met een titel, labels en lijn bouw je eenvoudig je gebruikersinterface op.

JSON inlezen

Als je nu nog de buitentemperatuur op het juiste label toont en deze code op je Core Ink draait, krijg je in de titelbalk de huidige datum en tijd te zien, en in het bovenste gedeelte de buitentemperatuur. Nu kunnen we in het onderste gedeelte nog een andere temperatuur tonen als we daarvoor een extra variabele aanmaken die we in een ander mqtt-subscribe-blok een waarde geven. Dat blok kan ook complexer zijn, bijvoorbeeld als de MQTT-boodschap in JSON-formaat is (zie ook het kader ‘JSON’).

Maak daarvoor twee variabelen aan: één om de JSON-string in op te slaan (binnenjson), en één om de binnentemperatuur in op te slaan (binnentemperatuur). Voeg dan in een nieuw blok mqtt subscribe met het juiste MQTT-onderwerp het blok Variables / Set binnenjson to toe en vul het ontbrekende slot met JSON / loads json. In het ontbrekende slot van dit laatste plaats je Advanced / MQTT / get topic_data. Op deze manier lees je de MQTT-boodschap als JSON-structuur in en zet je die om naar een ‘map’ die je aan de variabele binnenjson toekent.

Waardes uit JSON halen

Voeg na dit blok dat de JSON-structuur inleest een blok Variables / set binnentemperatuur to toe en vul het ontbrekende slot met Map / get key … in map …. Na get key voeg je Text / " " toe en daar vul je de sleutel in waarin de temperatuurwaarde zit, zoals tempc. Na in map voeg je Variables / binnenjson toe.

Deze opdracht haalt dus de waarde van de sleutel tempc uit de map die de JSON-structuur bevat en kent deze toe aan de variabele met de binnentemperatuur. Als je nu in je lus ook de binnentemperatuur aan het juiste label toekent, zal je apparaatje elke minuut niet alleen de buitentemperatuur maar ook de binnentemperatuur updaten. Vergeet overigens niet je code op te slaan met het icoontje bovenaan rechts, zodat je hem later opnieuw kunt inladen en aanpassen.

Onze volledige UIFlow-code bestaat uit deze blokken.

JSON

JSON (JavaScript Object Notation) is een dataformaat dat zowel voor software als voor mensen eenvoudig is om aan te maken en te lezen. Er zijn twee basiscomponenten in JSON. De eerste is de collectie van paren naam/waarde. Zo’n JSON-code ziet er bijvoorbeeld als volgt uit: {"id":"16:2A:04:CE:19:72","rssi":-52}. Die heeft dus de naam id met waarde 16:2A:04:CE:19:72 en de naam rssi met waarde -52. De tweede basiscomponent is de lijst van waardes. Een waarde in een collectie kan immers ook een lijst van waardes zijn, die tussen rechte haken staat. Zo heeft het volgende voorbeeld de naam identifiers als waarde een lijst met drie strings: {"identifiers":["56847C365278","41CED86E4798","216B02CA25A5"]} Wil je meer weten over de exacte regels voor JSON-data, bekijk dan de website van JSON (www.json.org).

Meer blokjes

In deze masterclass hebben we maar een beperkt aantal blokjes geïntroduceerd om een eenvoudig dashboard voor je smarthome te maken. Maar UIFlow heeft nog veel meer types blokjes met allerlei mogelijkheden. Zo vind je onder Event de mogelijkheid om op het drukken op de knoppen van je Core Ink te reageren. Zo zou je een bericht naar je MQTT-broker kunnen verzenden (Advanced / MQTT / publish topic) als je de knop aan de zijkant naar boven of onder drukt.

En in de categorie Hardware krijg je dan weer toegang tot allerlei hardwarefunctionaliteit. Je spreekt hier de luidspreker aan, leds, batterij, GPIO-pinnen, UART, I²C, wifi enzovoort, afhankelijk van het model van je M5Stack-apparaat. En als je units en hats op je apparaat hebt aangesloten, vind je die functionaliteit in de gelijknamige categorieën.

De Core Ink heeft talloze hardwarematige uitbreidingsmogelijkheden die ook met UIFlow aan te sturen zijn.

Programmeren in blokjes

Onder Advanced vind je ook de mogelijkheid om een http-aanvraag te doen. Je geeft daarbij een methode, url, headers en data op en vult de blokjes in die bepalen wat er gebeurt bij het slagen of falen van de aanvraag. Je kunt ook meer low-level netwerkcommunicatie uitvoeren door een UDP-server of UDP-client op te zetten.

Ook van de echte programmeerconcepten hebben we nog niet veel getoond. Er zijn allerlei blokjes voor wiskundige berekeningen, diverse soorten lussen en vergelijkingen. Je kunt ook teksten manipuleren en met lijsten werken. En je kunt zelfs een functie in een afzonderlijk blok definiëren, die je dan in andere blokjes kunt oproepen. Blockly geeft je dus krachtige grafische programmeermogelijkheden.

MicroPython

Ook krachtig aan UIFlow is dat je Blockly-code onderliggend in MicroPython wordt omgezet, een lichtgewichtversie van de programmeertaal Python voor microcontrollers. Als je bovenaan op Python klikt, krijg je de MicroPython-code te zien die overeenkomt met je blokkenconstructie in Blockly. Klik je daarna op Blockly, dan krijg je weer je blokken te zien.

Tip: bestel ook de cursus Programmeren in Python!

Soms zul je misschien ook externe hardware willen aansturen die niet door UIFlow wordt ondersteund, of andere functionaliteit gebruiken die niet is voorzien. Dan kun je in Blockly onder Advanced / Execute een blokje Execute code toevoegen. Hierin typ je dan MicroPython-code. Die wordt dan rechtstreeks op die plaats uitgevoerd, wat je ook zult zien als je de Python-versie van je programma bekijkt.

Achter je Blockly-programma van UIFlow schuilt MicroPython-code.

Meer inzicht in het energieverbruik van je slimme huis? Bestel dan een energiemeter bij Bol.com.

▼ Volgende artikel
Dit wil je: WhatsApp als je slimme notitieboek
© amnaj
Huis

Dit wil je: WhatsApp als je slimme notitieboek

WhatsApp gebruik je vooral om te appen, maar het kan ook je handigste metgezel zijn. Door ideeën, taken en documenten direct in je eigen chat te zetten, ontstaat een systeem dat je altijd bij de hand hebt. In dit artikel lees je hoe je WhatsApp verandert in een slim notitieboek waarmee je gedachten en bestanden nooit meer zoekraken.

In dit artikel ontdek je:
  • Hoe je een notitiechat met jezelf start en slim gebruikt
  • Waarom WhatsApp sneller werkt dan traditionele notitie-apps
  • Manieren om structuur en takenlijsten overzichtelijk te houden
  • Hoe je documenten, bonnetjes en scans bewaart en terugvindt
  • Tips om je notitiechat veilig, opgeruimd en praktisch te houden

Ook interessant: Chatfilters in WhatsApp: zo houd je je chats overzichtelijk

WhatsApp is de plek waar we eindeloos appen: van gênante groepsfoto’s tot boodschappenlijstjes van je partner. Maar dezelfde app kan meer, véél meer. Zie het als je digitale notitieboekje: altijd open, altijd bij de hand en verrassend krachtig. Waar veel notitie-apps al snel vergeten worden, schuift WhatsApp elke dag vanzelf je scherm in. Dat maakt de drempel om iets vast te leggen lager dan ooit. En het mooiste? Je hoeft geen nieuwe app te leren gebruiken, want WhatsApp zit vermoedelijk al diep in je dagelijkse routine.

Praat met jezelf

De slimste chat is er eentje met jezelf. Dat klinkt misschien een beetje raar, maar het werkt verrassend goed. In recente versies van WhatsApp kun je simpelweg je eigen naam kiezen in het contactenoverzicht en een gesprek starten. Lukt dat niet, stuur dan een berichtje naar je eigen nummer (al is het maar 'hallo') en je hebt je persoonlijke notitieboek geopend. Vanaf dat moment staat er een privéruimte voor je klaar waarin je ideeën, lijstjes en bestanden kwijt kunt. Zet die chat bovenaan vast, zodat hij nooit wegzakt tussen familieberichten, werkdiscussies en de eindeloze stroom aan grappige gifjes van vrienden. Het voelt in eerste instantie een beetje gek, maar na een week wil, nee kún je niet meer zonder.

Snel noteren zonder gedoe

Een idee is vaak vluchtig. Je staat bij de kassa, bent onderweg met de trein of ligt net in bed om te gaan slapen als je opeens denkt: dit moet ik onthouden! Het noteren mislukt meestal niet door een gebrek aan apps, maar door de extra moeite die het kost. Geloof ons, WhatsApp maakt dat verschil. Je opent de app toch al tientallen keren per dag, dus een korte notitie intikken is geen extra drempel. Begin met een korte eerste regel die fungeert als titel, plak er een link of losse gedachte onder en klaar. Voeg een foto of screenshot toe als geheugensteuntje. Heb je geen zin om te typen? Neem een spraakbericht op. Later kun je die afspelen op je laptop en desnoods omzetten naar tekst (superhandig: je kunt spraakberichten direct in WhatsApp laten transcriberen). Het voelt minder aan als 'notities maken' en meer als gewoon appen, en juist dat maakt het zo laagdrempelig.

Structuur die niet in de weg zit

De grootste valkuil van digitale notities is overstructureren. Je begint enthousiast met mappen, categorieën en kleurcodes, en drie weken later is het systeem te ingewikkeld om nog bij te kunnen houden. Bij WhatsApp werkt dat anders. Begin met één centrale notitie-chat en gebruik simpele labels als 'Werk', 'Idee' en 'Boodschappen'. Dankzij de zoekfunctie vind je berichten razendsnel terug. Toch behoefte aan meer onderverdeling? Maak dan aparte themagroepen met alleen jezelf. Voeg kort iemand toe, verwijder die weer en je hebt een solo-chat met een duidelijke naam en profielfoto. Een geel vlak voor 'Bonnetjes', een rood vlak voor 'Reiskosten': herkenbaar in één oogopslag. Zo heb je structuur zonder dat het systeem in de weg zit.

©Yuri Arucrs peopleimages.com

Takenlijst in WhatsApp-stijl

WhatsApp is geen taken-app, maar je kunt de functies slim inzetten. Markeer actiepunten met een ster en gebruik de antwoord-functie om updates en voortgang eraan vast te knopen. Stel: je noteert 'Bel de loodgieter' en krijgt later extra informatie. Door die informatie als reply op het oorspronkelijke bericht te zetten, blijft de hele geschiedenis bij elkaar. Klaar met de taak? Verwijder de ster of sluit af met een korte reply: 'Gedaan, 17 september'. Zo blijft je takenlijst overzichtelijk en in samenhang. Je ziet niet alleen wat je moest doen, maar ook hoe het liep. Dat geeft meer grip dan losse to-dolijstjes die uit elkaar vallen.

Je eigen archiefkast

Iedereen heeft bonnetjes, facturen, pdf's en foto's van whiteboards die ergens rondslingeren. WhatsApp kan die rol van digitale schoenendoos verrassend goed overnemen. Alles wat je in je notitie-chat plaatst, wordt automatisch gesorteerd op type. Zoek je dat ene aankoopbewijs? Open de mediabibliotheek, filter op documenten en je hebt het binnen seconden teruggevonden. Ook foto's, links en screenshots kun je daar terugvinden. Door de ingebouwde documentmodus van de camera worden scans vlak en goed leesbaar, zodat je geen aparte scan-app meer nodig hebt. Je notitie-chat groeit zo ongemerkt uit tot een compleet persoonlijk archief, zonder dat het chaotisch aanvoelt.

©PaeGaG - stock.adobe.com

Extra vaart met WhatsApp Web

Op je telefoon is WhatsApp al handig, maar pas op de laptop of desktop gaat het echt vliegen. Via WhatsApp Web of de desktop-app kopieer je moeiteloos lange teksten, codefragmenten en bestanden naar je notitie-chat. Andersom stuur je materiaal net zo makkelijk weer terug naar andere programma’s. De zoekfunctie werkt veel fijner met een toetsenbord en met sneltoetsen kun je in een oogwenk informatie uit elke app doorsluizen naar WhatsApp. Het voelt bijna alsof je een lichte projectmanagementtool gebruikt, maar dan in een jasje dat je al jaren kent.

Automatiseren voor luie slimmeriken

Deelknoppen en snelkoppelingen maken het nóg efficiënter. In Android deel je vanuit vrijwel elke app direct naar WhatsApp en stel je jouw notitie-chat in als standaardontvanger. Binnen iOS maak je via Opdrachten een actie die geselecteerde tekst met één tik doorstuurt naar jouw notitie-chat. Daarmee bespaar je tientallen kleine handelingen per dag. En maak er een ritueel van: schrijf elke avond drie korte regels (Wat gedaan, wat geleerd, wat morgen) en je notitie-chat wordt vanzelf een logboek dat overzicht en rust geeft. Geen rommel, maar een lopend dagboek waar je later veel aan hebt.

Veilig en privé

Wie WhatsApp als notitieboek gebruikt, moet ook nadenken over veiligheid. Zet verdwijnende berichten uit, zodat je informatie niet per ongeluk verdwijnt. Zorg dat end-to-end versleutelde back-ups actief zijn en beveilig die met een wachtwoord of herstelsleutel die je in je wachtwoordmanager opslaat. Activeer app-vergrendeling met vingerafdruk of gezichtsherkenning en laat de telefoon-encryptie standaard aan staan. Zo weet je zeker dat je notities net zo goed beschermd zijn als je persoonlijke gesprekken. Handig én geruststellend.

©Farknot Architect - stock.adobe.

Opruimen zonder moeite

Let op, want na een paar weken kan je notitie-chat flink uitdijen. Plan daarom regelmatig een korte opruimsessie van twee minuten in. Gebruik de zoekfunctie om grote video's te vinden en te verwijderen, archiveer oude notities of sluit ze af met een update. Wil je terug naar een specifiek moment, dan kun je in de zoekfunctie gericht naar een maand springen en snel door die periode bladeren. Zo blijft je notitie-chat overzichtelijk en bruikbaar in plaats van een digitale stortplaats.

De valkuilen ontwijken

Het lijkt simpel, maar er zijn valkuilen. De grootste fout is versnipperen: een beetje in WhatsApp, een beetje in Evernote (gebruikt iemand dat nog?) en wat losse mails. Kies één hoofdsysteem en houd je daaraan. Anders verlies je het overzicht. Een tweede fout is het gebruik van titelloze notities. Losse zinnen zonder duidelijke eerste regel zijn later onvindbaar. En tot slot vergeten veel mensen hun notitie-chat vast te pinnen, waardoor hij wegzakt in de massa. Het zijn kleine dingen, maar ze maken het verschil tussen een systeem dat werkt en een systeem dat verwatert.

Tadaa, je nieuwe gewoonteboek

Productiviteit draait om frictie wegnemen. WhatsApp open je sowieso al tientallen keren per dag, vaak zonder na te denken. Als je die gewoonte benut, verandert de app ongemerkt in een slim notitieboek. Begin met één chat met jezelf, pin hem vast, gebruik labels en maak gebruik van de zoekfunctie en mediabibliotheek. Binnen een week voelt het aan alsof WhatsApp niet langer alleen een praatpaal is, maar ook je persoonlijke geheugen. Een gewoonteboek dat je eindelijk wél volhoudt.

▼ Volgende artikel
Panasonic brengt Lumix TZ99 nu ook in het wit uit
© Panasonic
Huis

Panasonic brengt Lumix TZ99 nu ook in het wit uit

Panasonic introduceert een nieuwe uitvoering van de Lumix TZ99: een compacte superzoomcamera die er nu ook is in een witte variant. Door zijn formaat (11,2 x 6,7 x 4,3 cm) is dit model makkelijk mee te nemen. Panasonic noemt het zelf dan ook een reiscamera.

📸 Veelzijdige lens en stabiel beeld

De LUMIX TZ99 White is uitgerust met een 24–720 mm LEICA DC-lens met 30x optische zoom, uit te breiden tot 60x met iZoom. Dankzij de 5-assige HYBRID O.I.S.+ beeldstabilisatie blijven beelden scherp, ook bij het inzoomen of bij opnames uit de hand.

📸 Video in 4K en slowmotion

Naast fotografie is de camera geschikt voor 4K-video's met 30 beelden per seconde en 4K PHOTO waarmee je snel bewegende momenten vastlegt. Voor creatieve effecten is er ook HD-video met 120 fps slowmotion.

📸 Scherm en bediening

De TZ99 White heeft een kantelbaar 1.840k-dot touchscreen dat het eenvoudig maakt om vanuit verschillende hoeken te fotograferen of vloggen. Via de gebruiksvriendelijke interface kunnen instellingen snel aangepast worden.

📸 Moderne connectiviteit

Dankzij USB-C kan de camera snel worden opgeladen. Met bluetooth 5.0 maak je verbinding met je smartphone om foto's direct te delen of de camera op afstand te bedienen.

De Panasonic Lumix TZ99 White is verkrijgbaar voor een adviesprijs van 549 euro.

Slide
Slide
Slide
Wat maakt een reiscompactcamera handig?

Een reiscompactcamera zoals de LUMIX TZ99 White biedt een krachtige zoomlens in een klein formaat. Zo kun je zowel weidse landschappen als details in de verte vastleggen zonder van lens te wisselen. Bovendien zijn ze lichter en kleiner dan een spiegelreflex of systeemcamera, waardoor je ze makkelijk meeneemt op vakantie of een stedentrip.