Raspberry Pi is een kleine, kosteneffectieve computer die in vele soorten en maten verkrijgbaar is en een geheel mogelijk maakt tal van toepassingen, variërend van zoiets eenvoudigs als leren coderen tot complexe domotica projecten; het toepassingsgebied is grenzeloos.
Een van de vele features die de Raspberry Pi zo veelzijdig maken, is dat hij allerlei soorten programma's kan draaien, net als een gewone computer. In feite, niet alleen dat, u kunt zelfs uw eigen scripts schrijven - voor elk doel dat u in gedachten heeft - en ze op de Pi uitvoeren.
Waarom zou u bij het opstarten een programma willen uitvoeren?
Hoewel de Raspberry Pi in staat is om allerlei soorten programma's uit te voeren, moet u deze programma's toch elke keer dat u ze wilt uitvoeren handmatig uitvoeren. Deze aanpak brengt duidelijk een extra stap met zich mee. En hoewel het niet veel ongemak oplevert, zijn er gevallen waarin u een programma nodig heeft om te worden uitgevoerd direct nadat de Raspberry Pi is opgestart.
Stel je bijvoorbeeld voor dat je je Raspberry Pi gebruikt om aandelenkoersen bij te houden: waarin je elke keer een script uitvoert dag waarop je Pi opstart, en het haalt informatie uit vooraf gedefinieerde bronnen en presenteert het aan een Scherm.
Hier moet u, ondanks het stroomlijnen van het proces van het volgen van aandelenkoersen, het script nog steeds elke dag uitvoeren. Dankzij automatisering is het echter mogelijk om de handmatige invoer uit de vergelijking te verwijderen door uw Pi het script automatisch bij het opstarten te laten uitvoeren.
Het is voor situaties als deze waarin u een programma bij het opstarten wilt uitvoeren.
Een programma uitvoeren bij het opstarten
Er zijn verschillende manieren om een programma bij het opstarten op Raspberry Pi uit te voeren. Voor deze gids leert u echter hoe u drie van deze effectieve en gemakkelijk te volgen methoden kunt gebruiken.
Opmerking: We hebben deze methoden gebruikt om onze Python-script, en je kunt het doen met al je scripts of zelfs de ingebouwde programma's op Raspberry Pi. Zorg ervoor dat u de juiste methode gebruikt om uw programma uit te voeren.
1. Gebruik het bestand rc.local
rc.local is een door het systeem beheerd bestand dat wordt uitgevoerd nadat alle systeemservices zijn gestart, d.w.z. na het overschakelen naar een multi-user run-niveau. Het is de gemakkelijkste methode om programma's bij het opstarten op Linux-systemen te laten draaien. Maar er is een voorbehoud: je kunt deze methode alleen gebruiken voor programma's zonder GUI-elementen (grafische gebruikersinterface), aangezien rc.local wordt uitgevoerd voordat het venstersysteem van Raspberry Pi start.
Lees verder: Wat is een GUI?
Om een programma zo in te stellen dat het bij het opstarten wordt uitgevoerd, moeten we het bestand rc.local wijzigen en er opdrachten aan toevoegen. Hier is hoe dat te doen.
- Open de terminal en typ de volgende opdracht om het bestand rc.local te openen: sudo nano /etc/rc.local.
- Voer in het bestand rc.local de volgende regel code in vóór de regel "exit 0": python3 /home/pi/PiCounter/display.py &.
- Hier, vervang PiCounter / display.py met uw programma- / scriptnaam. Zorg er ook voor dat u het absolute pad naar uw programma gebruikt en niet het relatieve pad. Merk op dat de opdracht eindigt met het en-teken (&).
- Dit om het systeem te informeren dat het programma dat we plannen continu wordt uitgevoerd, dus het moet niet wachten tot je script klaar is voordat de opstartprocedure wordt gestart. Houd er rekening mee dat als u geen ampersand toevoegt aan de opdracht, het script voor altijd wordt uitgevoerd en dat uw Pi nooit zal opstarten.
- Druk daarna op CTRL + O om het bestand op te slaan. Voer in de terminal in sudo opnieuw opstarten.
Zodra je Pi opstart, zou het je programma automatisch moeten starten. Als u, om wat voor reden dan ook, wilt voorkomen dat het programma wordt gestart tijdens het opstarten, moet u het bestand rc.local opnieuw bewerken om de regel die u zojuist hebt toegevoegd te verwijderen.
2. Gebruik Cron om een programma te plannen
Cron is een hulpprogramma voor configuratie en taakplanning op Unix-achtige systemen. Hiermee kunt u programma's plannen die u met vaste intervallen of periodiek wilt uitvoeren.
De functionaliteit van Cron is afhankelijk van de crond-daemon, een achtergrondservice die programma's uitvoert die in de crontab zijn gepland. Alle programma's die op het systeem zijn gepland, bevinden zich in de cron-jobtabel (of crontab).
U moet deze tabel dus aanpassen om een schema toe te voegen voor het programma dat u bij het opstarten wilt uitvoeren. Hier is hoe:
- Open de CLI op je Raspberry Pi en voer in crontab -e om de cron-jobtabel (crontab) te bewerken. Als je crontab voor het eerst opent, moet je een editor selecteren. U kunt uw favoriete editor kiezen of doorgaan met Nano. Voer in beide gevallen de naam van de editor in en druk op Enter.
- Om een vermelding in de cron-tabel te maken, voert u de volgende opdracht in: @reboot python3 /home/pi/PiCounter/display.py &. Zorg ervoor dat u in uw opdracht de programmanaam en het pad vervangt.
- druk op CTRL + O om de regel naar de crontab te schrijven.
- Type sudo opnieuw opstarten in de terminal om je Pi opnieuw op te starten.
Cron zou nu je programma moeten draaien elke keer dat je Pi opstart. Als u dit schema wilt stoppen, verwijdert u het commando in crontab.
3. Voer GUI-programma's uit bij het opstarten met Autostart
Autostart is de beste manier om GUI-gebaseerde Raspberry Pi-programma's bij het opstarten uit te voeren. Het werkt door ervoor te zorgen dat zowel het X Window-systeem als de LXDE-desktopomgeving beschikbaar zijn voordat het systeem een van de geplande programma's uitvoert.
Als je een script hebt dat in de venstermodus wordt uitgevoerd, of als je een van de GUI-gebaseerde programma's / applicaties wilt uitvoeren bij het opstarten op je Raspberry Pi, moet je plannen dat ze worden uitgevoerd met autostart. Hier zijn de stappen om dit te doen.
- Open eerst de terminal en voer de volgende opdracht in om een .desktop-bestand te maken in de autostart-directory: sudo nano /etc/xdg/autostart/display.desktop. We hebben display.desktop als bestandsnaam gebruikt, maar u kunt uw desktopbestand een naam geven die u maar wilt.
- Voeg in het .desktop-bestand de volgende regels code toe:
[Desktop-invoer]
Naam = PiCounter
Exec = / usr / bin / python3 /home/pi/PiCounter/display.py - Vervang in dit bestand de waarde voor de Naam veld met uw project- / scriptnaam. Op dezelfde manier hebben we ons display.py-programma toegevoegd dat elke keer dat de Raspberry Pi opstart wordt uitgevoerd.
- U kunt het echter vervangen door elk programma dat u wilt uitvoeren. U kunt zelfs plannen om een programma van derden uit te voeren, zoals de Chrome-browser; in dat geval moet het .desktop-bestand de volgende code bevatten:
[Desktop-invoer]
Naam = Chrome
Exec = chromium-browser - Druk daarna op CTRL + O om het bestand op te slaan, en voer dan in sudo opnieuw opstarten om de Pi opnieuw te starten.
Zodra je Pi opstart, zou je GUI-programma automatisch ook moeten starten. Als u wilt dat uw programma niet meer wordt uitgevoerd bij het opstarten, gaat u gewoon naar de map autostart en verwijdert u het .desktop-bestand dat u zojuist hebt gemaakt.
Met succes een programma uitvoeren bij het opstarten op Raspberry Pi
Hoewel er veel manieren zijn om een programma bij het opstarten op Linux-gebaseerde systemen uit te voeren, zouden de methoden die we in deze handleiding hebben genoemd, u moeten helpen bij het plannen van programma's op de Raspberry Pi.
Dus het maakt niet uit wat voor soort programma u wilt uitvoeren - een aangepast script of een toepassing van een derde partij - deze methoden zouden u moeten dekken. En u zou in staat moeten zijn om de extra stap die nodig is om het programma uit te voeren, elke keer dat u het wilt uitvoeren, te verminderen.
Wat uw Raspberry Pi-project ook is, er is een besturingssysteem voor. Dit zijn de beste Raspberry Pi-besturingssystemen!
Lees Volgende
- DIY
- Raspberry Pi
- Linux
- Python
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.