ID.nl logo
Zo draai je Android op je Raspberry Pi
© Reshift Digital
Huis

Zo draai je Android op je Raspberry Pi

Op een Raspberry Pi draai je normaal een Linux-distributie, maar ook Android draait erop. Het voordeel is dat je onmiddellijk een besturingssysteem hebt dat is ontworpen voor een aanraakscherm én dat je toegang hebt tot een breed assortiment Android-apps. Sluit gewoon een aanraakscherm op je Raspberry Pi aan, installeer Android en je hebt een infobord, spelletjesmachine en meer.

Stel jezelf eerst de vraag waarom je Android op je Raspberry Pi zou draaien? Raspberry Pi OS (het vroegere Raspbian) is best gebruiksvriendelijk en je hebt toegang tot allerlei opensource-software. Het is ook het officiële besturingssysteem van de Raspberry Pi en daardoor uitstekend ondersteund. Maar de standaard gebruikersinterface is domweg niet ontworpen voor een aanraakscherm.

Voor toepassingen waarbij een aanraakscherm wel handig is, gebruik je het best een besturingssysteem dat daar van meet af aan is voor ontworpen. En zo komen we bij Android uit. Als je een klein aanraakscherm op je Raspberry Pi aansluit, zou een tabletinterface immers ideaal zijn. Bovendien heb je zo ook toegang tot Android-apps, die allemaal ontworpen zijn voor een aanraakinterface. Wij probeerden Android 10 uit op een Raspberry Pi 4B met 8 GB geheugen in combinatie met het officiële 7inch-aanraakscherm voor de Raspberry Pi en een hdmi-aanraakscherm (ook 7 inch) van Adafruit, beide met een resolutie van 800 × 480 pixels. We raden echt de Raspberry Pi 4B aan: op de Raspberry Pi 3B+ bleek Android veel te traag te zijn.

©PXimport

01 Aangepaste LineageOS

Als je Android op je Raspberry Pi wilt draaien, heb je een aangepaste versie van LineageOS nodig, de bekendste custom rom voor Android-telefoons. Je vindt die aangepaste versie op de website van KonstaKANG, een ontwikkelaar die ook actief is op het Android-forum XDA-Developers. Met de hulp van anderen heeft hij LineageOS aangepast zodat die op de Raspberry Pi 3B, 3B+ en 4B (met minstens 2 GB geheugen) draait. Eerdere modellen van de Raspberry Pi worden niet ondersteund.

Heb je een Raspberry Pi 3B of 3B+, download dan de nieuwste LineageOS voor de Pi 3. Heb je een Raspberry Pi 4B, download dan de versie voor de Pi 4. Op het moment van schrijven was dat LineageOS 17.1 (wat overeenkomt met Android 10). Mogelijk is er wanneer je dit leest al een nieuwere versie.

Schrijf vervolgens het gedownloade zip-bestand met een programma zoals balenaEtcher of USBImager naar een micro-sd-kaartje van minstens 8 GB groot. Wanneer dat is voltooid, steek je het micro-sd-kaartje in je Raspberry Pi, sluit je het aanraakscherm, eventueel een ethernetkabel en tot slot de voedingskabel aan. Als alles goed gaat, start je Raspberry Pi nu in Android op.

©PXimport

02 Eerste opstart

Als je scherm zijn ondersteunde resoluties niet meldt via EDID, start LineageOS standaard op in een resolutie van 1280 × 720 pixels (voor de Raspberry Pi 3) of 1920 × 1080 pixels (voor de Raspberry Pi 4). Als je scherm die resolutie niet ondersteunt (zoals bij onze beide schermen het geval is), krijg je maar een deel van het scherm te zien. Om dat op te lossen, steek je de micro-sd-kaart weer in je pc en open je in de bootpartitie die wordt aangekoppeld het bestand resolution.txt. Vul daar de resolutie van je scherm in, zoals 800x480. Sla het bestand op, ontkoppel de micro-sd-kaart en start je Raspberry Pi er weer van op.

Gebruik je het officiële scherm van de Raspberry Pi, dan zul je nog altijd niets zien. Je dient daarvoor namelijk de software-renderer in te schakelen. De eenvoudigste oplossing is om eerst een ander scherm en een muis aan te sluiten, zodat je tenminste iets ziet en daarna de instellingen kunt aanpassen. Op de website van KonstaKANG vind je de instructies.

03 Initiële configuratie

Je ziet na een tijdje het beginscherm van LineageOS. Druk rechtsonder op de knop Next. Heb je een scherm zonder aanraakfunctionaliteit aangesloten (of het Adafruit-scherm waarvan we ontdekken dat de aanraakfunctionaliteit wordt ondersteund), sluit dan een muis aan.

In het volgende scherm druk je op Accept om te bevestigen dat je dit project niet commercieel gebruikt. Daarna kies je je taal (ook Nederlands staat erbij), je tijdzone (Amsterdam) en stel je de huidige datum en tijd in.

Na een druk op Volgende kies je een wifi-netwerk en voer je je wachtwoord in. Na nog een keer Volgende vink je aan of apps toegang tot je locatie mogen krijgen en of je diagnostische gegevens naar de makers van LineageOS wilt sturen om te helpen met de ontwikkeling. Daarna kun je ook een pincode of wachtwoord kiezen, of je slaat die stap over als je dat niet belangrijk vindt. Klik tot slot op Start om Android te gaan gebruiken.

©PXimport

Beperkingen van een Raspberry Pi

Android is uiteraard niet ontwikkeld voor een Raspberry Pi, dus je loopt dan wel tegen wat beperkingen aan. Zo zijn er geen geoptimaliseerde drivers, decoders en encoders voor video, waardoor alles wat traag aanvoelt. En heel wat zaken die bij een smartphone of tablet al ingebouwd zijn, dien je op een Raspberry Pi nog extra aan te sluiten: een audioapparaat, camera, gps, infraroodzender en realtime klok bijvoorbeeld. Deze zijn overigens allemaal ondersteund in LineageOS op de Raspberry Pi, maar je moet ze uiteraard zelf aansluiten. De Raspberry Pi heeft zelfs geen aan-uitknop. Wil je die aansluiten om bijvoorbeeld gemakkelijker te herstarten, sluit dan een knop aan tussen gpio-pin 21 en GND en voer in een terminal deze opdrachten uit om de ondersteuning te installeren: su rpi4-powerbutton.sh

©PXimport

04 Android rooten

De Android-omgeving die je nu te zien krijgt, is vrij kaal. De basis-apps zoals een agenda, browser, contacten, bestandsbeheerder, e-mail, galerij, klok, muziek-app en opname-app zijn van de partij, maar dat is het al bijna. In totaal zijn er vijftien apps geïnstalleerd. Loop zeker ook eens door de instellingen.

Dit systeem is uiteraard te beperkt om mee te werken. Om extra apps te kunnen installeren, moeten we roottoegang inschakelen in Android. Druk daarvoor eerst helemaal onderaan in de instellingen op Over tablet en druk dan zeven keer op Build-nummer om de ontwikkelaarsopties vrij te geven.

Ga daarna in de instellingen naar Systeem / Geavanceerd / Ontwikkelaarsopties en schakel Root access in. Schakel iets daaronder ook Lokale terminal in. Daarna verschijnt de app Terminal bij je apps. Hierin kun je allerlei opdrachten invoeren voor het Android-systeem. Voor sommige opdrachten heb je rootrechten nodig: daarvoor dien je eerst su in te typen, waarna je als root ingelogd bent in de terminal en daarna de opdracht zelf.

©PXimport

05 Open GApps

Waarschijnlijk wil je gewoon de apps van Google draaien op je Raspberry Pi met Android. Dat kan, maar vereist nog wat extra stappen. Bezoek eerst in de browser op Android deze website en selecteer daar als platform ARM, als Android-versie 10.0 en als variant pico. Dit is de minimale variant die je nodig hebt om Google Play te draaien. Download dit pakket dan, het is zo’n 90 MB groot.

Download daarna op je Raspberry Pi ook het zip-bestand lineage-xx.x-rpi-recovery2boot.zipvan KonstaKANG, dat we later nodig hebben om uit de recoverymodus te raken. Om het bestand te kunnen downloaden, schakel je wel eerst in de browser de weergave van de website om naar desktopmodus (via de drie puntjes rechts van de adresbalk).

Zodra je beide zip-bestanden hebt gedownload, open je een terminalvenster en voer je deze commando’s uit:

su

rpi4-recovery.sh

reboot

De eerste opdracht om als rootgebruiker te werken, de tweede om de micro-sd-kaart over te schakelen zodat die niet meer LineageOS opstart, maar de recoveryfirmware TWRP. Met de derde opdracht herstart je de Raspberry Pi.

©PXimport

06 Recoverymodus

Je Raspberry Pi toont nu het opstartscherm van TWRP. Veeg de knop rechts onderaan naar rechts om aanpassingen aan het systeem toe te staan. Kies dan Install, navigeer links naar de map Download en druk op het zip-bestand van Open GApps. Vink Reboot after installation is complete aan en veeg de knop rechts onderaan naar rechts om het bestand te flashen.

Je zult merken dat je na de reboot weer in de recoverymodus komt. Kies in het menu nu eerst Wipe en veeg de knop rechts onderaan naar rechts voor een herstel naar de (in dit geval fictieve) fabrieksinstellingen. Kies Install en selecteer het zip-bestand lineage-xx.x-rpi-recovery2boot.zip en vink Reboot after installation is complete weer aan voordat je het bestand flasht. Na de volgende reboot start LineageOS weer op.

©PXimport

07 Google Play

Omdat je via Open GApps nu Google Play hebt geïnstalleerd en een factory reset hebt uitgevoerd, moet je opnieuw je taal te kiezen en de wifi-toegang configureren. Je krijgt de vraag of je je apps, foto’s, contacten en Google-account wilt overzetten. Daarna log je in met je Gmail-account. Nadat je alle stappen hebt doorlopen om je Android-apparaat gebruiksklaar te maken, druk je weer op Start en zie je weer dezelfde kale Android-omgeving, maar deze keer met een extra app: Google Play.

In Google Play kun je zoals je gewend bent allerlei Android-apps installeren. Overigens zullen niet alle apps even goed werken (zie ook het kader ‘Nog niet helemaal gebruiksklaar’ aan het einde van dit artikel). De meest voorkomende problemen zijn de resolutie en oriëntatie van het scherm: veel apps verwachten echt een smartphonescherm in portretmodus. Sommige apps crashen ook onverwacht en Google Play laat soms het hele besturingssysteem herstarten.

©PXimport

Geen aanraakscherm?

Android is ontworpen voor een aanraakscherm en dat geeft dan ook de optimale gebruikerservaring. Gebruik je geen aanraakscherm met je Raspberry Pi, dan is het wat aanpassen. Je zult dan minstens een muis moeten aansluiten om te kunnen klikken. Via het softkeyboard op het scherm kun je ook letters typen of je sluit een gewoon toetsenbord aan. Het voordeel van een toetsenbord is dat je met diverse toetsen de knoppen van een smartphone kunt simuleren: F1 = Home, F2 = Terug, F3 = Multitasking, F4 = Menu, F5 = Power, F11 = Volume omlaag en F12 = Volume omhoog.

08 Infobord

Als je even met Android op de Raspberry Pi speelt, zul je merken dat dit besturingssysteem het meest tot zijn recht komt als je de Raspberry Pi als een soort interactief infobord gebruikt. Laat er bijvoorbeeld je agenda op weergeven of gebruik de ingebouwde klok-app als timer voor tijdens het koken. Of wat dacht je van de app van NS om de vertrektijden van de treinen te tonen? Of gebruik de browser om bijvoorbeeld via je Raspberry Pi toegang te krijgen tot de webinterface van je domoticasysteem, zoals Home Assistant. Zo maak je heel eenvoudig van je Raspberry Pi een webkiosk, die daarnaast toch ongelooflijk flexibel is omdat je allerlei Android-apps kunt draaien.

©PXimport

09 Portretmodus

Tot nu toe hebben we het scherm altijd in landschapsmodus gebruikt, omdat dat voor een infobord nu eenmaal de handigste oriëntatie is. Maar veel apps zijn ontworpen voor de portretmodus van een smartphone. Wil je toch je scherm in portretmodus instellen, dan dien je weer een configuratiebestand in de bootpartitie aan te passen. Schakel de Raspberry Pi dus uit. Als je geen aan-uitknop hebt en nog altijd rootrechten hebt, kan dat door deze commando’s in de terminal te typen:

su

reboot -p

De -p van ‘power off’.

Steek de micro-sd-kaart dan in je computer en open het bestand config.txt in de bootpartitie. Voeg daar de volgende regel aan toe om het scherm 90 graden te draaien:

display_lcd_rotate=1

En zoek dan naar de volgende regel voor de aanraakfunctionaliteit:

dtoverlay=rpi-ft5406

En vervang die door:

dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1

Sla je wijzigingen op en ontkoppel de micro-sd-kaart. Als je deze weer in je Raspberry Pi steekt en die opstart, toont Android zijn interface in portretmodus. Apps zoals die van de NS zijn nu veel handiger om te gebruiken.

10 Android TV installeren

Voor de Raspberry Pi 4 heeft KonstaKANG ook een image waarmee je van je Raspberry Pi een Android TV-apparaat maakt. Dat is handig als je je Raspberry Pi op een groter scherm wilt aansluiten, zoals het tv-scherm in je woonkamer, maar toch graag de vertrouwde interface van Android wilt.

Download de nieuwste versie van de Android TV-editie van LineageOS voor de Raspberry Pi 4. Op het moment van schrijven was dat LineageOS 17.1 (wat overeenkomt met Android 10). Mogelijk is er wanneer je dit leest al een nieuwere versie. Schrijf deze naar een micro-sd-kaart van minstens 8 GB groot en start daar je Raspberry Pi van op, nadat je die op je scherm hebt aangesloten.

Omdat je tv-scherm hoogstwaarschijnlijk geen aanraakscherm is, heb je uiteraard nog invoerapparatuur nodig. Een draadloos toetsenbord en muis zijn dan handig. Een andere optie is een zogenoemde airmouse: een minitoetsenbord met ingebouwde trackpad om draadloos vanaf de bank je Android-tv aan te sturen.

©PXimport

11 En verder

Voor de rest werkt de Android TV-editie op de Raspberry Pi bijna hetzelfde als de normale Android-editie. Je dient ook hier weer je apparaat te rooten, Open GApps via de recoverymodus te installeren en daarna kun je via de Play Store allerlei apps installeren. De landschapsinterface van Android TV met zijn grote icoontjes komt beter op zijn recht op een grote tv.

Maar ook hier loop je tegen wat beperkingen aan. Omdat de Raspberry Pi niet is gecertificeerd als Android TV-apparaat, is de Chromecast-functionaliteit niet ondersteund. Je kunt dus helaas geen video’s van je smartphone naar je slimme tv casten. Ook de officiële app Android TV Remote Control om je Android-telefoon als afstandsbediening voor je Android TV-apparaat te gebruiken, is niet ondersteund. Maar al met al zijn Android en Android TV op je Raspberry Pi interessante besturingssystemen voor heel wat toepassingen.

©PXimport

Nog niet helemaal gebruiksklaar

Verwacht van Android op je Raspberry Pi niet hetzelfde gebruiksgemak als op je smartphone of tablet. De Raspberry Pi is immers geen kant-en-klaar consumentenapparaat, maar een ontwikkelbordje. De versie van LineageOS die KonstaKANG heeft gemaakt voor de Raspberry Pi, is ook geen officiële LineageOS-versie. Bovendien geeft hij zelf aan dat het experimenteel is en alleen bedoeld voor geavanceerde gebruikers. Verder werken er nog enkele zaken niet, zoals de meegeleverde camera-app (hoewel heel wat andere camera-apps wel werken) en sommige games die vreemde kleuren weergeven. We ontdekten zelf al dat sommige apps zoals TeamViewer Host of alpha vnc lite niet goed werken met de niet-standaardafmetingen van het scherm en de landschapsmodus: ze tonen zich dan alleen op een smalle strook in het midden van het scherm. En de eerste keer dat we een app openen na de installatie, herstart de Raspberry Pi elke keer, merkten we. Kortom, Android op de Raspberry Pi is duidelijk nog werk in uitvoering.

▼ Volgende artikel
Slachtoffers Odido-datalek hebben geen automatisch recht op compensatie
Huis

Slachtoffers Odido-datalek hebben geen automatisch recht op compensatie

Telecombedrijf Odido laat weten dat mensen geen automatisch recht op compensatie hebben nadat hun gegevens via een datalek afgelopen week op straat zijn gekomen.

In het weekend van 7 en 8 februari vond een cyberaanval plaats op de website van Odido, waarbij criminelen toegang kregen tot een klantcontactsysteem. De criminelen hebben een bestand kunnen downloaden met daarop gegevens van klanten. Het zou om gegevens van mogelijk 6,2 miljoen klanten kunnen gaan.

Onder de gegevens die zijn gestolen, vallen mogelijk de volledige naam, het adres en de klantnummers van klanten. Ook de mobiele nummers, IBAN-rekeningnummers, geboortedata, e-mailadressen en identificatiegegevens (waaronder rijbewijs- en paspoortnummers) kunnen zijn buitgemaakt.

Odido benadrukte kort na het lek dat er geen scans van identiteitsbewijzen zijn gelekt, noch wachtwoorden, factuurgegevens of belgegeven. Mensen kunnen daarbij gebruik blijven maken van de diensten van Odido, maar er wordt wel aangeraden dat klanten alert zijn op vreemde sms'jes of e-mails, zeker als daar links in staan.

Geen automatisch recht op compensatie

Op een speciale pagina met informatie over het datalek heeft Odido inmiddels meer informatie gegeven over het lek en diverse vragen beantwoord. Er staat ook een vraag en antwoord bij over mogelijke compensatie voor klanten wanneer data van de klant is gelekt.

Odido schrijft: "Een datalek geeft niet automatisch recht op compensatie. Onze inspanningen zijn er momenteel op gericht om juist te voorkomen dat klanten op enige manier schade zouden ondervinden als gevolg van dit incident. We hebben klanten proactief geïnformeerd zodat zij extra alert kunnen zijn op eventueel verdachte signalen. Dit is in lijn met het advies van het Centraal Meldpunt Identiteitsfraude (CMI) van de Rijksoverheid."

Het antwoord vervolgt: "Het CMI benadrukt bovendien dat niet automatisch sprake is van identiteitsfraude of dat met de gestolen gegevens identiteitsfraude kan worden gepleegd. Ook meldt het CMI dat met de betrokken gegevens niet zomaar een lening, bankrekening of telefoonabonnement kan worden afgesloten. Ook kan er geen nieuw identiteitsbewijs mee worden aangevraagd. Daarvoor zijn immers extra controles nodig, zoals een echt identiteitsbewijs, je DigiD of de inloggegevens van je bank."

Op de website staat nog een vraag over compensatie, met daarbij nadrukkelijk vermeld dat sommige 'cybersecurity-experts' claimen dat men recht heeft op compensatie. Ook daarop wordt gemeld dat "een datalek geen automatisch recht op compensatie geeft".

▼ Volgende artikel
Streamtips: nieuwe films en series –The Night Agent en 56 Days
Huis

Streamtips: nieuwe films en series –The Night Agent en 56 Days

De streamingdiensten staan weer vol met nieuwe releases. Geen stress, wij hebben het kaf van het koren gescheiden. Zo weet je precies welke films en series je deze week niet mag missen.

Prometheus | Netflix | 16 februari

Prometheus, regisseur Ridley Scotts Alien-prequel, speelt zich af in de late 21e eeuw. Een team van wetenschappers onder leiding van Dr. Elizabeth Shaw (Noomi Rapace) reist af naar een planeet waar zich mogelijk de stichters van het menselijk ras bevinden. Uiteraard heeft hun uitstapje rampzalige gevolgen. Prometheus heeft nooit zo’n beklemmende, bloedstollende sfeer als Alien, maar is zeker spannend genoeg om je aandacht vast te houden en is bovendien echt een plaatje om naar te kijken.

56 Days (seizoen 1) | Amazon Prime Video | 18 februari

In de gloednieuwe thrillerserie 56 days kruipen Dove Cameron en Avan Jogia in de huid van Ciara Wyse en Oliver Kennedy, twee mensen die een passievolle relatie beginnen nadat ze elkaar in de supermarkt hebben ontmoet. 56 dagen na hun ontmoeting, wordt er een onherkenbaar lichaam ontdekt en vreest de politie dat hun turbulente liefdesverhaal is uitgemond in moord. Hoe dieper ze in de zaak duiken, hoe meer grimmige geheimen worden onthuld.

Watch on YouTube

The Night Agent (seizoen 3) | Netflix | 19 februari

Het derde seizoen van The Night Agent (niet te verwarren met The Night Manager, te zien op Amazon Prime Video) is vanaf deze donderdag te zien op Netflix. The Night Agent is gebaseerd op het gelijknamige boek van Matthew Quirk en volgt FBI-agent Peter Sutherland (Gabriel Basso). Tijdens zijn nachtdienst krijgt hij een telefoontje waarmee hij in een gevaarlijke samenzwering rond een mol in het Witte Huis belandt. Hij stort zich in een jacht op de verrader, terwijl hij voormalig tech-CEO Rose Larkin (Luciane Buchanan) beschermt tegen de mensen die haar oom en tante hebben vermoord.

Watch on YouTube

Once Upon a Time in the West | Netflix | 20 februari

Een van de beste westerns ooit gemaakt, Once Upon a Time in the West, verschijnt deze vrijdag op Netflix. Deze klassieker van regisseur Sergio Leone begint op een treinstation in het stadje Flagstone, waar een mysterieuze man met een mondharmonica (Charles Bronson) heeft afgesproken met de huurling Frank (Henry Fonda). Frank is echter nergens te bekennen en heeft drie handlangers gestuurd die ‘Harmonica’ opwachten. Geen van de drie komt levend uit de confrontatie en Harmonica raakt verwikkeld in de machtsstrijd rondom de meedogenloze opmars van de spoorwegen en outlaws. Once Upon a Time in the West is vanwege zijn trage, sfeervolle stijl en iconische muziek van Ennio Morricone absoluut het kijken waard voor elke filmliefhebber.

Watch on YouTube

The Addams Family | Netflix | 20 februari

The Addams Family is gebaseerd op de strip van Charles Addams en volgt de bizarre titulaire Addams-familie: Gomez, Morticia, hun kinderen Pugsley en Wednesday, Uncle Fester, Grandma Addams, hun butler Lurch en de lopende hand Thing. Deze animatiefilm uit 2019 richt zich vooral op de twee kinderen, terwijl zij zoeken naar een manier om zichzelf te zijn. Gomez bereidt Pugsley voor op de "Sabre Mazurka", een zwaardvechtceremonie die elke Addams moet ondergaan, maar hij bakt er niks van. Ondertussen is Wednesday benieuwd naar de andere meisjes van haar leeftijd en begint ze, tot de schrik van haar moeder, zelfs kleur te dragen. Deze versie van The Addams Family bereikt niet de hoogtes van de live-action verfilming uit de jaren negentig, maar is toch vermakelijk om naar te kijken.