Zo draai je Android op je Raspberry Pi

© PXimport

Zo draai je Android op je Raspberry Pi

Geplaatst: 31 augustus 2022 - 09:37

Aangepast: 25 november 2022 - 11:47

Koen Vervloesem

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.

Zo draai je Android op je Raspberry Pi-18817609

© 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.

Zo draai je Android op je Raspberry Pi-18817610

© 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.

Zo draai je Android op je Raspberry Pi-18817611

© PXimport

Beperkingen van een Raspberry Pi

Zo draai je Android op je Raspberry Pi-18817612

© 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.

Zo draai je Android op je Raspberry Pi-18817613

© 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.

Zo draai je Android op je Raspberry Pi-18817614

© 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.

Zo draai je Android op je Raspberry Pi-18817615

© 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.

Zo draai je Android op je Raspberry Pi-18817618

© PXimport

Geen aanraakscherm?

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.

Zo draai je Android op je Raspberry Pi-18817620

© 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.

Zo draai je Android op je Raspberry Pi-18817622

© 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.

Zo draai je Android op je Raspberry Pi-18817623

© PXimport

Nog niet helemaal gebruiksklaar

Deel dit artikel
Voeg toe aan favorieten
ID.nl logo

ID.nl, onderdeel van Reshift BV, is in 2022 gestart en uitgegroeid tot de meest toonaangevende en complete consumentensite van Nederland. Het doel van ID.nl is om de consument te helpen met alle technologie die hoort bij het dagelijks leven: van smart-health-meters tot e-bikes, van warmtepompen tot zonnepanelen - en alles daar tussenin!

Duidelijk, betrouwbaar en onafhankelijk: ID.nl maakt moeilijke dingen makkelijk.

Contact

ID.nl

Nijverheidsweg 18

2031 CP Haarlem

info@id.nl

Telefoon: 023-5430000