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
SpaceX van Elon Musk koopt xAI voor 250 miljard dollar
© SpaceX
Huis

SpaceX van Elon Musk koopt xAI voor 250 miljard dollar

SpaceX heeft voor 250 miljard dollar xAI, het bedrijf achter X (voorheen Twitter) en ai-assistent Grok, gekocht.

SpaceX is het ruimtevaartbedrijf van Elon Musk. xAI was voorheen ook in handen van Musk, maar nu zullen beide bedrijven dus gecombineerd worden. Er wordt 250 miljard dollar in eigen aandelen betaald. Daarmee wordt de waarde van SpaceX nu geschat op ongeveer 1,25 biljoen dollar.

De reden van de overname van een bedrijf van Musk door een ander bedrijf van Musk, is dat men binnen twee tot drie jaar datacenters in de ruimte kan bouwen. Zo schrijft hij in een persbericht: "De huidige ontwikkelingen in AI hangen af van grote datacentra op aarde, wat enorm voor elektriciteit en koeling vereist."

Hij vervolgt: "Er kan niet voldoen worden de wereldwijde vraag naar elektriciteit voor AI op aarde - niet eens op de korte termijn - zonder dat gemeenschappen en het milieu belast worden. Op de lange termijn is AI in de ruimte de enige manier om op te schalen."

De overname wordt dus vooral gedaan om de ruimtevaartplannen van SpaceX te combineren met de AI-plannen van xAI. Het is niet bekend of dit merkbare gevolgen gaat hebben voor X of Grok. Musk kocht een paar jaar geleden Twitter op en hernoemde het socialmediaplatform naar X.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Nieuwe 'strikte accountinstellingen' in WhatsApp: dit doen ze en zo zet je ze (eventueel) aan
© WhatsApp
Huis

Nieuwe 'strikte accountinstellingen' in WhatsApp: dit doen ze en zo zet je ze (eventueel) aan

WhatsApp introduceert een nieuwe beveiligingsstand: strikte accountinstellingen. Met één schakelaar zet je de strengste privacy- en veiligheidsopties tegelijk aan. De functie is vooral bedoeld voor gebruikers die meer risico lopen op gerichte aanvallen, zoals journalisten, politici of activisten. Hier lees je wat de nieuwe instellingen doen en hoe je ze aanzet, als je denkt dat dat voor jou nodig is.

In dit artikel

We laten zien wat strikte accountinstellingen precies doen, welke functies WhatsApp dan meteen aanscherpt en wat dat merkbaar verandert in je chats en oproepen. Ook lees je waar je het kunt aanzetten.

Lees ook: WhatsApp voegt live foto's, AI-thema's en slimme zoekfunctie toe

De nieuwe stand werkt als een soort 'lockdownmodus'. Zodra je hem inschakelt, zet WhatsApp meerdere instellingen vast op de strengste stand. Daarmee wordt het moeilijker voor onbekenden om via WhatsApp contact met je te leggen of schadelijke bestanden te sturen. In ruil daarvoor wordt de app wat minder soepel in het gebruik, vooral richting mensen buiten je contactenlijst.

Niet voor iedereen nodig

Volgens WhatsApp zijn de meeste gebruikers al goed beschermd met standaardprivacy-instellingen en tweestapsverificatie. De strikte modus is bedoeld voor situaties waarin je extra voorzichtig wilt zijn, bijvoorbeeld tijdens werk met gevoelige informatie of in landen waar digitale aanvallen vaker voorkomen.

Wie de stand inschakelt, sluit als het ware alle extra sloten op zijn digitale voordeur. Handig als je tijdelijk of structureel een groter risico loopt.

Wat er gebeurt

De functie grijpt in op verschillende onderdelen van de app. Tweestapsverificatie en beveiligingsmeldingen worden automatisch geactiveerd en vastgezet. Berichten, bijlagen en media van onbekende afzenders worden geblokkeerd, en linkvoorbeelden verdwijnen uit chats. Ook oproepen van onbekende nummers worden standaard gedempt, waarbij je IP-adres verborgen blijft.

Daarnaast kunnen alleen contacten - of een door jou gekozen lijst - je toevoegen aan groepen of je profielinformatie bekijken. Zo voorkom je dat buitenstaanders eenvoudig meer over je te weten komen.

OnderdeelWat er gebeurt
AccountbeveiligingVerificatie in twee stappen wordt automatisch ingeschakeld. Beveiligingsmeldingen staan vast aan. End-to-end versleutelde back-ups worden aanbevolen voor gebruikers die back-ups gebruiken.
Berichten en mediaBijlagen en media van onbekende afzenders worden geblokkeerd. Linkvoorbeelden zijn uitgeschakeld. Grote hoeveelheden berichten van onbekende accounts worden automatisch beperkt.
OproepenOproepen van onbekende nummers worden gedempt. Tijdens gesprekken wordt je IP-adres verborgen.
Profiel en aanwezigheidJe 'Laatst gezien', online-status, profielfoto, info en profiel­links zijn alleen zichtbaar voor contacten of een door jou gekozen lijst.
GroepenAlleen contacten of een vooraf ingestelde lijst kunnen je toevoegen aan groepen.

Inschakelen en beschikbaarheid

De nieuwe stand is te vinden via Instellingen > Privacy > Geavanceerd > Strikte accountinstellingen. WhatsApp rolt de optie in de komende weken gefaseerd uit. De instelling is alleen beschikbaar op je smartphone of je Mac; via WhatsApp Web of WhatsApp Windows kun je hem niet aanpassen. Zodra de stand actief is, zie je precies welke onderdelen zijn vergrendeld.

View post on TikTok

Extra beveiliging in de achtergrond

WhatsApp meldt dat het daarnaast steeds meer onderdelen van de app herschrijft in Rust, een programmeertaal die bekendstaat om zijn sterke geheugenbeveiliging. Daarmee moeten kwetsbaarheden in de verwerking van media en berichten lastiger te misbruiken zijn door spyware of andere aanvallen.

Wat is Rust?

Rust is een moderne programmeertaal die voorkomt dat software fouten maakt in het omgaan met computergeheugen. Zulke fouten kunnen leiden tot beveiligingslekken. Door delen van WhatsApp in Rust te schrijven, verkleint Meta de kans op dit soort kwetsbaarheden.

Even ontspannen tussen het beveiligen door?

🕵Spionagethrillers