Ada empat cara yang umum saya gunakan untuk membuat python script dieksekusi langsung pada waktu Raspberry Pi booting.
Cara pertama adalah dengan menggunakan profile
Misal jika file python saya bernama led.py disimpan di /home/pi maka ketikkan perintah berikut pada terminal
sudo nano /etc/profile

Ketikkan python /home/pi/led.py & di baris pertama sebelum profile diload. Tutup nano dengan Ctrl-X dan tekan Y. Tanda “&” menjadi penting karena membuat script dijalankan dibackground. Jika tidak maka akan sedikit menganggu. Gangguan bisa berupa, profile tidak bisa di load sehingga kita terhambat untuk masuk ke dalam command line prompt atau tidak bisa masuk ke Desktop.
Cara kedua dengan menggunakan crontab
Ada dua pendekatan yang saya lakukan dengan crontab. Pertama, jika semua script yang saya tulis tidak memiliki dependensi dengan file lain, maka saya langsung memanggil file python dari dalam crontab. Buka crontab dengan perintah
sudo crontab -e
lalu tuliskan perintah dibawah ini dibaris paling akhir dari crontab
@reboot /home/pi/led.py &
Tapi apabila script yang ditulis memiliki dependensi dengan file lain yang ada disatu folder maka saya terlebih dahulu membuat bash script.
1. Buat bash script misalnya launcher.sh dengan editor nano
nano launcher.sh
2. ketikan baris berikut ini. Tanda “&” membuat script dijalankan dibackground dan tidak menghalangi proses boot. Setelah selesai tekan Ctrl -X, Y.
#!bin/sh cd / cd /home/pi/ python led.py & cd /
3. Kita rubah file permission dan membuatnya executable
chmod 775 launcher.sh
4. Untuk mencobanya, jalankan saja. Jika berhasil, maka program led.py akan dijalankan.
sh launcher.sh
5. Sekarang kita lenambahkan launcher.sh kedalam crontab. crontab adalah daemon yang berjalan dibackground yang mengeksekusi perintah dalam waktu yang spesifik.
sudo crontab -e
Untuk pertama kali, kita akan diminta memilih editor mana yang akan digunakan. Pilih 2, untuk menggunakan NANO karena paling mudah. Setelah terbuka, ketikkan perintah ini dibaris paling akhir dari crontab.
@reboot sh /home/pi/launcher.sh
Tekan Ctrl-X dan Y untuk save dan exit.
Setelah itu lakukan reboot dan lihat hasilnya.

Cara ketiga dengan menggunakan local service rc.local
Cara ini dilakukan dengan cara menambahkan baris script di rc.local sebelum exit 0.
sudo nano /etc/rc.local/
Cara keempat adalah start python script saat masuk ke LX Desktop dan mengeksekusinya melalui terminal
sudo nano ~/.config/lxsession/LXDE-pi/autostart
tambahkan baris di baris paling bawah seperti gambar berikut ini.
Source:
Crontab: http://www.instructables.com/id/Raspberry-Pi-Launch-Python-script-on-startup/
May 31, 2017 10:19 am
mas,.mau tanya ini cuma sekali buka terminal buat setting ini semua? setelah itu tanpa remote atau putty kan buat akses ke desktop lagi tinggal colok power.a raspberry dan langsung jalan program.a
? apa gmn?
June 4, 2017 8:36 am
ya benar… sekali aja setting pake terminal lalu setiap kali reboot maka python akan di execute
January 9, 2019 4:01 pm
maaf mas kalo boleh jujur belum bisa membantu hehehe , saya yang berhasil di cara nomor 2 tapi tetep aja ketika reboot programnya mati lagi
January 9, 2019 11:09 pm
Halo Mas, Krn saya tdk tahu apa yg dijalankan dg crontab, apa sdh debug. Misal, bikin file .py sederhana dan jgn lupa ditambah handler
#!/usr/bin/env python
January 9, 2019 4:29 pm
mungkin untuk cara save scriptnya setelah ctrl+X, Y lalu di tambah enter mas , jadi saya baru sadar kalau itu belum di save. jadi seperti save as , kemudian untuk pembuatan bash script saya tersimpan dengan format launcher.sh.save mas , tadi sempat kesulitan juga tetapi sudah bisa mas hehehe. terimakasih artikel yang sangat membantu
January 9, 2019 11:37 pm
Kalau pakai nano bisa dg ctrl X lalu Y. Atau Ctrl O, dan Ctrl X utk keluar. Syukurlah sdh berhasil. Mohon artikelnya disebarkan utk membantu yg lain.
April 9, 2019 2:32 pm
halo mas, biar supaya aplikasi run ketika boot sama persis kayak kalo kita run dengan perintah “python script.py+ENTER” itu gmn ya
saya coba ikutin kok background terus, kebetulan saya buat aplikasi yg ada membaca rfid, rfid yg saya gunakan yg ada dipasaran dengan usb, jadi ga worked kalo aplikasi run di background, mesti di ambil melalui input()
April 9, 2019 9:10 pm
cara2 itu bisa. kalau boleh, bisa share codenya? taruh aja di pastebin
May 21, 2019 1:04 pm
sorre
mohon maaf mau tanya
abis nyoba cara pertama kok raspbianya black screen ya, tapi prgramnya jalan
May 22, 2019 7:28 pm
black screen tp programnya jalan, maksudnya seperti apa ya?
June 30, 2020 5:41 pm
Terima kasih infonya mas Andi, saya coba pake cara yang kedua tapi dengan cara berbeda. tambahkan di crontab -e , saya jalanin script python langsung setiap 1 menit jalanin perintah python tersebut.,
contoh :
*/1 * * * * sudo python3 /home/myscript.py
semoga bermanfaat.