ID.nl logo
Zo kun je programmeren in Python - Deel 5
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 5

In de href="https://computertotaal.nl/artikelen/pc/zo-kun-je-programmeren-in-python-deel-4/" rel="noopener noreferrer" target="_blank">vorige les</a> toonden we allerlei manieren om de uitvoer van tekst op het scherm aan te passen. In deze les zetten we de stap van je scherm naar bestanden: we gaan gegevens uit bestanden lezen en naar bestanden schrijven. Daarnaast leer je reageren op exceptions: foutmeldingen die Python je geeft als er iets misgaat.

Twee lessen geleden gebruikte je de functie input om wat de gebruiker op zijn toetsenbord intypt te registreren. En in de vorige les toonden we je hoe je met de functie print uitvoer op het scherm toont. Maar in- en uitvoer kan ook via bestanden verlopen. Laten we eens kijken hoe dat gaat.

Hier kun je les vier bekijken.

We beperken ons in deze les tot het lezen en schrijven van tekstbestanden. Je kunt ook met binaire bestanden werken, die willekeurige data in een andere vorm dan tekst kunnen bevatten, maar dat is wat meer werk omdat je de data nog moet interpreteren. Voor de rest werkt dit hetzelfde.

Een tekstbestand lezen

We tonen hier in een voorbeeld hoe je op een Linux-machine zoals een Raspberry Pi met Raspberry Pi OS (tot voor kort Raspbian geheten) het bestand met de lijst van gebruikers uitleest. Ook op macOS werkt dit voorbeeld. Gebruik je Windows, maak dan zelf een bestand aan met de inhoud die we in ons voorbeeld tonen en pas de locatie van het te openen bestand aan in je Python-code.

De eenvoudigste manier om een volledig tekstbestand uit te lezen en op het scherm te tonen, heeft maar twee regels nodig:

with open('/etc/passwd', 'rt') as bestand:

print(bestand.read())

In de eerste regel openen we het bestand met de functie open. Het eerste argument is het bestand dat we willen openen. We hebben hier een volledig pad gebruikt: '/etc/passwd'. Als je een bestand wilt lezen dat in dezelfde directory staat als waarin je de Python-interpreter hebt opgestart, hoef je geen volledig pad door te geven: de bestandsnaam volstaat dan. Met het tweede argument 'rt' geven we aan dat we het bestand willen lezen en dat het om een tekstbestand gaat.

De constructie met with is wat Python een ‘context manager’ noemt. In het with-blok heb je toegang tot het object bestand dat het geopende bestand voorstelt. Na het with-blok wordt het bestand automatisch gesloten, zodat je het niet meer kunt lezen. Dit lijkt vanzelfsprekend, maar dat is het niet: ook zonder with kun je bestanden openen, maar als je dan het bestand na gebruik vergeet te sluiten, kan dit tot problemen leiden. Werk dus nooit met bestanden zonder with.

In de tweede regel roepen we de functie read op het object bestand aan. Deze functie geeft de volledige inhoud van het tekstbestand terug als een string, die we dan met print op het scherm tonen. Op een typisch Linux-systeem ziet de uitvoer er als volgt uit (we tonen hier maar enkele regels):

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

Enzovoort

Een tekstbestand regel voor regel lezen

Maar wat als we niet het hele bestand in één keer willen inlezen, maar regel voor regel, bijvoorbeeld omdat we willen testen of de regels aan specifieke voorwaarden voldoen? Geen probleem, ook dat is in Python heel eenvoudig. In plaats van de functie read op je bestand toe te passen, ga je dan met een for-lus door de elementen van het bestand. Het tekstbestand dat je van de functie open terugkrijgt, gedraagt zich immers als een lijst met als elementen de opeenvolgende regels in het bestand.

Een string splitsen

Maar als we die regels een voor een gaan inlezen, moeten we er ook iets mee doen. Zoals je ziet, bevat het bestand /etc/passwd op elke regel allerlei informatie over de gebruiker, telkens afgescheiden door een dubbele punt. We willen elk van die gegevens afzonderlijk uitlezen. Dat gaat eenvoudig met de functie split die we op een string kunnen uitvoeren. Bijvoorbeeld:

>>> 'root:x:0:0:root:/root:/bin/bash'.split(':')

['root', 'x', '0', '0', 'root', '/root', '/bin/bash']

Je ziet hier dat we aan de functie split het teken meegeven dat de verschillende componenten van de string afscheidt: ':'. Het resultaat is een lijst met strings die onderdeel uitmaken van onze lange string, zonder de afscheidingstekens ':'.

De opeenvolgende componenten in de regels van het bestand /etc/passwd hebben overigens de volgende betekenis: gebruikersnaam, ongebruikt, ID van de gebruiker, ID van de groep, volledige gebruikersnaam, persoonlijke map van de gebruiker, shell van de gebruiker.

Een lijst uitpakken

Je kunt nu naar de elementen in de gesplitste string verwijzen met een index, bijvoorbeeld:

>>> informatie = 'root:x:0:0:root:/root:/bin/bash'.split(':')

>>> informatie[0]

'root'

>>> informatie[6]

'/bin/bash'

Maar dat is niet heel duidelijk. Zo willen we informatie[0] eigenlijk gebruiker noemen en informatie[6] de naam shell geven. Gelukkig kun je in Python de elementen van een lijst eenvoudig in één keer aan enkele variabelen toekennen. Dat heet unpacking. In ons voorbeeld gaat dat als volgt:

>>> gebruiker, *_, naam, directory, shell = 'root:x:0:0:root:/root:/bin/bash'.split(':')

>>> gebruiker

'root'

>>> _

['x', '0', '0']

>>> naam

'root'

>>> directory

'/root'

>>> shell

'/bin/bash'

De notatie * gebruik je om een willekeurig aantal elementen uit te pakken. Omdat we in dit geval niet in deze elementen geïnteresseerd zijn, kennen we ze toe aan de variabele met de naam _, vandaar dat we bij het uitpakken *_ gebruiken. We konden dit hier ook vervangen door gebruiker, _, _, _, naam, directory, shell.

Gegevens uit een tekstbestand filteren

Dan weet je nu genoeg om de volgende opdracht uit te voeren: lees het bestand met wachtwoorden regel per regel in en als de shell geen '/usr/sbin/nologin' of '/bin/false' is, toon je de gebruikersnaam, volledige gebruikersnaam en persoonlijke map.

De code ziet er als volgt uit:

with open('/etc/passwd', 'rt') as bestand:

for regel in bestand:

gebruiker, *_, naam, directory, shell = regel.strip().split(':')

if shell not in ['/bin/false', '/usr/sbin/nologin']:

print(' {1} ({0}): {2} ({3})'.format(gebruiker, naam, directory, shell))

We openen dus het bestand /etc/passwd als tekstbestand om te lezen. Voor elke regel in het bestand pakken we de verschillende elementen uit in enkele variabelen. We kijken dan of de shell niet gelijk is aan de twee eerdergenoemde shells. Als aan die voorwaarde is voldaan, tonen we de gebruiker, zijn volledige naam, zijn persoonlijke map en zijn shell.

Er is slechts één nieuwigheid in deze code: de functie strip. Die verwijdert witruimte en nieuwe regels aan het begin en het einde van een string. Dat hebben we hier nodig omdat de shell op het einde van de regel staat en er daar dus een teken voor een nieuwe regel komt. Zonder die aanroep van strip zou de vergelijking in de regel erna niet werken.

Naar een tekstbestand schrijven

Naar een tekstbestand schrijven, verloopt op een vergelijkbare manier als een tekstbestand lezen. We beginnen een with-blok waarin we het bestand openen en daarin schrijven we naar het bestand:

with open('bestand.txt', 'wt') as bestand:

bestand.write('Dit is de eerste regel.\n')

bestand.write('Dit is de tweede regel.\n')

bestand.write('Dit is de derde regel.\n')

Op het einde van elke regel moet je zelf een teken voor een nieuwe regel toevoegen: \n. Een andere manier om een regel naar een tekstbestand te schrijven, is met de functie print, die automatisch een nieuwe regel toevoegt:

print('Dit is de eerste regel.', file=bestand)

Merk op dat we het bestand openen met als tweede argument 'wt', waarmee we aangeven dat we naar het bestand willen schrijven. Op deze manier overschrijven we alle al bestaande inhoud van het bestand, dus let hiermee op!

Als je deze situatie wilt vermijden, kun je open aanroepen met de bestandsmodus 'xt'. Als het bestand nog niet bestaat, doet die hetzelfde als 'wt': je kunt naar het bestand schrijven. Maar als het bestand al bestaat, krijg je een foutmelding:

with open('bestand.txt', 'xt') as bestand:

print('Dit is een test.', file=bestand)

with open('bestand.txt', 'xt') as bestand:

print('Dit is nog een test.', file=bestand)

Traceback (most recent call last):

File "<pyshell>", line 1, in <module>

FileExistsError: [Errno 17] File exists: 'bestand.txt'

Een andere interessante bestandsmodus is 'at' (van ‘append’): hiermee voeg je aan het einde van een bestaand tekstbestand regels toe.

Exceptions afhandelen

In het voorbeeld hierboven zou je waarschijnlijk de foutmelding dat het bestand al bestaat op een nettere manier willen afhandelen. Wat we tot nu toe een foutmelding genoemd hebben, heet in Python een exception. Er bestaan verschillende types exceptions en in je Python-code kun je eenvoudig het optreden van exceptions afvangen. Dat gaat als volgt:

try:

with open('bestand.txt', 'xt') as bestand:

print('Dit is nog een test.', file=bestand)

except FileExistsError:

print('FOUT: Het bestand bestaat al.')

De code binnen het try-blok wordt uitgevoerd zoals normaal. Maar als er binnen dit blok een exception voorkomt, gaat het programma door naar het except-blok. Daarin hebben we aangegeven dat we alleen in de exceptions van het type FileExistsError geïnteresseerd zijn. In het geval er zo een voorkomt, tonen we onze eigen foutmelding. Daarna gaat het programma verder na het except-blok.

Als je meerdere types exceptions wilt afvangen, voeg je meerdere except-blokken toe met elk het andere type exception. Als je voor meerdere types exceptions dezelfde code wilt uitvoeren, dan zet je die exceptions tussen haakjes, zoals hier:

except (ZeroDivisionError, ValueError):

En als je op alle mogelijke exceptions hetzelfde wilt reageren, voeg je gewoon een except-blok zonder de naam van een exception toe, al is dat niet zo vaak zinvol.

Samenvatting

In deze les hebben we geleerd hoe we tekstbestanden kunnen inlezen en strings in onderdelen kunnen splitsen. Ook in de andere richting kun je nu met tekstbestanden werken: je kunt willekeurige tekst naar een bestand schrijven. En doordat je hebt geleerd hoe je exceptions kunt afvangen, hoeven de gebruikers van je programma geen cryptische foutmeldingen van Python meer te krijgen. Omdat je met deze kennis al complexere Python-programma’s kunt schrijven, leer je in de volgende les hoe je je programma meer kunt structureren in functies en modules.

Opdracht

Vraag de gebruiker om een regel zoals root:x:0:0:root:/root:/bin/bash voor gebruik in een wachtwoordbestand op te geven. Schrijf de belangrijkste elementen van de regel naar een afzonderlijke regel in een bestand, in de vorm: Gebruiker: root Naam: root Directory: /root Shell: /bin/bash Zorg dat je programma een heldere foutmelding geeft als de regel niet de correcte vorm voor een wachtwoordbestand heeft.

Uitwerking

regel = input('Voer een regel voor het wachtwoordbestand in: ') try: gebruiker, _, _, _, naam, directory, shell = regel.strip().split(':') with open('wachtwoordbestand', 'wt') as bestand: print('Gebruiker: {}'.format(gebruiker), file=bestand) print('Naam: {}'.format(naam), file=bestand) print('Directory: {}'.format(directory), file=bestand) print('Shell: {}'.format(shell), file=bestand) except ValueError: print('Voer de regel in de volgende vorm in:') print('gebruiker:x:0:0:naam:directory:shell') Dit is een rechtstreekse combinatie van alles wat je in deze les geleerd hebt. Let op: we hebben hier wel gebruiker, _, _, _, naam, directory, shell nodig en niet de kortere versie gebruiker, *_, naam, directory, shell. Met die laatste regel garanderen we immers niet dat de regel uit exact zeven elementen bestaat.

Cheatsheet

exception: een foutmelding in Python pad: de locatie van een bestand, met alle bovenliggende directorynamen erbij

▼ Volgende artikel
Review Ring Outdoor Cam Pro – Interessant, maar niet voor iedereen
© Wesley Akkerman
Zekerheid & gemak

Review Ring Outdoor Cam Pro – Interessant, maar niet voor iedereen

De Ring Outdoor Cam Pro is een redelijk prijzige, slimme beveiligingscamera voor buiten die flink wat in zijn mars heeft. Het apparaat kost 199,99 euro en daar komt – waarschijnlijk – nog maandelijks een abonnement bovenop.

Goed
Conclusie

De Ring Outdoor Cam Pro biedt fijne hardware, waaronder 4K-video met 10x digitale zoom (die nog redelijk acceptabel is ook). De installatie is eenvoudig, maar de camera mist wel de nodige smarthome-integraties (waardoor hij dus niet voor iedereen even handig is). Bovendien is hij aan de prijzige kant en heb je voor het optimale gebruik een abonnement nodig, waardoor je maandelijks of jaarlijks terugkerende kosten hebt. Daardoor betaal je hier meer voor dan bij Eufy, en daarom is de Outdoor Cam Pro alleen interessant als je al andere Ring-producten hebt.

Plus- en minpunten
  • Goede beeldkwaliteit
  • Nachtzicht met of zonder kleur
  • Installatie zo gepiept
  • Beschermd tegen weer en wind
  • Geen invloed op beeldkwaliteit
  • Abonnement voelt bijna nodig
  • Mist smarthomefuncties
  • Geen lokale opslagopties

De nieuwe Ring Outdoor Camera Pro heeft een compact, stabiel en minimalistisch ontwerp waardoor je hem direct als een Ring-apparaat herkent. Dankzij de compacte afmetingen kun je hem subtiel aan de muur ophangen. Je bent verzekerd van bescherming tegen weer en wind (een IP-rating is niet bekend) en er is een extra afdekking voor de kabelaansluitingen. Ring levert de camera daarnaast met een kogel-gelagerde muurbeugel en montagemateriaal. De stroomvoorziening verloopt via de usb-c-kabel achterop; dit is helaas geen model met eigen batterij.

De installatie is, zoals gebruikelijk bij Ring, snel en ongecompliceerd. Je maakt verbinding via wifi na het scannen van de QR-code en over het algemeen is de verbinding stabiel. We hebben gedurende de testperiode geen storingen opgemerkt. Mocht je de camera willen ophangen, dan moet je wel zelf even een gaatje boren; daar zit voornamelijk het werk in. In de doos zit overigens alles wat je nodig hebt om dat te doen. Denk dan aan die eerdergenoemde muurbeugel, maar ook aan alle schroeven en dergelijke. Je hoeft alleen de boor er zelf bij te pakken.

©Wesley Akkerman

Weinig zeggenschap over het beeld

De Ring Outdoor Cam Pro heeft een 4K-resolutie en een brede kijkhoek van 140 graden. Overdag zorgen natuurlijke kleuren en HDR-ondersteuning ervoor dat details en gezichten duidelijk herkenbaar blijven, zelfs bij tegenlicht. 's Nachts schakelt de camera automatisch over op helder zwart-witbeeld dankzij infrarood. Het systeem is bovendien in staat nachtvisie in kleur te leveren, maar daarvoor is er wel voldoende licht nodig. Hij schakelt automatisch van stand op basis van de hoeveelheid licht; je kunt helaas niet zelf bepalen of je in kleur of zwart-wit filmt.

Ring maakt verder gebruik van betrouwbare bewegingsdetectie, waarbij je via de app zones kunt instellen om vals alarm te voorkomen. De Ring Outdoor Cam Pro heeft 3D-bewegingsdetectie en Bird's Eye View (een typische Ring-uitvinding) voor nauwkeurige afstandsmetingen en het volgen van bewegingen. Met een Ring Protect-abonnement krijg je toegang tot geavanceerde herkenning van personen, dieren en voertuigen. Voor zaken als tweewegcommunicatie en de live-feed hoef je gelukkig niet in de buidel te tasten.

Het gebrek aan kleur komt door de mist.

Verplichte cloudopslag

Over het abonnement gesproken: daarmee krijg je ook nog toegang tot een uitgebreide videohistorie. Dat kost je wel minimaal 3,99 euro per maand. De opgenomen beelden blijven dan voor 180 dagen bewaard. Een belangrijk punt blijft echter de cloud-exclusiviteit; Ring maakt het nog steeds niet mogelijk om beelden lokaal op te slaan. Je bent dus verplicht een abonnement af te nemen als je je huisbeveiliging een beetje serieus neemt. De app faciliteert wel een overzichtelijk rechtenbeheer voor gezinsleden en waarschuwt bij allerlei ongeregeldheden.

De Ring-camera integreert tot slot met Alexa (de slimme assistent van Amazon) en IFTTT (een gratis en eenvoudige service voor smarthome-automatiseringen), maar mist helaas ondersteuning voor Google Home en Apple HomeKit (zoals dat al jaren het geval is). Via de Ring-app, beschikbaar voor Android en iOS, heb je de controle over de instellingen, inclusief het in- of uitschakelen van de sirene en bewegingsdetectie. De app toont een overzicht van gebeurtenissen en maakt het mogelijk voorgeprogrammeerde berichten af te spelen voor je bezoekers.

Van links naar rechts: infraroodnachtzicht, nachtzicht met kleur en nachtzicht zonder infrarood.

Lees ook onze review van de Ring Floodlight Cam Pro (2e gen)

Ring Outdoor Cam Pro kopen?

De Ring Outdoor Cam Pro biedt fijne hardware, waaronder 4K-video met 10x digitale zoom (die nog redelijk acceptabel is ook). De installatie is eenvoudig, maar de beveiligingscamera mist wel de nodige smarthome-integraties (waardoor hij dus niet voor iedereen heel handig is). Bovendien is hij aan de prijzige kant en heb je voor het optimale gebruik een abonnement nodig, waardoor je maandelijks of jaarlijks terugkerende kosten hebt. Daardoor betaal je hier meer voor dan bij Eufy, en daarom is de Outdoor Cam Pro alleen interessant als je al andere Ring-producten hebt.

▼ Volgende artikel
Tracker in je e-bike verstoppen? Dit zijn de beste plekken (en de risico's van een AirTag)
© Halfpoint - stock.adobe.com
Mobiliteit

Tracker in je e-bike verstoppen? Dit zijn de beste plekken (en de risico's van een AirTag)

Wist je dat er dagelijks tussen de 200 en 300 e-bikes gestolen worden? Als jij een elektrische fiets hebt, doe je er natuurlijk alles aan om dat te voorkomen. Maar zelfs wanneer je hem met meerdere sloten vastzet, is dat geen garantie dat dieven hem laten staan. Wordt je fiets toch gestolen, dan kan een tracker helpen om hem terug te vinden. Alleen: waar verstop je zo'n tracker het best, en welke systemen werken echt goed?

Dit artikel in het kort

📡Het verschil: bluetooth vs. GPS-trackers (en wat jij nodig hebt)
📡De 6 populairste plekken om een zender onzichtbaar te monteren
📡Wanneer moet je kiezen voor een gespecialiseerd systeem met abonnement?

Twee soorten trackers: bluetooth vs. GPS

Voordat je een tracker koopt, is het belangrijk om het onderscheid te kennen tussen de twee systemen die op de markt zijn. Het verschil zit hem vooral in de techniek en de prijs.

  1. Bluetooth-trackers (zoals de Apple AirTag): Deze zijn goedkoop (20 tot 40 euro) en compact. Ze hebben geen eigen internetverbinding of GPS, maar 'liften mee' op het signaal van telefoons van voorbijgangers.

  2. GPS-trackers: Ze hebben een ingebouwde simkaart en een eigen GPS-module. Ze zenden zelfstandig hun locatie uit, waar ze ook zijn, maar vereisen vaak wel een abonnement.

Bluetooth-trackers (zoals de Apple AirTag of goedkopere varianten) zijn inmiddels overal verkrijgbaar. De werking is heel simpel: de tracker zendt een bluetooth-signaal uit dat wordt opgepikt door smartphones van toevallige voorbijgangers. Die telefoons sturen vervolgens anoniem de locatie door via hun eigen internetverbinding. In drukke stadscentra werkt dit vaak prima, omdat er altijd wel iemand in de buurt is.

AirTag in je fiets? Dit zijn de nadelen en risico's

Rene Bolt is Chief Technology Officer bij Conneqtech, een bedrijf dat trackingsystemen voor e-bikes ontwikkelt. Volgens de expert is er op zich weinig mis met voordelige trackers, al laten de prestaties vaak te wensen over: bij budgetmodellen is de batterij vaak al na een maand leeg of blijkt de locatiebepaling onnauwkeurig, zegt hij.

Het grootste probleem zit hem volgens Bolt echter in het ontwerp. Een AirTag is bedoeld voor zoekgeraakte sleutels of tassen, niet voor gestolen fietsen. Dat brengt een onbedoeld risico met zich mee: om stalking te voorkomen, waarschuwt Apple automatisch mensen die ongewild gevolgd worden. "Een fietsendief wordt dus ook genotificeerd als er een onbekende AirTag meereist", waarschuwt Bolt. "Als hij een iPhone heeft, geeft die een alarm af en kan hij de tracker zelf opsporen."

🚲Lees ook: In 7 stappen de juiste e-bike-verzekering

©wachiwit - stock.adobe.com

View post on TikTok

Populaire verstopplekken

Juist omdát een dief vroeg of laat een melding op zijn telefoon kan krijgen, is de verstopplek cruciaal. Je wilt immers voorkomen dat hij het zendertje binnen tien seconden van je fiets plukt en weggooit. Wil je ondanks de risico's toch een bluetooth-tracker gebruiken? Zorg dan dat hij extreem moeilijk te vinden is. Populaire verstopplekken zijn onder meer een opbergvakje onder het zadel, de bidonhouder, een fietsbel, een fietstas, een fietsmand of bak, of - bij modellen met brede banden - tussen band en velg.

De meeste trackers geven een prima signaal af wanneer je ze verstopt achter de kunststof onderdelen van je fiets. "Wat je vooral niet moet doen, is de tracker inkapselen in metaal", legt Rene uit. "Het klinkt slim om een tracker binnenin het fietsframe te stoppen, maar waarschijnlijk kun je hem dan helemaal niet traceren."

Meer weten? Check dan: Zo vind je de beste GPS-tracker voor je e-bike

Fietsslot voor je e-bike: dit zijn 5 goede opties

Een tracker is vooral bedoeld voor wanneer je fiets al gestolen ís, maar dat wil je natuurlijk zoveel mogelijk voorkomen. Een goed slot dus:

ART-keurmerk: Het slot moet minimaal ART-2 gecertificeerd zijn (2 sterren).
Tweede slot: Veel verzekeraars verplichten tegenwoordig een tweede slot (ketting- of beugelslot) waarmee je de fiets aan de 'vaste wereld' (zoals een lantaarnpaal) vastzet.
Lengte:
Kies een ketting of vouwslot van minimaal 85 tot 100 cm, zodat je hem makkelijk ergens aan vastmaakt.

1. AXA Defender:Het klassieke ringslot dat op heel veel e-bikes standaard zit. Oersterk, ART-2 gekeurd en makkelijk uit te breiden met een insteekketting.
2. ABUS Iven Chain 8210: Deze ketting van 110 cm is van gehard staal, maar heeft een flexibele hoes die lakschade aan je fiets voorkomt. Uiteraard ART-2.
3. AXA Fold Ultra 90:Een compact alternatief voor de zware ketting. Dit vouwslot is makkelijk mee te nemen in de houder op je frame en vouwt uit tot 90 cm. Voldoet aan de ART-2 norm.
4. AXA Newton Promoto+ 2: Dit slot is ontwikkeld voor scooters, maar dankzij de ART-2 certificering perfect (en extra veilig) voor je e-bike. Voorzien van een neopreen hoes en geharde schakels.
5. AXA Absolute 9-90: Een modern kettingslot dat speciaal is ontworpen voor dagelijks gebruik. De '9-90' staat voor schakels van 9 mm dik en een lengte van 90 cm. Handig in gebruik en ART-2 gecertificeerd.

Netwerk en dekking

Ook de dekking van standaard winkeltrackers is niet altijd optimaal. Bolt noemt de techniek van Apple slim: doordat de locatie wordt bepaald via iPhones in de buurt, werkt het systeem perfect in de bebouwde kom of op drukke plekken. Zodra je de stad verlaat, is het een ander verhaal. In rustigere gebieden zijn er immers minder telefoons om verbinding mee te maken. "Zodra ik buiten de stedelijke omgeving kom," ziet hij in de praktijk, "loopt het signaal direct achter."

©Sebastian Rothe

Gespecialiseerd e-bike-trackers

Voor wie zekerheid wil, raadt Rene Bolt een gespecialiseerde e-bike-tracker aan. Deze systemen vertrouwen niet alleen op bluetooth, maar hebben ook een eigen internetverbinding én GPS. Een drievoudig systeem voor locatietracking dus.

Bekende voorbeelden zijn de Tracefy Bike Tracker of de AXA-IN Smart Guard (ontwikkeld door Conneqtech). Doordat ze meerdere technieken combineren, leveren ze bijna constant een sterk signaal, ongeacht waar de fiets staat. Via een app kunnen eigenaren hun fiets daardoor altijd volgen..

Keurmerk

Deze professionele trackers zijn wel een investering: gemiddeld ben je zo’n 200 euro kwijt aan installatie, plus een jaarlijks abonnement van een paar tientjes. “Toch biedt het wel een hoop waar voor je geld”, verdedigt Bolt de prijs. "We hebben een keurmerk elektronische e-bikebeveiliging van Kiwa en werken ook met verzekeraars samen die bij de duurdere e-bikes een tracker van deze kwaliteit verplichten."

Bescherm je e-bike tegen diefstal met een stevig fietsslot

En maak het dieven niet te gemakkelijk!

Aangifte en opsporing

Mocht je fiets onverhoopt toch gestolen worden, dan is aangifte doen altijd de eerste stap. Dit is verplicht voordat je bij de verzekeraar kunt aankloppen. Verzekeringsmaatschappijen werken vaak samen met particuliere beveiligingsorganisaties die gespecialiseerd zijn in het terugvinden van fietsen. "Je hebt dan een goede kans dat ze je e-bike terugvinden, maakt niet uit waar hij naartoe is vervoerd", aldus Rene.

Deze professionele opsporingsteams werken overigens liever niet met trackers zoals de AirTag, omdat het delen van locatiegegevens daarbij veel omslachtiger is dan bij een gespecialiseerde tracker. Omdat e-bikes met professionele systemen zo goed gemonitord worden, krijgen ze vaak een waarschuwingssticker op het frame. Zo weten dieven direct dat er ergens een zender verstopt zit. Dit kan al een afschrikwekkend effect hebben.

©Rostislav Ageev

Budgetoptie

Wil je niet de hoofdprijs betalen voor beveiliging? Dan kun je voor minder dan tien euro al online een eenvoudige bluetooth-tracker kopen, soms zelfs inclusief slimme opbergaccessoires. Bedenk wel dat hier een risico aan zit: als de fietsendief zelf een iPhone heeft, krijgt hij mogelijk automatisch een melding dat jouw tracker met hem meereist.